dsh-auto-approval:DeepSeek Harness 的 Guardian 風格自動審批插件

前言

DeepSeek Harness (DSH) 提供了 Read-only / Workspace / Write / Full Access 四種權限模式,但「是否彈窗詢問用戶」的邏輯僅支持 ask / never 兩檔。這在處理細粒度風險時往往過於粗糙,導致開發者需要在高頻低危操作中頻繁點擊確認。

dsh-auto-approval 插件爲 DSH 增加了第五種姿態:Guardian 模式。它引入了一個 LLM 子代理,在觸發彈窗前先評估風險並驗證本地狀態。低風險操作將直接放行,不確定的操作則照常詢問。

核心功能

LLM 風險評估與會話分析

插件模仿 Codex 的 “Approve for me” 機制。裁判會讀取會話記錄,將其作爲「不可信證據」進行注入,判斷用戶是否真正授權了當前操作。

本地狀態驗證

裁判在判斷前可調用三個只讀工具驗證本地文件系統:
* read_file:讀取文件內容
* list_dir:列出目錄項
* stat_path:查看路徑狀態

這解決了「用戶是否真的授權刪除一個不存在的文件」等邏輯判斷問題。

四字段裁決機制

裁判輸出包含四個維度的結論:
* risk_level:風險等級
* user_authorization:用戶授權度
* outcome:放行或攔下
* rationale:判定理由

只有明確判定爲安全的操作纔會靜默執行。

安裝與啓用

安裝

下載對應的 .tgz 文件後執行:

dsh plugin --profile web add dsh-auto-approval-<version>.tgz

啓用與配置

安裝後需要重啓 DSH。啓用方式有兩種:
1. 界面操作:在輸入框工具列表中,找到權限模式開關旁的 Auto 藥丸,點擊開啓。
2. 配置文件:在 settings.yaml 中配置 auto-approval 命名空間,或通過「設置 -> Auto 審批」面板進行配置。若要默認關閉,可在配置中設置 enabled: false。

技術細節與注意事項

Fail-closed 設計

這是插件的安全基石。如果裁判出現錯誤、超時(默認 90 秒)、返回無法解析的內容或步數耗盡,系統會自動降級爲人工彈窗。

模型要求

用於裁判的模型必須支持 Function Calling。如果模型不支持工具調用,插件將退化爲簡單的文本判斷。

UI 體驗

判定期間界面無反饋,最壞情況會出現 90 秒的超時延遲。這是設計取捨,並非卡死。

適用範圍

插件作用於整個進程,對所有會話(包括子 Agent)生效。

安全邊界

由於裁判工具支持讀取絕對路徑,請勿在共享機器上開啓此功能,除非你完全信任本地文件系統的安全策略。

羽毛球分组比赛记分
小程序二维码

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

小夜