前言¶
在 DeepSeek Harness(DSH)裏接足夠多的 MCP 服務或 Skills 之後,常見兩類問題:模型可見的工具目錄不斷膨脹,擠佔真正任務相關的上下文;同時所有能力在提示裏「平鋪」展示,模型反而更容易選錯工具。傳統做法是儘量精簡安裝列表,或手動關掉部分暴露——但能力本身仍可能需要,只是不應常駐在模型面前。
下面介紹社區插件 dsh-capability-gateway(維護者 xiaomao361,分類:聯網工具)。它把用戶勾選納入管理的 Skills 與 MCP 工具從模型默認目錄裏收起來,改由單一工具 capability 按意圖搜索、讀 schema 或說明後再調用。插件同時提供 Host 與 Client 能力;不代理遠程流量、不額外架設服務端、也不把數據發往外部。
這是什麼¶
dsh-capability-gateway 的定位是:在 DSH 中,對已 opt-in 的第三方 Skills 與 MCP 工具提供按需網關(README 英文摘要:One on-demand gateway for opt-in third-party skills and MCP tools in DeepSeek Harness)。當前 package 版本爲 0.6.0,許可證 MIT,依賴 DSH 引擎 0.2.1-rc.5。
與「全部工具長期掛在 system prompt」相比,網關側的變化包括:受管的 Skills 離開模型面向的 skill 目錄(仍可由用戶觸發,經 capability 加載);受管 MCP 保留原生執行鏈與權限校驗,但工具 schema 不再直接進入提示;模型側主要只看到一個 capability 工具,另在 system prompt 中加入有上限的能力名稱索引(僅名字,無描述與 schema)。
核心功能¶
暴露模型與 PTC 行爲¶
- Managed skills:從模型可見 skill 目錄移除,經
capability的load等動作按需加載說明與目錄。 - Managed MCP:
mcp__<server>__*類工具 schema 從提示中移除;call仍走原生權限與 guard 鏈。 - PTC mode:保留
run_code與capabilitySDK 綁定;受管 MCP 聲明省略,搜索/描述後再經tools.capability調用。 - promptIndex / promptHint:可配置是否在提示中加入能力名索引與「能力在
capability之後」的指引;索引字符上限默認 2000(配置範圍 200–6000)。
capability 工具動作¶
| Action | 用途 |
|---|---|
search |
按目標、短關鍵詞或名稱找候選 |
load |
返回某 skill 的說明與 base 目錄 |
describe |
返回單個 MCP 工具的 JSON Schema |
call |
調用 MCP 工具;先按 schema 校驗參數 |
status |
網關是否啓用及管理範圍概況 |
inventory |
緊湊統計、根目錄、覆蓋與異常摘要 |
history / stats |
當前會話路由元數據與窗口統計 |
report |
導出週報 Markdown |
搜索策略偏保守:無匹配時返回 not_found 並指向原生路徑,網關不會自行調用上游工具。
別名與中文檢索¶
中英文描述詞面不一致時,可通過配置別名縮小 gap,例如:
skillKeywords:
release-notes: [發佈說明, 變更記錄]
或通過 keywordPacks 引用 JSON 包;Skill 也可在 SKILL.md 中用 keywords: 聲明別名。無效 pack 不阻斷啓動,狀態與設置頁會標出覆蓋不完整項。
本地日誌與隱私¶
本地 journal 記錄搜索與調用的元數據(動作、目標名、路由、結果、錯誤碼、耗時、候選名與排名、插件版本等),不記錄查詢原文、工具參數、結果正文或錯誤體。默認目錄爲 $DSH_HOME/data/capability-gateway(配置鍵 logDir)。設置頁可查看用量統計與運行時記錄,並導出報告。
安裝與啓用¶
在 DSH profile 目錄下安裝包並註冊 bundle(命令與片段來自官方 README):
# from your DSH profile directory
pnpm add link:/path/to/dsh-capability-gateway # or: pnpm add dsh-capability-gateway
在 ~/.dsh/profiles/<profile>/package.json 中註冊,使插件層生效:
{
"dependencies": { "dsh-capability-gateway": "link:/path/to/dsh-capability-gateway" },
"dsh": { "profile": { "bundles": [
"@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-capability-gateway"
] } }
}
安裝後打開 Settings → Built-in plugins → Capability gateway → 配置,選擇 MCP 服務與 skill 目錄,覈對增刪後保存;Host 會持久化並重載配置。
也可手動 patch(注意:id 爲 capability-gateway 的 patch 會整體替換 config,需重複寫出所有需要的鍵):
# ~/.dsh/profiles/<profile>/cordis.patch.yml
- id: capability-gateway
config:
skillRoots:
- '~/.agents/skills'
mcpServers:
- my-mcp-server
包默認不管理任何 skill/MCP,範圍由安裝後的配置決定。重載插件或重啓 DSH 後,設置頁路徑爲 Settings → Built-in plugins → Capability gateway。
主要配置項¶
| Key | 默認 | 含義 |
|---|---|---|
enabled |
true |
false 時插件不生效,恢復原生暴露 |
skillRoots |
[] |
由網關提供服務的 skill 目錄 |
mcpServers |
[] |
受管 MCP 服務名 |
wrapSkills / wrapMcp |
true |
分別開關 skill / MCP 包裝 |
mcpKeywords / skillKeywords |
{} |
別名映射 |
keywordPacks |
[] |
按序合併的 JSON 別名包 |
promptHint / promptIndex |
true |
提示指引與名稱索引 |
promptIndexChars |
2000 |
索引字符上限 |
maxResults |
5 |
搜索返回候選數(1–10) |
logDir |
$DSH_HOME/data/capability-gateway |
日誌目錄 |
設置頁還提供範圍選擇、Search lab(與模型同一套排序邏輯,不執行 MCP、不寫 journal)、效果與診斷等 workflow;併發編輯會被拒絕,保存失敗時應先確認當前生效範圍再重試。
典型用法¶
模型或開發者側的可復現路徑可以概括爲:
- 在配置中把需要的
skillRoots與mcpServers納入管理並重載。 - 用
capability的search按任務意圖或名稱找候選(設置頁 Search lab 可先行驗證排序與匹配原因)。 - 對 skill 使用
load拉取說明;對 MCP 先用describe看 schema,再call傳參。 - 需要排查時用
status、inventory;需要會話級統計時用history/stats;需要彙總導出時用report。
示例別名配置見上文 YAML;完整動作表見 README 中 The capability tool 一節。
適用場景與注意¶
適合:已安裝較多 MCP 與 Skills、希望壓縮模型側工具定義體積,又希望保留按需調用能力的使用者;需要在中文 query 與英文 skill 描述之間建立別名映射的團隊。
注意:
- 插件在當前 DSH 進程權限下運行,安裝前應自行審閱 GitHub 源碼 與 MIT 許可證;社區目錄 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。
- 未納入
skillRoots/mcpServers的能力仍走 DSH 原生暴露路徑;網關關閉(enabled: false)時行爲與未安裝包裝時一致。 - 受管 MCP 的執行仍受 DSH 原生權限鏈約束;網關只改變「如何進入模型上下文」,不替代安全策略。
結尾¶
dsh-capability-gateway 用單一 capability 入口把 opt-in 的 Skills 與 MCP 從常駐工具目錄改爲按需發現與調用,並輔以名稱索引、別名與本地元數據日誌,緩解工具目錄膨脹與誤選問題。進一步瞭解與 issue 反饋見 GitHub;瀏覽社區條目見 SkillHub 目錄頁。
- 目錄頁:https://www.skillhub.cn/plugins/xiaomao361/dsh-capability-gateway
- GitHub:https://github.com/xiaomao361/dsh-capability-gateway