academic-harness
Manifest valid★ 1Academic Harness as a DeepSeek Harness (DSH) profile plugin: research persona, scientific skills catalogue, living lab notebook, and specialist subagents.
Academic Harness
A research workbench for DeepSeek Harness — literature and web discovery, verbatim paper memory, a writing oracle for LaTeX, systematic-review, meta-analysis, and reproducible-analysis ledgers, 774 bundled skills, and local self-improvement, all inside the DSH web UI.
Academic Harness is a DSH profile: it installs as a plugin, adds a preset with a research persona and academic tools, and keeps the general-purpose tools available on every preset.
Why Academic Harness
| Principle | What it means in practice |
|---|---|
| Evidence, not citation-shaped guesses | PaperMemory stores papers as content-addressed Markdown and anchors claims to exact quote spans. quote_check and trace verify a quotation before it becomes a citation; an empty cite means do not invent one. Read more |
| A writing oracle with a gate | The vendored ah_* engine inventories every number, citation, unit, and claim in a LaTeX tree. A turn closes only when it introduced no open blocker or major. Read more |
| Auditable research ledgers | Systematic reviews and hypothesis tournaments live in append-only logs under the workspace, so a resumed session sees the same protocol, screening decisions, and ratings. Reviews · Tournaments |
| Discovery across the real literature | OpenAlex, Semantic Scholar, PubMed/Europe PMC, arXiv, Crossref, DOAJ, publisher Crossref deposits, bioRxiv/medRxiv, INSPIRE, and keyed ADS/Scopus/Web of Science through one literature_search entry point, plus journal_search, paper_get, paper_context, paper_resolve, openalex_citations, database_catalog, domain_search, Consensus, Parallel, Firecrawl, Scite, CORE, Elicit, and FutureHouse. Read more |
| A lab notebook that survives context loss | A JSONL notebook shared across the delegation tree, a schema-validated scientific_result card, and deletion-only reply folding at five levels. Read more |
| One question, one bounded investigation | deep_research reads the request, sweeps the literature and a web lane, finds where the sources disagree, drafts, lets four critics attack the draft, and refuses to ship a report that cites a source it cannot support. Five syndicated copies of one release count as one voice. `effort=low |
| Local-first by design | Workspace search (zvec-grep), PaperMemory, TextFold, ledgers, and the RSI store stay on disk. No key is required to boot. Read more |
Install
Requires DeepSeek Harness 0.2.1–0.2.x (>=0.2.1-rc.5 <0.3.0, the range in package.json) and Linux (the only platform tested so far; see Requirements).
npm install -g @deepseek-ai/dsh
Then either:
A — from the DSH Web UI (recommended): open Plugins → Add plugin, paste github:raktim-mondol/academic-harness, click Install, and start a new chat.
B — a dedicated CLI profile:
dsh plugin --profile academic-harness add github:raktim-mondol/academic-harness
dsh --profile academic-harness
Confirm the preset selector at the top of the message box reads Academic Harness. The academic tools are preset-only; a session left on Standard/PTC will fail with tools[name] is not a function.
Full instructions, troubleshooting, and the "one DSH surface at a time" rule are in Install and run.
What is inside
| Surface | Highlights | Guide |
|---|---|---|
| Search and discovery | literature_search router, journal_search (OpenAlex/DOAJ/Crossref metrics plus optional CiteScore/JIF), paper_get (merged metadata + BibTeX), paper_context (focused sections/snippets), database_catalog, domain_search (bioRxiv/medRxiv, INSPIRE, ACL, ADS, Scopus, Web of Science, Wikidata), OpenAlex, Semantic Scholar, PubMed, arXiv, Crossref, DOAJ, publisher Crossref deposits, Consensus, Parallel, Firecrawl, Scite, Tavily, Exa, Perplexity, Jina, CORE, Elicit, FutureHouse | Search |
| Papers and evidence | paper_get, paper_download, paper_context, paper_fold, pdf_to_markdown, deep_review (multi-pass manuscript critique with anchored comments and reference verification, powered by open-deepreview), PaperMemory's 14 tools, reference_library (the native reference manager: BibTeX, BibLaTeX, RIS, and CSL-JSON in and out; imports Scopus and Web of Science RIS exports), integrity_check, Paper2Agent | Papers |
| Writing and citation | ah_* writing oracle and gate, citation (including DOI/arXiv/INSPIRE/title → BibTeX, batch audit, and repair that writes a new .bib), manuscript_citations, reporting_check (CONSORT/STROBE/PRISMA/ARRIVE/TRIPOD+AI/CARE/STARD), LaTeX, Supervisor-Skills paper lifecycle, scientific-figure-making, diagram-design, image_generate, mermaid_render (Pele) | Writing |
| Submission and communication | rebuttal review-point coverage and evidence-linked responses; submission_pack journal checklist and hashed bundle (never submits); journal_search match advisory venue fit with due-diligence signals; manuscript_diff revision artifacts and response-letter skeleton; numbers_audit numerical-reporting candidates; presentation_build posters and slides with a vision-QA checklist; authorship CRediT/ICMJE ledger | Writing |
| Reviews, synthesis, and hypotheses | review PRISMA-style ledger with dual-reviewer screening, structured extraction, risk-of-bias appraisal (RoB 2, ROBINS-I, QUADAS-2, Newcastle-Ottawa, AMSTAR 2, PROBAST, QUIPS, SYRCLE, CASP checklists), GRADE certainty and summary-of-findings tables, κ agreement, PRISMA flow and RoB exports; meta_analysis pairwise pooling, heterogeneity, subgroup/meta-regression, publication-bias diagnostics, and forest/funnel/SROC plots; coscientist Glicko-2 tournament, published-results feedback, cross-session priors, append-only limitation records with coverage, experiment traces fed back into evolution, evidence-bound champion selection, and grounded novelty via coscientist_verify | Research |
| Deep research | deep_research: a self-driving investigation on an append-only run ledger — frozen query, effort levels (low/medium/high) inferred from the request, scholarly sweep plus a web lane, contradiction graph, loci and depth notes, three drafts, four adversarial critics, capped-hunk repair, cite check against PaperMemory, independence clustering, untrusted-source fencing, and a ship gate that reports not_checked honestly | Research |
| Reproducible analysis and data | analysis_run frozen plans, hashed manifests, declared numbers, re-execution checks, and frozen-rule compliance; experiment_log staged subset/full comparisons with named reproduced or reported references, protocol drift, verdicts and Pareto ranking; ablation linked removal arms and attribution; dataset_get, data_profile, and repro_package with compliance exclusions and confirm-gated Zenodo drafts | Reproducible analysis |
| Provenance audit | provenance_audit read-only cross-ledger index: joins review, reporting, deep-review (claims, citation verdicts, validity flags), notebook, analysis (expectations, re-executions, compliance), experiment, ablation, dataset, meta-analysis, and AH claim sidecars by stored ids and hashes; coverage, unsupported (no_link/not_checked/unverified/stale/not_found/spec_drift/no_attribution/rerun_mismatch/verdict_missing), stale hashes, impact, the four-column arms readiness roll-up, the report-only rollup loop record with a reproduced-baseline gate and honest cost/time, and Markdown/CSV/JSON/GraphML/Mermaid exports | Provenance audit |
| Scientific data and toolkits | science_source (UniProt, RCSB PDB, AlphaFold DB, PubChem) with provenance on every record; local chem_toolkit (RDKit), seq_toolkit, and structure_toolkit that log hashed inputs | Scientific data |
| Discovery and reference checks | literature_watch saved searches with unseen-only digests, paper_recommend, citation_network (frozen OpenAlex sample, centrality and clusters), paper_artifacts link/accession extraction, citation batch audit | Discovery |
| Identity, funding, and audits | author_lookup (ORCID/ROR), openreview, grant_search, patent_search, stat_audit, figure_audit, repo_audit (including probe and method→code align), pdf_references (GROBID); advisory, never verdicts | Identity and audit tools |
| Study planning | power_analysis: sample size, power, effect sizes, multiplicity correction, simulation | Research |
| Study conduct, ethics, and grants | preregister hashed write-once plans; causal_dag identification diagnostics and E-values; design seeded randomization/DOE; ethics_protocol and deidentify for ethics and PHI/PII review; dmp funder-shaped data-management plans; grant_budget multi-year budgets with arithmetic checks. None submits or certifies compliance | Research |
| Clinical and policy records | clinicaltrials, openfda, dataset_search, journal_policy, funder_policy | Research |
| Workspace and notebook | zvec-grep semantic search, lab notebook, scientific_result, fold_text, research_template, sci_inspect | Workspace |
| Compute and delegation | runpod_run/modal_run/vastai_run, subagent with optional subagent_pro/subagent_vision routes, specialist briefs, agent-browser | Compute · Agents |
| Skills | 774 bundled skills: 140 domain, 16 methodology, 503 expert profiles, 23 drug-discovery, 12 Supervisor-Skills research-lifecycle skills, plus writing, figures, agents, and compute; pele renders Mermaid without a browser | Skills |
| Self-improvement | Local RSI: capture, diagnose, admit, inject, compare against control, promote or quarantine | RSI |
| Configuration | Settings → Academic Harness API keys; every credential is optional at install | Configuration |
Search tools
| Tool | What it does |
|---|---|
literature_search | One-shot multi-source router with RRF fusion and cross-provider dedupe |
journal_search | Venue discovery and metrics across OpenAlex, DOAJ, and Crossref; optional CiteScore/SJR/SNIP and JCR JIF/JCI |
paper_get | Merge one paper across OpenAlex, S2, Crossref, Europe PMC, and arXiv; OA URL and canonical BibTeX |
paper_context | Focus-ranked sections/snippets from S2, arXiv HTML, PMC BioC/PubTator3, optional publisher TDM, and OA PDF |
paper_resolve | Convert DOI/PMID/PMCID/arXiv/OpenAlex/S2 and source-specific INSPIRE/ACL/bibcode/Scopus/WoS/Wikidata identifiers |
openalex_search | OpenAlex works, authors, sources, and topics with filters, facets, and source metrics |
openalex_citations | Forward, backward, or both citation trails with an OpenCitations fallback |
s2_search | Semantic Scholar relevance, bulk, and paper-scoped snippet search |
pubmed_search | Europe PMC by default; NCBI E-utilities on request; preprint filter |
arxiv_search | Fielded arXiv queries, serialized to one request every 3 seconds |
crossref_lookup | Canonical DOI metadata; polite pool via CROSSREF_MAILTO |
domain_search | Source-specific bioRxiv/ACL/INSPIRE/ADS/Scopus/WoS/Wikidata actions |
database_catalog | Source/key/capability catalog; reports key fields only as configured/not set |
Free sources need no key. ADS, Scopus, Web of Science, Springer, IEEE, and publisher TDM tiers use their own keys and are implemented but intentionally not live-tested here. Web and AI-native discovery remains available through consensus_search, parallel_search/parallel_extract, brave_search, tavily_search, exa_search, perplexity_search, jina_read, core_search, elicit_search, and futurehouse_agent, plus the Parallel, Firecrawl, and Scite MCP connectors. See Search for routing and Configuration for the key fields.
The complete tool list, with scope and links, is the tool index. The architecture guide explains which tools are available on every preset and which are preset-only.
How a request works
Discovery finds candidate papers, paper_resolve collapses their identifiers, paper_get produces one merged metadata/BibTeX record, and integrity_check reports retraction status. A downloaded PDF is stored as content-addressed Markdown in PaperMemory, and a quotation must pass quote_check or trace before the agent treats it as evidence. The notebook records the work; scientific_result records the final finding.
Evidence-led research and revision
The ScientistTwo-inspired roadmap has implemented phases 0–10; maintenance continues. Its components support a human-directed, auditable workflow, not an unattended loop:
- Ground ideas:
coscientistrecords source-quoted limitations, prior-art checks, idea coverage, experiment traces, and an evidence-bound selection. - Test and attribute:
experiment_logdistinguishes reproduced from reported baselines and records subset/full stages, protocol drift and verdicts.analysis_runrecords reproducible runs and score checks;ablationlinks removal arms to evidence. - Review and revise:
deep_reviewpreserves rounds, compares changes and records evaluator provenance.rebuttaltracks reviewer points, linked evidence, answers and declines; a fresh review can check what changed. - Audit the record:
provenance_auditjoins existing ledgers, reports the four integrity columns and a read-onlyrollup, including missing evidence and unrecorded cost. Violations of frozen task rules are excluded from selection and reproducibility packages.
Readings and verdict records are advisory, not acceptance decisions. The roll-up does not execute experiments or promote an incumbent; not_checked is not a pass. The existing ah_check writing gate remains separate. See Research, Analysis, Writing, and Provenance.
Deep review
deep_review runs a full Deep-Review-style critique of one manuscript with the vendored
open-deepreview engine. The paper is segmented
and every segment is reviewed with the whole manuscript in context; comments are anchored to a page
or a quotation, and a scholar-peer pass adds strengths and weaknesses, a claim-evidence map, a
nine-item reproducibility checklist and questions for the authors. estimate prices a run before it
starts, review runs on the session model (no separate key or endpoint), show reads a stored
review back, and status marks it stale after the manuscript changes. Every pass is kept as a
numbered round, so reviewing again after a revision does not erase the first, and compare diffs
two rounds — findings closed, opened, or moved in severity, plus claim, checklist, and citation
transitions. validity reads a stored round against a deterministic count of the manuscript itself
and answers four advisory questions: whether a claimed gain has a removal arm behind it rather than
only generic training controls, whether a stated before-and-after change sits in the evaluation
harness rather than the model, how wide the results grid actually is, and whether a quality or
feasibility counter-metric is reported beside a speed or memory gain. Each answers clear,
flagged, or not_checked — a flag names an absence in the text, not a flaw in the work, and
not_checked is not a pass — with at most one critic model call on the session route and none with
critic: false. score adds four advisory dimension readings — soundness, originality, clarity and
significance — on a declared scale, each citing stored comment ids; it is one bounded model call,
never an acceptance decision or a gate. Rounds record whether the reviewer was held_out or
in_distribution, and Phase 0 can correlate stored scores with real decisions. Artifacts stay in
.dsh/deep-review/<key>/, and provenance_audit indexes the
claims stored there together with extra_checks.json (a flagged validity check appears as an
unverified claim; clear is not a claim).
Read more
Deep research
deep_research runs the investigation a literature question actually asks for, and keeps the
state a chat cannot. The request is frozen verbatim and re-read by every step, so a long run
cannot quietly drift onto a different question. It sweeps the literature through the existing
literature_search router and a web lane (Parallel, Exa, Tavily, Brave) for guidance documents,
registers, and reporting; finds where the sources contradict each other; picks the loci where
reading deeply would change the answer; drafts from three angles; then has four critics attack the
draft and repairs it with capped hunks — after synthesis the report cannot be regenerated, only
patched.
Two things it counts that a plain agent gets wrong. Voice, not copies: an independence
clustering pass groups DOI, exact and near titles, and identical bodies across hosts, so five
reprints of one press release argue with the weight of one source (distinct DOIs are never
merged). Verified, not plausible: every citation is checked against stored text in
PaperMemory, a quote nothing read is reported not_checked rather than passed, and an
unacknowledged retraction blocks the ship. Fetched pages arrive inside an
<untrusted-source> fence, so a page that tries to instruct the agent is read as content.
Scale is one knob — effort=low|medium|high — and it is inferred from the request when not given
("quickly" is low, "comprehensive systematic review" is high). A request that points both ways
returns needs_input with a question and creates nothing: no run, no model call. Runs are
resumable and budget-capped, so a crash continues at the step that died instead of restarting.
The pipeline shape — step-per-phase, the frozen canonical query, patch-only repair, the ship
gate, independence clustering, and untrusted-source fencing — is adapted from
hyperresearch (MIT); no upstream code is
vendored, and NOTICE records the attribution.
Read more
Documentation
Requirements and scope
- Tested on Linux only. The plugin, its runtime installs (PaperMemory, zvec-grep, TextFold), and the end-to-end browser tests have been run on Linux (Python 3.13, Node 24). macOS and Windows have not been tested and may not work; Python is needed for PaperMemory,
power_analysis, thesci_inspecthelpers, and the managed Modal SDK. - DSH 0.2.1–0.2.x. The plugin's bundle patches the web-app layer, so the profile must include
@deepseek-ai/dsh-web-app; the standardwebprofile does. - A preset check matters. The research persona, search connectors, PaperMemory, zvec-grep, paper tools, citation/review/tournament tools, and the
subagent_pro/subagent_visionroutes are scoped to the Academic Harness preset. Both routes inherit the session model unless you configure a provider/model. Only the general-purpose tools (notebook,fold_text,scientific_result,sci_inspect, images, LaTeX, PDF, Mermaid, compute, templates) are on every preset. - Keys are optional. No credential is needed to install or start; each connector stays disabled until its key is present. Some runtimes install in the background on first use — see Architecture.
- One DSH surface at a time.
dsh-web,dsh-tui,dsh-martty, andacademic-harnessshare$DSH_HOME, port3080, and the zvec-grep daemon. Stop the previous one before starting another; see Install.
Development
npm install # once, for the Settings page build
npm run build # after any client/ change
npm run docs:diagrams # regenerate the SVG figures from docs/diagrams/*.mmd
Server-side code is plain ESM JS with no build step. Tests are plain Node scripts; see Development for the full suite and the paper_fold live test.
License
MIT — see LICENSE. Scientific skills are vendored or adapted from several open-source catalogues; NOTICE records exactly what was copied, renamed, or adapted from each. The Supervisor-Skills bundle is mixed-license: six skills are CC BY 4.0, five are CC BY-NC-SA 4.0 (non-commercial, share-alike), and drawio-reconstruction is MIT; those terms apply to those skill files, not to the plugin as a whole.
Comments
Loading…