前言¶
DeepSeek Harness (DSH) 的插件化架構允許接入豐富的工具能力。但在實際使用中,向模型一次性展示所有可用工具會顯著增加初始上下文長度,可能導致注意力分散或觸發不必要的權限請求。dsh-tool-activator 插件通過精簡初始工具列表,將工具加載策略從“全量展示”轉變爲“基礎工具默認加載,其餘工具按需激活”。
核心功能¶
該插件主要解決初始工具上下文過重的問題,具體能力包括:
- 精簡初始上下文:默認僅向模型展示基礎工具,其餘工具隱藏。
- 按需加載機制:模型通過調用
activate_tools接口,在需要時動態加載特定工具或工具組。 - 基礎工具固化:提供一組固定的基礎工具,不可關閉。
- 配置項支持:支持配置
requireApproval(審批策略)和autoGroupMcp(MCP 工具聚合)。 - 工具分組管理:支持對工具進行結構化分組配置。
- 狀態持久化:激活狀態隨會話日誌和 seed 恢復。
工作機制¶
DSH 運行時默認向模型展示以下內容:基礎工具、已激活工具、activate_tools 接口定義,以及未激活工具的 <available_tools> 目錄(僅包含標識符、名稱和簡述)。
默認基礎工具¶
以下八個工具默認始終可用,且不可關閉:
read, glob, grep, write, edit, skill, ask_user_question, todo_write
按需激活示例¶
模型可請求激活特定的工具或工具組。請求格式爲 JSON,包含標識符列表和激活理由:
{
"identifiers": ["web_search", "web_fetch"],
"reason": "需要檢索並覈對用戶要求的公開資料"
}
<available_tools> 目錄的示例內容如下:
<available_tools description="These tools are installed but not yet enabled. Use activate_tools to enable them when needed.">
<tool identifier="web_search" name="web_search">Search the public web for current information.</tool>
<tool identifier="mcp.mail" name="mail">send: Send a message through the mailbox.</tool>
</available_tools>
配置¶
配置通過官方插件管理頁進行。進入 dsh-tool-activator 插件卡片頁面即可看到配置表單。
工具列表分區¶
表單將工具分爲兩個區域:
- 默認激活:每次請求都帶完整 schema 的工具。基礎工具(如
read、write等)固定在此處,且帶有“基礎工具”標記,不允許關閉。 - 按需激活:其餘已安裝且可見的工具。模型可使用
activate_tools獲取。
在列表中切換某項的開關,即可將其在“默認激活”和“按需激活”之間移動。
常規配置¶
- requireApproval:控制非完全權限下的激活行爲。當模型嘗試激活工具時,如果未通過審批策略,該插件會直接拒絕請求(除非當前進程擁有完全權限
danger-full-access)。 - autoGroupMcp:開啓後,MCP 工具會按 server 前綴(如
mcp__server__tool)聚合顯示爲mcp.server。
工具分組¶
在“工具分組”區,可以使用結構化編輯器管理工具。每個分組包含標識符、名稱、說明、工具勾選(從真實工具列表中選擇)和說明節綁定。留空則每個工具獨立成爲條目。
系統要求¶
- DeepSeek Harness (DSH) 版本:\(\ge\)
0.2.0-rc.2 - Node.js 版本:\(\ge\)
22.19.0
測試與狀態¶
根據 2026-10-11 的測試記錄,插件在完全權限修復後通過了 12 個文件和 304 個用例的測試,同時也通過了 lint、類型檢查與構建流程。
生態背景¶
DSH 理念是“一切皆插件”。本插件由社區開發者 hairyf 維護,遵循 MIT 許可證。第三方聲明詳見 THIRD_PARTY_NOTICES.md。社區目錄與 DeepSeek / 幻方無官方從屬關係。