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)生效。

安全边界

由于裁判工具支持读取绝对路径,请勿在共享机器上开启此功能,除非你完全信任本地文件系统的安全策略。

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

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

小夜