前言¶
用智能体做基因组、生信或健康方向的分析,常见卡点不在「会不会写脚本」,而在过程能不能留下痕迹。一轮对话里提出假设、改参数、跑比对、出一张表,会话一结束,假设改过几次、结果对应哪条命令、环境是不是当时那套,往往只剩聊天记录。下一次换会话、换机器,复现就变成对照记忆。
DeepSeek Harness(dsh)的设计口号是「一切皆插件」:模型、工具、技能、会话都可以拆成可替换的插件。社区目录 DeepSeek Harness 插件库 是独立站点,和 DeepSeek / 幻方没有官方从属关系,用来检索第三方扩展。dsh-science 就是其中一款技能类插件,把 Claude Science 那套「研究循环 + 版本化工件」接到 dsh 上。
本文按插件目录页、GitHub 仓库 README / package.json / 技能原文,以及 npm 上的 dsh-science@0.1.1 交叉核对后整理:它是什么、装哪条命令、第一次会话怎么跑。
这是什么¶
dsh-science 是面向 DeepSeek Harness 的科研工作台插件,GitHub 仓库为 biociao/dsh-science,维护者是 biociao,许可证 MIT。目录页把它归在「技能」分类;npm 当前版本是 0.1.1,要求 Node.js ≥ 18。截至 2026 年 8 月 17 日,GitHub 显示 15 颗星(目录页当时记录为 10,以仓库页面为准)。
它要解决的是:让智能体按固定协议推进研究,而不是只在对话里「想到哪做到哪」。仓库 README 的定位可以压成三块:
research_*工具驱动 ReAct 研究循环,状态写在research-manifest.jsonartifact_*工具管理带来源追溯的版本化产物- 内置 10 个科学技能,覆盖项目初始化、文献、生信工具链、conda 环境、数据清单和论文起草
两个引擎(研究循环、工件登记)只使用 Node 内置模块,注册为普通 Cordis 工具。安装形态有两种:profile bundle(一条 dsh plugin add,该 profile 上所有 agent 都能用工具),或 agent preset「科学模式」(带科研人格,按 agent 隔离)。
核心功能¶
ReAct 研究循环¶
研究状态持久化在项目根的 research-manifest.json,循环步骤是:提问 → 假设 → 实验 → 观察 → 分析 → 结论 → 下一问题。对应工具如下:
| 工具 | 作用 |
|---|---|
research_init |
创建清单和项目骨架 |
research_state |
读取当前循环状态(跨会话持续) |
research_hypothesis |
登记可证伪假设(H1、H2…) |
research_experiment |
登记实验(E01…),生成 experiments/<id>/{design.md,log.md,code/,results/} |
research_findings |
写入发现、更新假设状态、推进下一问 |
research_phase |
推进阶段:literature → hypothesis → experiment → analysis → manuscript → concluded |
research_review |
归档评审报告到 reviews/R0n/report.md |
research_report |
输出结构化研究报告 |
research_init 会搭出一套目录约定:experiments/、literature/、artifacts/、analyses/、figures/、manuscript/、reviews/、data/、envs/。原始数据放 data/,默认不进 git;环境导出放 envs/。
假设本身也有状态机:proposed → testing → supported / refuted / inconclusive。阶段默认只前进,回退需要配置允许。research-loop 技能要求:每轮迭代结束必须调用一次 research_findings(即使结论是 inconclusive);先写 design.md 再写代码;观察步骤只记现象,不下结论。
版本化工件与溯源¶
值得引用或复现的结果,用 artifact_save 存成 artifacts/<name>/v<n>/,并附每文件 SHA-256、artifact.json(命令、输入、环境、envFile)和追加写入的 provenance.md。配套工具:
artifact_list/artifact_show:列出、查看某个版本artifact_diff/artifact_verify:对比版本、校验哈希artifact_deprecate:标记废弃artifact_reproduce:按溯源记录复现
v0.1.1 还把清单和工件索引打通:research_state 会合并工件索引,artifact_save 会回写清单里的 artifacts[]。大文件用流式 SHA-256;内容相同可用硬链接去重。论文或报告里引用数据时,README 建议写成 artifact <name> v<n>,例如 variant-table v3。
十个科学技能¶
技能可以从项目 .dsh/skills/ 自动发现,也可以用仓库脚本装到 ~/.dsh/skills(尊重 $DSH_HOME)。GitHub skills/ 目录与 README 列出的 10 个名称一致:
- research-loop:执行上述 ReAct 循环,配合
research_*维护清单 - science-project-setup:目录约定、权限边界、初始化
research-manifest.json - artifact-provenance:何时归档、溯源要记什么、如何按哈希复现
- scientific-reviewer:用只读子代理对照实验日志和工件核查论断,不重跑分析
- literature-connector:检索、笔记、
literature/references.bib引用纪律 - parallel-delegation:把相互独立的任务拆成并行子代理轨道,再合并
- manuscript-writing:从工件和执行记录起草方法、结果、图表和引用
- bioinformatics-toolkit:常见生信任务的工具链约定(质检、比对、变异、组装、系统发育等)和目录组织
- conda-environments:用 conda/mamba 固定版本,导出 yaml/lock 到
envs/ - data-inventory:登记数据来源、下载命令、校验值和授权边界
这些技能是工作协议,不是把外部生信软件封装进 dsh。真正跑比对、变异调用,仍然走你本机或 conda 环境里的命令行工具;插件负责把假设、实验、产物和评审串起来。
v0.1.1 的加固点¶
npm 与 package.json 都标明当前版本 0.1.1。README 写明相对 0.1.0 的改动包括:manifest / 工件写入走文件锁(O_EXCL + 过期回收)和 tmp+rename 原子写,避免并行子代理互相覆盖;错误改为结构化码(ERR_NOT_INIT、ERR_NOT_FOUND、ERR_VALIDATION、ERR_PATH、ERR_QUOTA、ERR_LOCK_TIMEOUT、ERR_IO);清单 schema 在加载时做 v1→v2 迁移;research_report、artifact_diff、artifact_verify 输出结构化 JSON,并写审计日志。
仓库还提供验证脚本:node scripts/smoke-test.mjs(引擎与端到端循环)、node scripts/stability-test.mjs(并发与锁)、bash test/verify-bundle.sh(隔离 profile 安装启动)。测试脚本只写临时工作区。
安装与启用¶
目录页给出的安装命令如下,在 DeepSeek Harness 终端里运行:
dsh plugin add github:biociao/dsh-science
需要可复现安装时,按目录页说明固定 commit 哈希:
dsh plugin add github:biociao/dsh-science#<commit>
把 <commit> 换成仓库里实际的提交哈希。目录页同时提醒:插件以当前 dsh 进程的权限运行,安装时可能执行代码,装之前应检查源码和许可证。
仓库 README 还写了指定 web profile、以及从 npm 安装的写法(包名同样是 dsh-science):
dsh plugin --profile web add dsh-science
# 或直接从 GitHub:
dsh plugin --profile web add "github:biociao/dsh-science"
bundle 会把两个引擎插入 profile 层栈。装完后重启该 profile,或刷新 Web GUI,research_* / artifact_* 才会出现。
如果要完整「科学模式」(科研人格 + 按 agent 作用域),用 preset 安装:
git clone https://github.com/biociao/dsh-science ~/.dsh/.agent-presets/science
# 本地检出后也可以:
bash scripts/install.sh # 复制;或 bash scripts/install.sh link
然后在 DSH Web 新建会话,选择 科学模式 preset。README 说明:bundle 里的 persona 行默认注释掉,因为 profile 级人格会作用到该 profile 的全部 agent;只想给某一个会话加人格时,走 preset。
10 个技能需要另外放到技能搜索路径:
bash scripts/install-skills.sh # 安装到 ~/.dsh/skills
也可以把仓库的 skills/ 拷进项目 .dsh/skills/。只装 bundle、不装技能时,工具仍可用,但智能体不会自动按那套科研协议行事。
典型用法¶
下面流程来自 README「快速开始」和 research-loop 技能,不是虚构案例。
- 在科研项目工作区打开会话,调用
research_init,填标题、领域和核心问题。此时会生成research-manifest.json和目录骨架。 - 之后每个会话先
research_state,确认当前阶段、迭代轮次和未完成假设。 - 用
research_hypothesis登记 H1、H2;假设要可检验、有预期方向。 research_experiment创建 E01,先写design.md(目的、步骤、预期),再把代码放到experiments/E01/code/,结果放到results/,命令和参数写入log.md。- 对照设计记录观察,再
research_findings:结论只能是 supported / refuted / inconclusive 之一,并给出nextQuestion。 - 表格、图、需要引用的数字立刻
artifact_save,带上产生该结果的完整命令、输入路径和环境 lock 文件。 - 准备写进报告的论断,按
scientific-reviewer交给只读子代理,对照日志和工件核查,再用research_review归档。
一个会话内的最短节奏可以写成:
research_state
research_hypothesis
research_experiment
(写代码 → 运行 → 记 log.md)
research_findings
research_phase
artifact_save
bundle 与 preset 的取舍也以 README 为准:只想让该 profile 上所有 agent 都能调用工具,用 bundle;要科研人格和按会话隔离,用「科学模式」preset。
适用场景与注意事项¶
适合已经在用 DeepSeek Harness,并且需要把分析过程落盘的人:基因组 / 生信项目、需要跨会话接着做的假设检验、以及准备把数字写进报告或论文的工作。它不替代具体分析软件,也不保证结论正确——scientific-reviewer 只降低「论断和执行记录对不上」这一类错误,技能原文写明:论文定稿前人工终审不可省。
使用前注意这几件事:
- 权限:插件以当前 dsh 进程权限运行。目录页和官方插件安装说明都要求先看源码与许可证;不信任就不要装进生产工作区。
- 许可证:MIT,可查看、修改、再分发;版权页登记为 2026 fangchao。
- 运行时:Node.js ≥ 18;bundle 用子路径导出
dsh-science/engines/*.mjs,README 写明这是在 dsh0.1.0-rc.6上验证过的解析方式。dsh 仍处于开发者预览,核心 API 可能继续变。 - 数据边界:
data-inventory要求人类样本和临床数据遵守授权,不写入公开仓库、不向模型以外的服务上传;不确定授权时按最严处理。 - 不是官方应用商店:插件来自社区仓库,目录站点只做收录。安装命令以目录页原文为准,不要自己拼接 owner/repo。
- 安全审查:本文只介绍工作台如何组织研究记录,不涉及具体病原体实验操作。涉及受监管数据或高风险实验时,按所在机构的伦理和生物安全规定执行。
小结¶
dsh-science 把研究循环状态机和带来源的版本化工件接到 DeepSeek Harness 上:假设、实验、发现写进 research-manifest.json,结果按版本存进 artifacts/,再配 10 个技能约束文献、环境、数据和评审。当前发布版本是 npm 上的 0.1.1,源码在 GitHub,许可证 MIT。
目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-science/
GitHub:https://github.com/biociao/dsh-science