前言¶
DeepSeek Harness(DSH)採用插件化工具模型,已安裝的工具越多,每次請求附帶的 schema 與說明往往越大。若全部默認注入,模型開頭就要消化一長串工具定義,既佔 token,也容易分散注意力。社區工作流類插件 dsh-tool-activator 的做法是:默認只加載一小套基礎工具,其餘工具以目錄形式可見,由模型在需要時通過 activate_tools 再啓用。下面介紹其定位、行爲、配置與典型用法。
這是什麼¶
dsh-tool-activator 是面向 DSH 的插件(npm 包名 dsh-tool-activator,當前資料中版本爲 0.5.0,MIT 許可證)。倉庫與目錄頁見 Tranquillitatis-Lab/dsh-tool-activator 與 SkillHub 目錄。分類爲工作流;它不改變工具在宿主內的實際執行路由,主要管「哪些工具的完整 schema 默認進上下文、哪些僅以簡述目錄呈現並按需激活」。
系統要求(README 原文):DSH ≥ 0.2.0-rc.2;Node.js ≥ 22.19.0。
核心行爲¶
默認可見與按需隱藏¶
默認作爲「基礎工具」加載的標識包括:read、glob、grep、write、edit、skill、ask_user_question、todo_write。以上均可通過配置取消默認加載;只有 activate_tools 始終加載且不可關閉。
模型在每次對話中通常能看到:
- 配置爲默認加載的工具(完整 schema);
- 本會話已激活的工具;
- 工具
activate_tools本身; - 其餘工具的
<available_tools>簡述目錄(標識、名稱、一句說明),由插件注入,不佔用宿主運行時上下文快照。
其餘已安裝且在當前 agent 作用域可見的工具默認隱藏,由模型按標識激活。目錄中除常見內置工具外,任意已安裝插件的工具也可作爲標識請求;開啓 autoGroupMcp 時,mcp__server__tool 可按 MCP 服務聚合爲 mcp.server 等形式。實際集合以運行時的 <available_tools> 爲準。
activate_tools 怎麼用¶
模型按需請求加載工具或組,參數形如:
{
"identifiers": ["web_search", "web_fetch"],
"reason": "需要檢索並覈對用戶要求的公開資料"
}
已激活條目在上下文中以精簡形式呈現(保留標識符與可調用成員名),避免重複冗長描述。
與請求頭、defer_loading¶
對支持對話中途變更工具聲明的路由(README 以 deepseek-flash 等、toolUpdate 能力爲例),插件可將全部工具一次性聲明:基礎工具正常聲明,其餘標 defer_loading(不佔上下文 token)。激活時不改寫聲明列表,只在會話尾部追加 tool_addition,便於前綴緩存仍有效。
不支持該能力的路由則退回「按激活狀態過濾聲明列表」:功能不變,但每次新激活會重算請求頭。
group_tools(僅在用戶要求整理分組時)¶
用戶明確要求整理工具分組時,模型可調用 group_tools:
action: "list":查看當前作用域分組與成員、未分組工具、基礎與鎖定工具。action: "apply":通過ops增刪改分組;basic分組僅可update成員,不可add/remove整個分組。
結果寫入配置中的 groups 字段,與插件配置頁「工具分組」爲同一份數據;一次調用要麼全部成功要麼全部拒絕。
配置¶
進入 DSH 官方插件管理頁,打開 dsh-tool-activator 卡片,表單直接顯示在該插件頁面上(README 未給出單獨的 CLI 安裝命令,以管理頁與宿主插件機制爲準)。
| 分區 | 含義 |
|---|---|
| 默認激活 | 每次請求帶完整 schema 的工具;基礎工具排在最前;僅 activate_tools 固定開啓 |
| 按需激活 | 其餘工具,由 activate_tools 啓用 |
開關將把工具寫入或移出 basicTools;清單由宿主 Remote toolActivator/catalog 提供,覆蓋當前 live agent 作用域。
常規:
requireApproval:非完全權限時激活前需確認;缺審批服務則拒絕;完全權限danger-full-access時無需確認。autoGroupMcp:按mcp__server__tool前綴聚合同一 MCP 服務。
工具分組:結構化編輯標識符、名稱、說明與成員勾選;留空則各工具獨立成條。
執行、持久化與生命週期¶
- 工具仍通過 DSH 原有 dispatcher 執行,不改變底層沙箱或運行路由。
- 已完成的激活狀態隨標準會話日誌與 seed 恢復。
- Cordis 負責註冊、監聽及 HMR 清理;卸載時清理樣式與實例。
README 記載:2026-10-11 完全權限相關修復後,304 個用例等均通過;真實 GUI E2E、打包發佈及真實 profile 爲未驗證項。
適用場景與注意¶
適合:工具、MCP 插件較多,希望默認上下文保持精簡、由模型在任務明確後再加載 bash、web_fetch、終端、子 agent 等能力的 DSH 用戶。
注意:
- 插件在當前 DSH 進程權限下運行;安裝或啓用前應閱讀源碼與 MIT 許可證,並理解
requireApproval與權限等級的關係。 - SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係;以你實際連接的倉庫與 npm 包爲準覈對版本。
- 不要擅自調用
group_tools重組目錄,除非用戶明確要求。
結尾¶
dsh-tool-activator 用「基礎工具 + 目錄 + activate_tools」把 DSH 的工具發現做成可擴展工作流,在支持 defer_loading 的路由上還能減少反覆重寫請求頭的成本。進一步瞭解實現與配置截圖見 GitHub README;在宿主中從插件管理頁打開該卡片即可調整默認與按需工具。
- 目錄頁:https://www.skillhub.cn/plugins/Tranquillitatis-Lab/dsh-tool-activator
- GitHub:https://github.com/Tranquillitatis-Lab/dsh-tool-activator
- npm:https://www.npmjs.com/package/dsh-tool-activator