DeepSeek Harness (DSH) 的默認沙箱通常允許 Agent 運行命令(如 bash 或 pwsh)來讀寫文件或訪問網絡,這增加了失控的風險。在開發或調試智能體時,需要一種機制在關鍵操作發生前確認意圖。下面介紹一個插件,它會在選定的工具執行前強制暫停並等待用戶明確的批准或拒絕。
是什麼¶
這是一個 DeepSeek Harness 插件,由 J0ss077 維護,屬於工作流類別。它的作用是在 Agent 調用配置列表中的工具時,強制暫停並等待用戶明確的批准或拒絕,防止未經授權的命令執行。
核心功能¶
- 審批攔截:攔截選定的工具,在執行前等待用戶批准。
- 默認監控:默認監控列表包含
bash和pwsh。 - 單次審批:每次調用都需要單獨審批,批准一次不等於獲得授權。
- 子代理轉發:將子代理的審批請求轉發到頂層會話,由主會話用戶統一決策。
安裝與啓用¶
使用 web 配置文件安裝插件(該配置默認包含審批服務):
dsh plugin --profile web add @j0ss077/dsh-always-require-tools-approval
安裝後需重啓 DSH GUI。如果使用其他 Profile,需確保該 Profile 已配置審批服務。
典型用法¶
- 編輯配置文件
~/.dsh/settings.yaml,添加或修改tools列表:
always-require-tools-approval:
tools: ["bash", "pwsh", "node"]
- 當 Agent 調用
bash時,流程會暫停,提示:
Approve this tool execution? - 選擇 Approve 則執行該次調用;選擇 Reject 則拒絕並通知 Agent。
適用場景與注意¶
- 適用場景:需要嚴格控制 Agent 執行 Shell 命令或敏感工具的場景,如調試複雜的自動化腳本。
- 安全模型:採用“一次一票”機制,批准一次僅對應一次執行。如果拒絕或沒有審批渠道,工具將被拒絕(Fail closed),不會自動批准。
- 未監控工具:不在監控列表中的工具不受影響,由下一個插件處理。
- 前置要求:需確保使用的 DSH Profile 配置了審批服務(如 web profile),且 Node.js 版本需 >= 22.19。
- 權限說明:插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
結語¶
通過這個插件,可以將 Agent 的命令執行權收歸用戶控制,在安全性和靈活性之間建立一道明確的審批關卡。更多細節請查閱項目倉庫與插件目錄。