用 dsh-science 給 DeepSeek Harness 裝上可溯源的科研工作臺

前言

用智能體做基因組、生信或健康方向的分析,常見卡點不在「會不會寫腳本」,而在過程能不能留下痕跡。一輪對話裏提出假設、改參數、跑比對、出一張表,會話一結束,假設改過幾次、結果對應哪條命令、環境是不是當時那套,往往只剩聊天記錄。下一次換會話、換機器,復現就變成對照記憶。

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.json
  • artifact_* 工具管理帶來源追溯的版本化產物
  • 內置 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/

假設本身也有狀態機:proposedtestingsupported / 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 個名稱一致:

  1. research-loop:執行上述 ReAct 循環,配合 research_* 維護清單
  2. science-project-setup:目錄約定、權限邊界、初始化 research-manifest.json
  3. artifact-provenance:何時歸檔、溯源要記什麼、如何按哈希復現
  4. scientific-reviewer:用只讀子代理對照實驗日誌和工件覈查論斷,不重跑分析
  5. literature-connector:檢索、筆記、literature/references.bib 引用紀律
  6. parallel-delegation:把相互獨立的任務拆成並行子代理軌道,再合併
  7. manuscript-writing:從工件和執行記錄起草方法、結果、圖表和引用
  8. bioinformatics-toolkit:常見生信任務的工具鏈約定(質檢、比對、變異、組裝、系統發育等)和目錄組織
  9. conda-environments:用 conda/mamba 固定版本,導出 yaml/lock 到 envs/
  10. data-inventory:登記數據來源、下載命令、校驗值和授權邊界

這些技能是工作協議,不是把外部生信軟件封裝進 dsh。真正跑比對、變異調用,仍然走你本機或 conda 環境裏的命令行工具;插件負責把假設、實驗、產物和評審串起來。

v0.1.1 的加固點

npm 與 package.json 都標明當前版本 0.1.1。README 寫明相對 0.1.0 的改動包括:manifest / 工件寫入走文件鎖(O_EXCL + 過期回收)和 tmp+rename 原子寫,避免並行子代理互相覆蓋;錯誤改爲結構化碼(ERR_NOT_INITERR_NOT_FOUNDERR_VALIDATIONERR_PATHERR_QUOTAERR_LOCK_TIMEOUTERR_IO);清單 schema 在加載時做 v1→v2 遷移;research_reportartifact_diffartifact_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 技能,不是虛構案例。

  1. 在科研項目工作區打開會話,調用 research_init,填標題、領域和核心問題。此時會生成 research-manifest.json 和目錄骨架。
  2. 之後每個會話先 research_state,確認當前階段、迭代輪次和未完成假設。
  3. research_hypothesis 登記 H1、H2;假設要可檢驗、有預期方向。
  4. research_experiment 創建 E01,先寫 design.md(目的、步驟、預期),再把代碼放到 experiments/E01/code/,結果放到 results/,命令和參數寫入 log.md
  5. 對照設計記錄觀察,再 research_findings:結論只能是 supported / refuted / inconclusive 之一,並給出 nextQuestion
  6. 表格、圖、需要引用的數字立刻 artifact_save,帶上產生該結果的完整命令、輸入路徑和環境 lock 文件。
  7. 準備寫進報告的論斷,按 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 寫明這是在 dsh 0.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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜