前言¶
DeepSeek Harness(簡稱 dsh)是 DeepSeek 開源的 Agent 運行時。官方倉庫把架構寫成 Everything is a Plugin:模型、工具、會話、界面都以 Cordis 插件的形式組合。倉庫目前仍標 developer preview,兼容性可能隨時變。社區裏已經有若干獨立站點在收錄帶 dsh-plugin topic 的倉庫;本文依據的 DeepSeek Harness 插件庫 是其中之一,和 DeepSeek / 幻方沒有官方從屬關係,不要把它當成官方應用商店。
在這種架構裏,一次「深度調研」如果只靠對話裏堆提示詞,很容易變成固定流水線:拆問題、搜一圈、寫報告、收工。主題簡單還好;主題一複雜,不是搜不夠,就是搜到停不下來。dsh-deep-research 把這件事做成擴展插件:掛在官方 workflow 引擎上,按控制論和信息論的思路跑自適應研究閉環。本文按目錄詳情頁、GitHub README 和倉庫源碼交叉覈對後整理。
這是什麼¶
dsh-deep-research 是一款工作流與自動化插件,由 GitHub 組織 omdsh-dev 維護。npm 包名是 @dsh-external/dsh-deep-research,倉庫在 omdsh-dev/dsh-deep-research,許可證 MIT(版權聲明爲 2026 dsh2026)。目錄頁 2026-08-11 收錄,主要語言 TypeScript,package.json 裏的版本是 0.1.0。GitHub 在 2026-08-17 顯示 14 stars;同一天社區目錄頁仍寫 11 stars,星標以倉庫頁面爲準。
它和 skill 體系是分開的:不註冊進 ctx.skills,而是向模型暴露一個工具 deep_research。觸發靠工具描述裏的場景詞(深度研究、調研、多源信息綜合分析、研究報告、文獻蒐集),對話裏直接說人話即可。編排走官方 workflow 引擎(ctx.workflows / @deepseek-ai/dsh-workflow-workerthread),搜索和抓取繼續用內置的 web_search / web_fetch。README 的原話是:插件零網絡邏輯、零自研編排。
GitHub 上還有名稱相近的 dsh-deepresearch(少一個連字符),那是另一個項目,安裝時不要混用。
核心功能¶
倉庫 README 把設計寫成「不是固定提示詞流水線,而是活的、自適應的研究閉環」。源碼 src/index.ts 裏的 workflow 腳本按階段執行,和文檔一致。
規劃:先定答案空間,再拆子問題¶
規劃子代理不會一上來就搜。它先寫 scope(這份研究要支撐什麼判斷或決策),再枚舉信息維度,把每個子問題映射到一個維度,並給出驗收標準 acceptance。覆蓋不到的維度寫進 coverage_gaps,作爲待驗證的盲區假設,而不是悄悄丟掉。
控制論裏的說法是參考信號校準:目標設錯了,後面閉環再勤奮也是白費。必要多樣性定律對應的是:子問題集合覆蓋不住主題空間,後面一定有盲區。
如果調用時已經傳入 questions(每行一個,或 1. 2. 3. 編號),規劃階段會跳過,直接並行研究。
研究:按邊際信息增益停下來¶
研究子代理維護三態證據:confirmed / uncertain / gaps。每一輪的動作是:針對高不確定性的點預測能新增什麼 → 用 web_search / web_fetch 取證 → 更新證據 → 做邊際增益驗證。連續一輪沒有新增,子代理自己停;整次運行還有輪次硬上限。
研究階段是閉環再規劃,不是一次扇出:
- 第 1 輪並行研究全部子問題(以及規劃聲明的盲區偵察)。
- 每輪結束收集 high-priority 缺口,自動派發下一輪補充研究。
- 簡單主題一輪收斂,複雜主題自動擴展,直到某一輪邊際增益約爲 0,或達到輪次上限。
輪次上限由 depth 決定:1 初步最多 2 輪,2 深入(默認)最多 3 輪,3 窮盡最多 4 輪。源碼裏寫成 depth + 1,且 depth 只能是 1、2、3。
每輪併發默認 maxParallel = 4。超出併發上限的子問題留在隊列裏後續處理,不會靜默丟棄。
綜合與可選審查¶
綜合子代理默認開啓(synthesize: true)。它按率失真的思路把證據壓縮成最終報告:只保留對結論有區分度的信息,並保留置信度、矛盾和已驗證盲區。synthesize: false 時只返回各子問題的三態證據,由主代理自己寫報告。
review: true 時額外跑對抗性審查子代理:抽查引用(URL 可達性 / 是否真能支撐論斷)、做覆蓋度審計、標註矛盾和過度自信。默認關閉。
和官方引擎綁在一起的部分¶
源碼把插件聲明爲 inject: ['tools', 'workflows'],工具執行時調用 ctx.workflows.start()。因此它會複用官方引擎已有的能力:worker 隔離、併發和總數上限、取消、進度事件、wf-runs 記錄。exec.signal 會傳入 workflow run,取消時子代理隨之中止。單個子問題研究失敗只在該節標註;規劃失敗則整個工具報錯,主代理可以調參重試。
插件不碰 TUI:沒有 tuiPrompt、overlay 或 system-prompt 注入。README 還保留了一份技能模板 .claude/skills/deep-research,和這個插件互相獨立。
安裝與啓用¶
目錄詳情頁給出的安裝命令是:
dsh plugin add github:omdsh-dev/dsh-deep-research
需要可復現安裝時,按目錄頁的寫法固定 commit 哈希:
dsh plugin add github:omdsh-dev/dsh-deep-research#<commit>
把 <commit> 換成倉庫裏實際審覈過的提交哈希,不要留佔位符。
README 補充了按 profile 安裝的寫法。包聲明瞭 dsh.bundle.patch(cordis.patch.yml),可以裝進 tui / headless / web 或自建 profile;裝完後重啓對應 profile,工具 deep_research 纔會注入:
dsh plugin --profile <profile> add git+https://github.com/dsh-external/dsh-deep-research.git
dsh --profile <profile>
這裏有一處需要對照倉庫現狀:README 仍寫 GitHub 組織 dsh-external,當前訪問 dsh-external/dsh-deep-research 會跳轉到 omdsh-dev/dsh-deep-research,二者是同一倉庫。安裝時優先用目錄頁上的 github:omdsh-dev/dsh-deep-research。若本機 git 把 https 重寫成 ssh(全局 insteadOf),README 建議改用上面的 git+https:// 形式。dsh plugin 提示需要 allowBuilds 時,按提示在 $DSH_HOME/profiles/<profile>/pnpm-workspace.yaml 加一行即可。
卸載用包名,不是倉庫名:
dsh plugin --profile <profile> remove @dsh-external/dsh-deep-research
依賴方面:profile 的組合需要包含官方 workflow 引擎和內置 web 工具。README 寫明 dsh 官方 base 組合自帶,不必額外安裝;peer 依賴(@deepseek-ai/dsh-tools、@deepseek-ai/dsh-workflow、cordis)由組合提供。package.json 要求 Node ^22.19.0 || >=24.0.0。
Profile 兼容性:請裝進提供 workflows provider 的組合(README 舉例 tui / headless)。部分 Web Profile 如果未聲明該 provider,Loader 會保持 pending,需要先在 DSH Hub 登記關係,或改用提供該服務的組合。
典型用法¶
工具由模型按描述自動調用。下面幾句來自倉庫 README,可以按原樣說:
深度調研一下 MCP 生態現狀,重點對比幾家主流實現,出一份帶引用的報告
按這份問題清單做研究:1. ... 2. ...
已有清單時會跳過自動拆解,直接並行研究。
調研一下 A/B 方案,purpose 是決定我們選哪個
用途寫得越清楚,規劃階段的答案空間越準。複雜主題會自動加輪次;想更嚴可以傳 depth: 3,要引用糾錯和覆蓋度審計就傳 review: true。
工具參數(以 README 和 src/index.ts 爲準):
| 參數 | 必填 | 說明 |
|---|---|---|
topic |
是 | 研究主題 |
purpose |
否 | 要支撐的判斷或決策;缺省時規劃代理會聲明假設用途 |
questions |
否 | 已有問題清單;提供則跳過自動拆解 |
depth |
否 | 1 初步 / 2 深入(默認) / 3 窮盡 |
synthesize |
否 | 是否出最終報告,默認 true |
review |
否 | 對抗性審查,默認 false |
可選配置(裝進 profile 後按插件配置填寫,全部可省略):
| Key | 默認 | 說明 |
|---|---|---|
subagentProvider |
引擎默認 spawn |
子代理 provider |
maxParallel |
4 |
每輪研究併發上限 |
maxTotalAgents |
引擎上限 | 整次運行子代理總數上限 |
plannerModel / researcherModel / synthesizerModel / reviewerModel |
繼承父配置 | 按角色換模型 |
README 的成本建議是分層:規劃、綜合用強模型,研究用便宜模型。未配置的角色繼承父路由。
適用場景與注意事項¶
比較適合這些情況:
- 需要多源交叉驗證、帶引用的調研報告,而不是單次搜索摘要
- 主題邊界還不清楚,希望先定答案空間再拆維度
- 已經有問題清單,只想並行取證
- 願意爲嚴謹性打開
review,接受多一輪審查成本
需要先想清楚的限制:
- 插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。目錄頁寫明:安裝前請檢查源代碼倉庫和許可證;需要可復現安裝時固定 commit 哈希。
- 它不是通用工作流引擎,只註冊
deep_research這一個工具。 - 搜索能力完全依賴宿主內置的
web_search/web_fetch,插件自己不聯網。 - 部分 Web Profile 缺 workflows provider 時不會真正加載。
- 深度研究必然消耗多輪子代理和檢索;
depth: 3加上review: true會更貴。倉庫建議用模型分層控制成本,本文沒有獨立評測數據。 - DeepSeek Harness 仍處於 developer preview,官方倉庫聲明會有破壞性變更。插件版本目前是
0.1.0,接口和 profile 組合都可能跟着宿主一起變。
小結¶
dsh-deep-research 做的事情很窄:把一次深度研究從「提示詞流水線」換成掛在官方 workflow 引擎上的自適應閉環。規劃先定答案空間,研究按信息增益停下來,綜合保留不確定性,審查可選。社區目錄和 GitHub 都能裝,優先用目錄頁這條命令:
dsh plugin add github:omdsh-dev/dsh-deep-research
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-deep-research/
GitHub:https://github.com/omdsh-dev/dsh-deep-research