前言¶
在使用 DeepSeek Harness (DSH) 進行智能體開發時,控制技能、MCP 服務器或安全防護通常需要修改代碼或配置文件。當需要在運行時動態調整這些能力時,現有流程往往不夠靈活。dsh-capability-toggle-plugin 插件提供了一種從 WebUI 進行實時控制與強制執行的方案。
這是什麼¶
這是一個由 lifeopsgo 維護的 DeepSeek Harness (DSH) WebUI 插件。它允許管理員在會話、項目或全局三個層級上控制技能、MCP、工具、提示注入以及安全防護(如批准和防護)。該插件對能力執行真實的運行時強制執行,包括移除、隱藏、抑制、拒絕或阻止。
核心功能¶
三級分辨率
支持 session > project > global 三級配置。最近的顯式值勝出。未設置的能力會推遲到下一級;如果所有級別都未設置,能力保持啓用。面板行徽章始終顯示解析結果。
能力分類
提供對以下內容的控制面板:
* Skills:單個模型可調用的技能
* MCP:MCP 服務器(展開行可查看成員工具)
* Tools:單個模型可見的工具及其指導部分
* Prompt:安全的提示注入白名單
* Security:批准升級和五個可選的安全防護
運行時強制執行
根據能力類型,禁用操作會採取不同措施:
* tool / mcp:通過 ctx.tools.restrict({ deny }) 移除,強制調用被拒絕
* skill:被同名的 modelInvocable:false 運行時技能隱藏
* prompt:被隱藏爲空文本,或通過 suppressRuntimeContext() 抑制
* approval:作用域內的批准請求解析爲 rejected
* guard:在 tools/pre-execute 中阻止或請求確認匹配的調用
使用統計
技能、MCP 服務器和工具顯示一個小徽章,表明本次會話中被調用的次數。計數在回合結束時更新,並在代理生命週期內保持,且不會被持久化。
面板首選項
面板標題旁的展開箭頭打開三個顯示首選項,存儲在 localStorage 中以保持刷新和重啓後生效:
* Show “enabled / total” on tabs:將徽章渲染爲分數(如 67/106)
* Show call stats:顯示或隱藏每行的使用徽章
* Level columns to show:僅顯示會話、會話+項目或全部三列
安裝與啓用¶
- 確保系統滿足 Node.js >= 22.6。
- 執行安裝命令:
dsh plugin --profile web add github:lifeopsgo/dsh-capability-toggle-plugin#v1.3.2
- 重啓 DSH Web GUI 進程並刷新頁面。
典型用法¶
- 在代理空閒時,打開控制按鈕旁邊的按鈕。
- 切換能力以開啓或關閉。
- 使用小的清除徽章將能力返回到“未設置”狀態。
- 查看使用統計徽章以瞭解調用計數。
適用場景與注意¶
- 適用場景:需要動態調整智能體能力的場景,例如測試不同配置下的行爲或臨時限制某些危險操作。
- 兼容性:兼容 DSH 0.1.x 線;
peerDependencies拒絕 0.2.0 及更高版本。 - 安全防護:安全防護是可選的,通過確認提示進行管理。
- 未設置邏輯:未設置的能力會推遲到下一級;如果所有級別都未設置,能力保持啓用。
短結尾¶
該插件通過將能力控制集成到 WebUI 中,簡化了 DSH 環境的運行時管理。它支持複雜的層級覆蓋和統計功能。更多細節請訪問 GitHub 倉庫。