前言¶
在 DeepSeek Harness (DSH) 的開發中,沙箱權限升級(如執行 Shell 命令、修改文件)是必須謹慎處理的環節。通常需要手動審批或編寫複雜的規則邏輯。dsh-llm-approve-for-me 插件通過內置的審查角色,利用 LLM 自動判定這些權限請求,減少人工干預的繁瑣,同時保持決策的靈活性。
插件定位¶
這是一個 DeepSeek Harness 插件,通過內置審查角色自動判定沙箱權限升級。由用戶 alaxrpg 維護,遵循 MIT 許可證。它解決了“如何在自動化流程中安全地處理沙箱權限請求”的問題,將決策權交給配置的 LLM 模型,而非硬編碼規則。
核心功能¶
- 自動審查權限升級:攔截所有帶
sandbox_permissions的工具調用,包括 Shell/PowerShell 命令、write/edit文件寫入等。 - 專用審查角色:使用內置的
REVIEWER_ROLE。該角色無工具、無會話、單請求快速裁決,不借用環境中的通用子代理模板。 - 輕量級執行:不創建 Agent 或 Session,不污染子代理列表。每次授權僅返回原生的
allowed-once一次性授權。 - 可視化面板:在 DSH Web 會話頂部提供“幫我批准”面板。
- History:按 session 隔離展示最近 100 條審批記錄(包含請求目標、理由、權限、審查模型、AI 結論與結果)。
- Settings:可視化調整審查模型參數。
- 模型配置:支持配置審查模型的 Provider、Model、Timeout 和 Max tokens。
安裝與啓用¶
在 DSH profile 中執行以下命令安裝:
dsh plugin --profile web add github:alaxrpg/dsh-llm-approve-for-me
安裝完成後重啓 DSH Web。插件會自動添加“幫我批准”權限預設到會話中(可手動在設置頁覆蓋)。點擊會話頂部的“幫我批准”即可進入審批面板。
典型用法¶
1. 配置審查模型¶
安裝並重啓後,進入“幫我批准”面板的 Settings 頁面。建議將審查模型設置爲快速非推理模型以提升響應速度。
| 設置項 | 默認值 | 範圍 | 說明 |
|---|---|---|---|
| Reviewer provider | 空(繼承主會話) | 任意 provider 名 | 留空則繼承提出請求的會話配置 |
| Reviewer model | 空(繼承主會話) | 任意 model 名 | 推薦指向快速非推理模型 |
| Timeout | 300 秒 | 1–600 秒 | 推理模型的思考時間計入超時 |
| Max tokens | 16384 | 256–65536 | 含推理過程 |
配置保存後會寫入 ~/.dsh/llm-approve-for-me.settings.json,無需重啓立即生效。
2. 審查協議¶
插件通過 DSH llm 服務向內置角色發起請求,要求其返回嚴格的 JSON 格式:
{"decision":"allow","rationale":"原因"}
decision:僅支持allow、deny或ask。rationale:必須使用簡體中文輸出一句話理由。
注意事項與配置¶
- 嚴格 JSON 格式:審查模型必須返回標準 JSON。如果輸出包含 Markdown code fence 或非 JSON 響應,系統會自動回落到人工審批。
- 異常處理:審查超時、取消、模型調用異常或輸出無效時,系統會回落人工審批並記錄具體原因(同樣爲中文)。
- 目標提取限制:對於無法提取審查目標的請求(如某些帶升級參數的工具),系統會交回人工審批。
- 內容截斷:審查摘要會自動截斷至 2000 字符,防止大文件刷屏。
- 優先級規則:設置文件
~/.dsh/llm-approve-for-me.settings.的優先級高於靜態配置。 - 非安全產品:本插件非安全產品,不能替代人工授權、最小權限原則、數據備份或隔離措施。它的作用是將授權判斷交給 LLM,而非作爲防火牆使用。
結語¶
dsh-llm-approve-for-me 爲 DeepSeek Harness 用戶提供了一個基於 LLM 的沙箱權限審查方案。通過配置和監控審批歷史,可以在自動化與安全性之間找到平衡。更多細節可參考其 GitHub 倉庫。