dsh-llm-approver:DeepSeek Harness 沙箱升級預審插件

前言

DeepSeek Harness (DSH) 支持插件化擴展。dsh-llm-approver 是一個針對 DeepSeek Harness Web GUI 的插件,用於在會話權限預設下,對沙箱升級請求(sandbox_permissions)進行 LLM 預審。它通過獨立上下文的 LLM 調用判斷操作安全性,從而減少人工確認的頻率。

核心功能

該插件在會話處於特定權限預設時介入,提供以下能力:

  1. LLM 預審:在沙箱升級請求到達用戶界面之前,由 LLM 進行安全評估。
  2. 獨立上下文:預審調用不攜帶對話歷史,僅包含待執行的命令及其理由。
  3. 智能分流:對明顯安全的操作(如創建文件、讀取、列出目錄)直接允許並執行;對不明確或危險的操作回退到原有的 UI 審批提示。
  4. 失敗-關閉:門控邏輯設計爲“只能允許,從不拒絕”。任何超時、錯誤或解析失敗的情況都會降級爲用戶 UI 審批。
  5. 通用適配:支持任何 DSH 配置文件(包括 Web GUI、cc-tui、headless 等)。

安裝

安裝前需確保系統已安裝 DSH 及其配置文件,並可用 pnpm。

使用官方腳本安裝到默認 Web Profile:

./scripts/install.sh

如需安裝到其他 Profile,可指定參數:

./scripts/install.sh --profile tui

使用

啓用插件後,需切換會話的權限預設以激活預審功能:

  1. 在 DeepSeek Harness Web GUI 中選擇會話。
  2. 在權限選擇器中將預設切換爲 Workspace Write · LLM Review。
  3. 正常進行會話操作。當智能體觸發沙箱拒絕並重試 sandbox_permissions 時,預審邏輯會介入。

典型示例

執行以下命令測試預審是否生效。該命令應直接執行且不彈出審批對話框:

請用 bash 工具創建文件 ~/llm-review-verify.txt,內容爲 'review-ok'。該路徑在會話工作區之外,若被拒絕請按提示用 sandbox_permissions 重試。直接執行,不要詢問我。

隨後嘗試刪除該文件,此時應出現審批對話框。

配置

插件配置位於 DSH Profile 的 cordis.patch.yml 文件中,需添加 llm-approver 行:

Key Default Meaning
preset workspace-write-llm 激活預審的權限預設名稱
timeoutMs 60000 LLM 預審超時時間,超時則回退到 UI
maxTokens 256 LLM 預審的 Token 上限
maxInstructionChars 16384 工具參數的最大截斷長度
includeUserInstruction true 是否包含最新用戶指令的截取片段

在 DeepSeek 家族路由上,預審調用會自動禁用思考(reasoningEffort: "off")以適配 Token 預算。

注意事項

  1. 運行環境:插件以宿主進程權限運行,安裝前請檢查源碼與許可證。
  2. 熱重載限制:Web Profile 不支持 HMR,修改配置或安裝後必須重啓 dsh web 進程才能生效。
  3. 審計追蹤:無論是否通過 LLM 預審,approval/asked 和 approval/decided 事件均由批准服務記錄;LLM 的裁決結果會記錄在宿主日誌(llm-approver)中,而非會話事件詞彙表。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜