Preface¶
When using agents for genomic, bioinformatics, or health-related analysis, the common bottleneck is no longer “whether you can write scripts”, but whether the entire analysis process can leave traceable records. In a single conversation, you propose hypotheses, adjust parameters, run alignments, and generate a table. Once the conversation ends, how many times the hypothesis was revised, which commands correspond to the results, and whether the environment matches the original setup often only exist in the chat history. The next time you switch conversations or machines, reproducing the work becomes a matter of relying on memory.
The design slogan of DeepSeek Harness (dsh) is “Everything is a plugin”: models, tools, skills, and sessions can all be split into replaceable plugins. The community directory DeepSeek Harness Plugin Repository is an independent site not officially affiliated with DeepSeek / Fangchaohui, used for searching third-party extensions. dsh-science is one such skill plugin, bringing the “research loop + versioning toolchain” from Claude Science to dsh.
This article is collated after cross-checking with the plugin directory page, GitHub repository README / package.json / skill original text, and dsh-science@0.1.1 on npm: what it is, which command to install, and how to run your first session.
What It Is¶
dsh-science is a scientific workspace plugin for DeepSeek Harness. Its GitHub repository is biociao/dsh-science, maintained by biociao, under the MIT license. The directory page categorizes it under the “Skills” section; the current npm version is 0.1.1, requiring Node.js ≥ 18. As of August 17, 2026, the GitHub repo shows 15 stars (the directory page previously recorded 10, please refer to the repository page for the latest count).
It aims to solve the problem of having agents advance research according to a fixed protocol, rather than just “winging it” in conversations. The positioning of the repository README can be summarized into three parts:
- research_* tools drive the ReAct research loop, with state written to research-manifest.json
- artifact_* tools manage versioned artifacts with source traceability
- 10 built-in scientific skills covering project initialization, literature, bioinformatics toolchains, conda environments, data inventories, and manuscript drafting
Two engines (research loop, artifact registry) only use Node.js built-in modules and are registered as regular Cordis tools. There are two installation modes: a profile bundle (one dsh plugin add command, making the tools available to all agents on that profile), or an agent preset “Science Mode” (with a scientific persona, isolated per agent).
Core Features¶
ReAct Research Loop¶
The research state is persistently stored in research-manifest.json at the project root. The loop steps are: Question → Hypothesis → Experiment → Observation → Analysis → Conclusion → Next Question. The corresponding tools are as follows:
| Tool | Function |
|---|---|
research_init |
Create the manifest and project skeleton |
research_state |
Read the current loop state (persists across sessions) |
research_hypothesis |
Register falsifiable hypotheses (H1, H2…) |
research_experiment |
Register an experiment (E01…), generating experiments/<id>/{design.md,log.md,code/,results/} |
research_findings |
Write findings, update hypothesis status, and advance to the next question |
research_phase |
Advance the stage: literature → hypothesis → experiment → analysis → manuscript → concluded |
research_review |
Archive review reports to reviews/R0n/report.md |
research_report |
Output a structured research report |
research_init will set up a standardized directory structure: experiments/, literature/, artifacts/, analyses/, figures/, manuscript/, reviews/, data/, envs/. Raw data is stored in data/ and excluded from git by default; environment exports are stored in envs/.
Hypotheses themselves have a state machine: proposed → testing → supported / refuted / inconclusive. By default, stages can only move forward; rollbacks require configuration approval. The research-loop skill requires that research_findings must be called once per iteration (even if the conclusion is inconclusive); write design.md before writing code; only record phenomena in the observation step, no conclusions.
Versioned Artifacts and Traceability¶
Results worthy of citation or reproduction are saved with artifact_save to artifacts/<name>/v<n>/, with SHA-256 hashes for each file, artifact.json (command, inputs, environment, envFile), and an appended provenance.md. Supporting tools:
- artifact_list / artifact_show: List and view a specific version
- artifact_diff / artifact_verify: Compare versions and verify hashes
- artifact_deprecate: Mark as deprecated
- artifact_reproduce: Reproduce results based on traceability records
In v0.1.1, the manifest and artifact index are linked: research_state will merge the artifact index, and artifact_save will write back to artifacts[] in the manifest. Large files use streaming SHA-256; identical content can be deduplicated with hard links. When citing data in a paper or report, the README recommends writing artifact <name> v<n>, for example variant-table v3.
Ten Scientific Skills¶
Skills can be automatically discovered from the project’s .dsh/skills/ directory, or installed to ~/.dsh/skills using the repository script (respecting $DSH_HOME). The skills/ directory in the GitHub repo matches the 10 skills listed in the README:
- research-loop: Execute the above ReAct loop, maintaining the manifest with
research_*tools - science-project-setup: Standard directory structure, permission boundaries, initialize
research-manifest.json - artifact-provenance: When to archive, what to record for traceability, and how to reproduce via hashes
- scientific-reviewer: Use a read-only sub-agent to cross-check claims against experiment logs and artifacts, without re-running analyses
- literature-connector: Retrieve literature, take notes, and enforce citation discipline for
literature/references.bib - parallel-delegation: Split mutually independent tasks into parallel sub-agent tracks, then merge results
- manuscript-writing: Draft methods, results, figures, and citations from artifacts and execution records
- bioinformatics-toolkit: Toolchain conventions for common bioinformatics tasks (quality control, alignment, variant calling, assembly, phylogenetics, etc.) and directory organization
- conda-environments: Fix versions with conda/mamba, export yaml/lock files to
envs/ - data-inventory: Register data sources, download commands, checksum values, and compliance boundaries
These skills are work protocols, not wrappers for external bioinformatics software into dsh. Actual alignment, variant calling, and other analysis steps still use the command-line tools on your local machine or conda environment; the plugin is responsible for connecting hypotheses, experiments, products, and reviews.
Fixes in v0.1.1¶
Both npm and package.json list the current version as 0.1.1. The README outlines the changes from 0.1.0:
- Manifest and artifact writes use file locking (O_EXCL + expiration cleanup) and tmp+rename atomic writes to prevent concurrent sub-agents from overwriting each other
- Errors are replaced with structured codes (ERR_NOT_INIT, ERR_NOT_FOUND, ERR_VALIDATION, ERR_PATH, ERR_QUOTA, ERR_LOCK_TIMEOUT, ERR_IO)
- The manifest schema is migrated from v1 to v2 when loaded
- research_report, artifact_diff, and artifact_verify output structured JSON and write audit logs
The repository also provides test scripts:
- node scripts/smoke-test.mjs (engine and end-to-end loop)
- node scripts/stability-test.mjs (concurrency and locking)
- bash test/verify-bundle.sh (isolated profile installation and startup)
All test scripts only use temporary workspaces.
Installation and Activation¶
The installation command given on the directory page, run in the DeepSeek Harness terminal:
dsh plugin add github:biociao/dsh-science
For reproducible installations, fix the commit hash according to the directory page instructions:
dsh plugin add github:biociao/dsh-science#<commit>
Replace <commit> with the actual commit hash from the repository. The directory page also reminds users that the plugin runs with the permissions of the current dsh process, and may execute code during installation, so you should inspect the source code and license before installing.
The repository README also includes methods for specifying a web profile and installing from npm (the package name is also dsh-science):
dsh plugin --profile web add dsh-science
# Or directly from GitHub:
dsh plugin --profile web add "github:biociao/dsh-science"
The bundle will insert both engines into the profile layer stack. After installation, restart the profile or refresh the Web GUI for research_* / artifact_* tools to appear.
To use the full “Science Mode” (scientific persona + agent-scoped isolation), install via preset:
git clone https://github.com/biociao/dsh-science ~/.dsh/.agent-presets/science
# After local checkout, you can also run:
bash scripts/install.sh # Copy; or bash scripts/install.sh link
Then create a new session in the DSH Web UI and select the Science Mode preset. The README notes that the persona line in the bundle is commented out by default, because profile-level personas apply to all agents on that profile; use the preset if you only want to add the persona to a single session.
The 10 skills need to be added to the skill search path separately:
bash scripts/install-skills.sh # Install to ~/.dsh/skills
You can also copy the repository’s skills/ directory into the project’s .dsh/skills/. If you only install the bundle without the skills, the tools will still work, but the agent will not automatically follow the scientific research protocol.
Typical Usage¶
The following workflow comes from the README’s “Quick Start” and the research-loop skill, and is not a fictional example.
- Open a session in your research project workspace, call
research_init, and fill in the title, field, and core question. This will generateresearch-manifest.jsonand the directory skeleton. - In each subsequent session, first run
research_stateto confirm the current stage, iteration count, and incomplete hypotheses. - Use
research_hypothesisto register H1, H2; hypotheses must be testable with expected outcomes. research_experimentcreates E01. First writedesign.md(purpose, steps, expectations), then place code inexperiments/E01/code/, results inresults/, and write commands and parameters tolog.md.- Record observations against the design, then run
research_findings: the conclusion must be one of supported / refuted / inconclusive, and provide anextQuestion. - Immediately run
artifact_savefor tables, figures, and numbers that need to be cited, along with the complete command that generated the result, input paths, and environment lock files. - For claims ready to be included in a report, hand them to the read-only sub-agent via
scientific-reviewerto cross-check against logs and artifacts, then archive withresearch_review.
The shortest workflow within a single session can be written as:
research_state
research_hypothesis
research_experiment
(write code → run → record log.md)
research_findings
research_phase
artifact_save
The choice between bundle and preset follows the README: use the bundle if you want all agents on the profile to be able to call the tools; use “Science Mode” preset if you need a scientific persona and session-level isolation.
Applicable Scenarios and Notes¶
This tool is suitable for users who are already using DeepSeek Harness and need to document their analysis processes: genomic / bioinformatics projects, hypothesis testing that needs to be continued across sessions, and work preparing numbers for reports or papers. It does not replace specific analysis software, nor does it guarantee the correctness of conclusions — scientific-reviewer only reduces errors such as “claims not matching execution records”, and the skill original text clearly states that manual final review before paper submission is mandatory.
Before using, please note the following:
- Permissions: The plugin runs with the permissions of the current dsh process. Both the directory page and official plugin installation instructions require you to review the source code and license first; do not install it in production workspaces if you do not trust it.
- License: MIT license, you can view, modify, and redistribute; the copyright page is registered as 2026 fangchao.
- Runtime: Node.js ≥ 18; the bundle uses subpath exports dsh-science/engines/*.mjs, which the README notes is the parsing method validated on dsh 0.1.0-rc.6. dsh is still in developer preview, and core APIs may change.
- Data Boundaries: data-inventory requires that human and clinical data comply with authorization rules, and must not be written to public repositories or uploaded to services other than the model; treat uncertain authorization scenarios with the strictest rules.
- Not an Official App Store: Plugins come from community repositories, and the directory site only provides indexing. Follow the exact installation commands from the directory page, do not manually concatenate owner/repo strings.
- Security Review: This article only introduces how the workspace organizes research records, and does not cover specific pathogen experimental operations. For regulated data or high-risk experiments, follow the ethical and biosafety regulations of your institution.
Summary¶
dsh-science connects the research loop state machine and source-tracked versioned artifacts to DeepSeek Harness: hypotheses, experiments, and findings are written to research-manifest.json, results are stored versioned in artifacts/, and 10 skills are provided to standardize literature, environment, data, and review workflows. The current released version is 0.1.1 on npm, with source code on GitHub under the MIT license.
Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-science/
GitHub: https://github.com/biociao/dsh-science