MIT 開源的 DSH 外掛:用 `tool_search` / `tool_describe` / `tool_call` 三個橋接工具把龐大的工具目錄收在上下文之外,搭配分級揭露、重排比對與關鍵字備援,一條 `dsh plugin` 指令安裝,設定從 `~/.dsh/dsh-tool-search.json` 熱重載。
DSH 整合
原生執行環境
作者聲明
安全稽核
未稽核
最後核實
2026-11-13
授權條款
MIT
01它能幫你完成什麼?
把龐大的工具目錄(大量 MCP 伺服器或外掛工具)擋在上下文視窗之外,直到任務真的需要時才引入
上下文裡只留 eager 核心與三個橋接工具;被延後的 schema 依需求注入,並依 `maxWarmTools` 做 LRU 上限
工具目錄已膨脹到每一輪都背著任務用不到的 schema 的 DSH 使用者
在 DeepSeek Harness 的一輪對話裡尋找、檢視並呼叫被延後的工具
排序後的 `{name, description, group}` 比對結果、單一工具的完整 schema,或依名稱執行真實工具——核准、守衛與工作階段事件因此仍掛在底層工具上
把大量 MCP 伺服器或外掛工具接進 DSH、又需要它們仍可被呼叫的開發者
不用手寫 JSON 就能設好工具分組與重排比對器
`tool-slimmer-setup` 技能讀取工具目錄、提出分組建議、詢問要全域還是依專案,再帶著走完比對器設定;產生的檔案會熱重載
寧願跟 agent 對話、也不想手改設定檔的人
02如何將外掛接入 DeepSeek Harness?
先決條件
- 已安裝 DSH,並有一個可以加入外掛的 profile——README 用的是 `--profile web`
- `tool_search` 與 preload 需要一個 OpenAI 相容的 `/v1/rerank` 端點加 API Key;沒有它關鍵字備援也能用
安裝步驟
- 01
執行下列指令:`dsh plugin --profile web add dsh-tool-search`
$ dsh plugin --profile web add dsh-tool-search
- 02
請 agent 幫你的工具分組——內建的 `tool-slimmer-setup` 技能會提出分組方案、與你確認、詢問設定要放全域還是依專案,並引導設定重排比對器
- 03
靜態調校(預算、`core`、`maxWarmTools`)改 profile 的 `cordis.patch.yml`;分組、比對器與 preload 寫在執行階段 JSON 檔案裡,下一輪生效
驗證整合成功
作者未說明
03DSH 整合程度與能力邊界
DSH 外掛:一個 `system-prompt/assemble` 監聽器在每一輪改寫模型可見的工具清單,把長尾工具換成 `tool_search` / `tool_describe` / `tool_call` 橋接。
橋接工具(`tool_search` / `tool_describe` / `tool_call`)
一句自然語言查詢、一個被延後的工具名稱,或工具名稱加參數→排序後的比對結果、一份完整的工具 schema,或真實工具的回傳結果
命中的工具與被 describe 過的會預熱進工作階段的可見集合核准、守衛與工作階段事件指向真實工具,絕不會是橋接工具分級揭露
每一輪的工具目錄與 token 預算→0–3 級清單——無橋接、分組清單、僅名稱,或每組一行並附數量
對話式設定技能(`tool-slimmer-setup`)
你的工具目錄→寫入外掛 JSON 的工具分組、設定作用域與重排比對器設定
使用者層級寫入 `~/.dsh/dsh-tool-search.json`,專案層級寫入 `<workspace>/.dsh/dsh-tool-search.json`重排比對器 + 關鍵字備援
一筆搜尋查詢,以及帶 model 與 key 的 OpenAI 相容 `/v1/rerank` 端點→依語意排序的比對;未設定比對器或重排呼叫失敗時改用關鍵字排序(名稱完全符合 > 名稱詞元 > 描述詞元)
查詢與工具中繼資料會被送到設定好的重排端點動態注入(預熱集合)
某一輪中被用到的被延後工具→它的完整 schema 會留在模型上下文中供後續輪次使用,並依 `maxWarmTools` 做 LRU 上限
模型可見的工具清單會成長,直到達到預熱上限
04適合誰?何時不該用?
適合
- 工具目錄已膨脹到每一輪都背著任務用不到的 schema 的 DSH 使用者
- 把大量 MCP 伺服器或外掛工具接進 DSH、又需要它們仍可被呼叫的開發者
- 寧願跟 agent 對話、也不想手改設定檔的人
不適合
- `tool_search` 與 preload 需要一個 OpenAI 相容的 `/v1/rerank` 端點,以及存放在外掛 JSON 裡的 API Key(README 範例是 DashScope 的 rerank 位址配 `sk-...` 形式的 key)。設定好之前,`tool_search` 只回傳設定指引。
- 本外掛所掛接的切入點會隨 dsh 變動:從 0.2.1-rc.3 起 PTC 產生器位於 `@deepseek-ai/dsh-tool-executor-ptc`,兩個套件都沒有的宿主會以「關閉段落重寫」的方式載入,這類宿主上表格精簡只對更早的版本生效。
05相容性、維護與安全提醒
- `tool_search` 與 preload 需要一個 OpenAI 相容的 `/v1/rerank` 端點,以及存放在外掛 JSON 裡的 API Key(README 範例是 DashScope 的 rerank 位址配 `sk-...` 形式的 key)。設定好之前,`tool_search` 只回傳設定指引。
- 本外掛所掛接的切入點會隨 dsh 變動:從 0.2.1-rc.3 起 PTC 產生器位於 `@deepseek-ai/dsh-tool-executor-ptc`,兩個套件都沒有的宿主會以「關閉段落重寫」的方式載入,這類宿主上表格精簡只對更早的版本生效。
- 靜態調校(`thresholdPct`、`listingMaxTokens`、`configScope`、`core`、`maxWarmTools`)寫在 profile 的 `cordis.patch.yml`,改完要重新啟動;分組 / 比對器 / preload 寫在執行階段 JSON 檔案裡,該檔案依 mtime 監看,下一輪熱重載。
- 重排是主排序;沒有比對器或重排呼叫失敗時,搜尋退化為關鍵字比對(名稱完全符合 > 名稱詞元 > 描述詞元),而且從不報錯——結果比重排弱,但這一輪照樣能跑完。
MIT · 僅有 README 證據(經 npm 發佈,facts 包中無 GitHub release),未做安全稽核
06常見問題
怎麼把 dsh-tool-search 裝進 DeepSeek Harness?
執行 `dsh plugin --profile web add dsh-tool-search`。靜態調校(`thresholdPct`、`listingMaxTokens`、`configScope`、`core`、`maxWarmTools`)寫在 profile 的 `cordis.patch.yml`,改完要重新啟動;工具分組、比對器與 preload 寫在 `~/.dsh/dsh-tool-search.json`(或 `<workspace>/.dsh/dsh-tool-search.json`),下一輪自動生效。
它會把我的工具從 DSH 移除嗎?
不會。精簡只重寫 `system-prompt/assemble` 裡的模型可見介面,註冊表維持完整,被延後的工具照樣可以執行。模型呼叫 `tool_call` 時,外掛透過 `ctx.tools.execute` 依真實工具名稱執行,核准、守衛與工作階段事件都指向底層工具,而不是橋接工具。
一定要設定 API Key 嗎?
要用 `tool_search` 與 preload 就得設定:比對器是 OpenAI 相容的 `/v1/rerank` 端點,`apiKey` 與 `model` 寫在外掛 JSON 裡(README 範例用的是 DashScope 的 rerank 位址與 `qwen3-reranker`)。沒設定之前 `tool_search` 只回傳設定指引;沒有比對器或重排失敗時,搜尋退化為關鍵字比對且不會報錯。
外掛把設定寫在哪裡?
工具分組、比對器與 preload 寫在執行階段 JSON:使用者層級是 `~/.dsh/dsh-tool-search.json`,專案層級是 `<workspace>/.dsh/dsh-tool-search.json`,`configScope: auto` 時專案檔案優先。該檔案依 mtime 監看並熱重載,變更下一輪就生效,不必重新啟動 DSH。
DSH 升級後工具清單會怎樣?
外掛會依宿主調整。dsh 0.2.1-rc.3 起 PTC 產生器搬到 `@deepseek-ai/dsh-tool-executor-ptc`,改用執行階段動態 import 解析;兩個套件都沒有的宿主會以「關閉段落重寫」的方式載入外掛而不是報錯,這類宿主仍會拿到宣告重寫與注入的目錄,表格精簡只對更早的版本生效。
07相關的 DSH 工作流程
archify
作者 tt-a1i
为编码智能体生成美观可验证的架构图、时序图与数据流图,输出自包含 HTML,支持动效与清晰导出。
openviking
作者 volcengine
为 AI 智能体打造的自进化上下文数据库,统一智能体记忆、知识 RAG 与技能。
aitoearn
作者 yikart
面向抖音、快手、小红书和视频号的 AI 内容发布工作流,提供相关平台与 MCP 工具集成。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,从 0 到 1 系统学习智能体工作流框架。
08資料與來源
This plugin collapses the long tail behind three bridge tools and lets the model discover and load them on demand throug…
On every turn, the plugin's `system-prompt/assemble` listener computes the tier and replaces the model-visible tools:
- **Bridge tools** — `tool_search`, `tool_describe`, `tool_call` replace the deferred schemas.
此頁面根據專案公開文件、儲存庫中繼資料與 DSH Plugins 的結構化解析所產生;最後核實於 2026-11-13。發現錯誤?提交更正。
最佳 DeepSeek Harness 外掛
從全目錄挑出的 12 個值得優先安裝的外掛,涵蓋各個分類。
