前言¶
在 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 安裝起步,按項目需要逐步啓用遠程計算與技能。