前言¶
在 DeepSeek Harness(DSH)里做基因组、病原体或生物信息相关项目,常见痛点是:研究过程散落在对话记录里,实验结果缺少版本与溯源,长时生信任务又需要连上实验室工作站或 HPC 集群。通用智能体插件往往只覆盖代码编辑或文档检索,难以把「提问—假设—实验—结论」这条科研循环,以及远程算力调度,串成可复现的工作流。
下面介绍社区插件 dsh-science(维护者 biociao)。它把 ReAct 研究循环、版本化工件溯源、SSH 远程计算和 11 个科研技能打包进 DSH,定位接近 Claude Science 的科研工作台,面向基因组 / 病原体 / 人类健康 / 生物信息场景。当前 GitHub 约 27 stars、2 forks;最新发布版本为 0.2.0,MIT 许可,要求 Node.js >= 18。
这是什么¶
dsh-science 是 DSH 生态下的科研向插件 bundle,既可作为 profile bundle 安装,也可通过 agent preset「科学模式」启用。
插件在仓库内提供四个零第三方依赖的引擎(Node 内置模块 + 系统 OpenSSH),注册标准 cordis 工具;配套的 dsh-model-tier 模型分档路由同样是零依赖,安装 dsh-science 时自动携带。核心解决三类问题:
- 把科研对话组织成可持久化的 ReAct 研究循环;
- 把实验结果存为带 SHA-256 与 provenance 的版本化工件;
- 通过 SSH 在远程工作站或 SLURM 集群上提交、监控、拉取长时生信作业。
核心功能¶
ReAct 研究循环引擎¶
提供 research_init、research_state、research_hypothesis、research_experiment、research_findings、research_phase、research_review、research_report 等工具,状态持久化在 research-manifest.json,按「提问 → 假设 → 实验 → 观察 → 分析 → 结论 → 下一问题」推进。假设状态机为 proposed → testing → supported / refuted / inconclusive,阶段默认只前进。
版本化工件与溯源¶
提供 artifact_save、artifact_list、artifact_show、artifact_diff、artifact_verify、artifact_deprecate、artifact_reproduce 等工具。每次保存的结果位于 artifacts/<name>/v<N>/,附带每文件 SHA-256、artifact.json(命令、输入、环境、envFile)以及追加式 provenance.md。
远程计算引擎(SSH / HPC)¶
共 16 个 remote_* 工具,通过 ~/.ssh/config 别名连接实验室工作站或 HPC 集群,远端无需安装额外组件。
- 主机注册:
remote_host_add注册别名,remote_host_probe探测 CPU、内存、GPU、CUDA、conda、SLURM 分区等;注册表位于$DSH_HOME/remotes/hosts.json。 - 作业提交:
remote_run将脚本与输入上传到<scratch>/<jobId>/(默认~/dsh-scratch);工作站以nohup+setsiddetached 进程运行,SLURM 集群走sbatch;默认超时 30 分钟,提交前默认要求审批。 - 监控与回收:
remote_status批量探测并自动迁移状态(running → succeeded / failed / killed);remote_logs查看日志;remote_pull拉回输出并写pulled-manifest.json(超过 100 MB 的文件留在主机并记录路径);remote_cancel取消作业。作业注册表位于<项目根>/.dsh/remotes/jobs.json。 - 项目级白名单:首次连接某主机需项目级授权,批准后写入
.dsh/remotes/allowlist.json,按项目隔离。
远程主机配置 UI¶
在 DSH 设置面板新增「远程主机」页,对应 Claude Science 的 Settings > Compute > SSH hosts。宿主侧 REST API 路由为 /dsh-science/remote-hosts/*,客户端 bundle 与远程引擎共用同一套数据文件。新增引擎或修改引擎代码后需重启 web 进程生效。
模型分档路由(dsh-model-tier)¶
v0.2.0 起,由配套 bundle dsh-model-tier 提供跨 provider 的分档路由:辅助请求(会话标题、压缩)与子任务走轻量档,主对话保持各自会话的模型选择,深链子任务与超长输入可升级到强档。也可单独安装到任意 profile:
dsh plugin add dsh-model-tier
配置示例:
- id: model-tier
name: dsh-model-tier
config:
tiers:
strong: { provider: zai-coding-cn, model: glm-5.3 }
default: { provider: deepseek-official, model: deepseek-v4-flash }
light: { provider: opencode-go, model: minimax-m2.7 }
routing:
auxiliary: [session-title, compaction]
subagents: light
subagentDepthStrong: 3
未配置 tiers 或目标 provider 未注册时,路由自动 no-op,不影响主流程。
11 个科研技能¶
research-loop、science-project-setup、artifact-provenance、scientific-reviewer、literature-connector、parallel-delegation、manuscript-writing、bioinformatics-toolkit、conda-environments、data-inventory、remote-compute。技能可由项目根 .dsh/skills/ 自动发现,也可全机安装到 ~/.dsh/skills。
安装与启用¶
DSH 生态遵循「一切皆插件」;社区目录 SkillHub 是独立站点,与 DeepSeek / 幻方无官方从属关系。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认插件以当前 dsh 进程权限运行。
方式 A:profile bundle(社区标准)¶
一条命令把研究循环、工件注册、远程计算、远程主机 UI 和模型分档路由插入 profile,该 profile 上所有 agent 均可使用 research_*、artifact_*、remote_* 工具。
dsh plugin --profile web add dsh-science
npm 未发布或需跟踪最新代码时,可直接从 GitHub 安装:
dsh plugin --profile web add "github:biociao/dsh-science"
安装后重启 profile(或刷新 Web GUI;新增引擎或改引擎代码需重启 profile)。
方式 B:agent preset(「科学模式」)¶
适合需要完整科研人格、按 agent 隔离的场景:
git clone https://github.com/biociao/dsh-science ~/.dsh/.agent-presets/science
或使用仓库内安装脚本:
bash scripts/install.sh
在 DSH Web 新建会话并选择 科学模式 preset 即可。
技能安装¶
bash scripts/install-skills.sh
技能安装到 ~/.dsh/skills(遵循 $DSH_HOME)。
典型用法¶
下面是一个可复现的首会话流程,摘自官方 README。
- 调用
research_init,创建research-manifest.json与项目骨架(experiments/、literature/、artifacts/、analyses/、figures/、manuscript/、reviews/、data/、envs/)。 - 每次会话先调用
research_state,研究循环状态跨会话持续。 - 跑研究循环:
research_hypothesis(H1/H2/…)→research_experiment(E01/…,创建experiments/<id>/{design.md,log.md,code/,results/})→ 执行代码 →research_findings(追加 log.md、更新假设状态)→ 对值得引用或复现的结果调用artifact_save。 - 需要 GPU 或集群时:
remote_host_add注册主机 →remote_run提交远程作业(需审批)→ 定期remote_status监控、remote_logs查日志 → 结束后remote_pull拉回输出 →artifact_save归档。 - 对关键论断:提取论断 → 评审子代理对照执行记录核查(见 scientific-reviewer 技能)→
research_review归档到reviews/R0n/report.md。
远程计算细节见仓库文档 docs/remote-compute.md 与 remote-compute 技能。
适用场景与注意¶
适合谁:
- 在 DSH 中做基因组、病原体、人类健康或生物信息项目的研究者;
- 需要把假设、实验、结论结构化沉淀,而非仅保留对话记录的团队;
- 已有
~/.ssh/config可连实验室工作站或 SLURM 集群,希望在智能体里直接提交与监控长时作业的用户。
使用注意:
- 插件以当前 dsh 进程权限运行,
remote_run等操作会实际连接远程主机并提交作业,安装前应检查源码与许可证。 - 远程作业提交与首次主机访问默认要求审批;大文件(> 100 MB)拉取时留在远端,仅记录路径。
- bundle 与 preset 的选择:bundle 一条命令、profile 级共享工具;preset 提供完整「科学模式」体验并按 agent 隔离。profile 级人格配置在
cordis.patch.yml中默认注释,需全 profile 应用时再取消注释。 - 远程主机 UI 与新增引擎需重启 web 进程后生效。
结尾¶
dsh-science 把 ReAct 研究循环、工件溯源、SSH 远程计算和模型分档路由整合进 DSH,为基因组与生物信息场景提供可复现的科研工作台。若你已在用 DSH 做科研辅助,可从 profile bundle 安装起步,按项目需要逐步启用远程计算与技能。