DeepSeek Harness(DSH)的 Web UI 提供了基础的沙箱权限预设,但在处理复杂任务时,有时需要更灵活的中间状态或自动化审批机制。dsh-agent-approval 插件填补了这一空白,它引入了一种新的权限模式:在保持 workspace-write 安全基线的同时,将所有提权请求交由独立的审批代理自动裁决。
核心功能¶
该插件主要提供以下能力:
- 权限预设扩展:在
/permission菜单新增 Agent 审批 预设。选中该预设即开启,切到其他预设时自动关闭。 - 自动裁决机制:开启后,沙箱基线固定为
workspace-write,审批策略由插件接管为ask。每次提权请求不再弹窗,而是由一次性spawn的子代理进行裁决。子代理拥有独立会话、零工具权限,只能读取上下文并进行判断。 - 风险控制:审批代理会判断操作是否属于破坏性、不可逆或越界行为。只有符合“安全、可逆、与任务相符、理由诚实”的操作才会被批准,否则直接拒绝。
- Fail-closed 策略:为了安全起见,如果审批代理启动失败、超时或返回结果不合法,一律按拒绝处理,绝不静默放行。
- 可配置性:支持在设置页选择审批模型(Provider + Model)和超时时间。不选择模型时使用 Harness 默认模型。
- 审计与记录:会话窗口顶部会出现「审批」标签页,展示本会话的审批记录(结论、风险等级、模型、耗时、理由)。记录以独立文件形式存储于会话目录。已批准的行可一键「加白」存为放行规则。
- 状态恢复:关闭插件时,会自动恢复开启前的权限旋钮状态。
安装¶
使用官方 dsh plugin 命令安装。该插件是一个标准 DSH bundle,通过 dsh.bundle.patch 和 cordis.patch.yml 完成挂载和菜单注册。
dsh plugin --profile web add /path/to/dsh-agent-approval
重启 DSH 后,设置面板会出现 Agent 审批 页,/permission 菜单会出现第四项 Agent 审批。
如果需要为菜单项添加图标,可在安装后运行:
npm run patch:glyph
使用¶
- 开启审批:在
/permission菜单中选中 Agent 审批,或直接输入/agent-approval on。 - 查看与加白:在会话窗口顶部,点击「审批」标签页查看审计记录。对于已批准的行,可一键「加白」存为放行规则。
- 配置模型:进入设置页,配置审批模型、超时时间以及放行/拒绝规则。
- 关闭审批:切换回其他预设,或输入
/agent-approval off,系统将恢复开启前的沙箱模式与审批策略。
注意事项¶
- 许可证:遵循 MIT License。
- 记录存储:审批记录以独立文件形式存储在会话存储目录中,删除会话即删除记录。
- 权限运行:插件以当前 DSH 进程权限运行,安装前建议检查源码。
更多细节与目录链接:DeepSeek Harness Agent 审批权限插件