karuboniru/dsh-approval-guardian ↗★ 0
dsh-approval-guardian
DeepSeek Harness bundle that routes real sandbox escalation prompts through a dedicated approval reviewer
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:karuboniru/dsh-approval-guardian说明文档
阅读完整 README ↗dsh-approval-guardian
dsh-approval-guardian 是一个 DeepSeek Harness(DSH)profile bundle。它只接管原本会通过 Web/ACP 弹窗要求用户允许或拒绝的沙箱扩权请求,并把有限的会话上下文、工具参数和提权理由交给一个全新的单次审批 Agent。
普通 workspace 操作不会进入自动审批流程。即使某个普通操作随后因沙箱限制执行失败,只要它没有触发真实的扩权审批,本插件也不会介入。
工作方式
一次工具执行会走下面三条路径之一:
| 请求 | 插件行为 |
|---|---|
| 当前 sandbox mode 内可直接执行 | 完全不介入 |
| 不是本次工具执行产生的审批,或不是严格扩权 | 调用下游 answerer,保留 DSH 原行为 |
| 与本次工具执行严格对应的 sandbox 扩权审批 | 启动无工具的单次 reviewer,直接应用 allow 或 deny |
审批完成后,结果通过 ToolRunContext.deferContext() 排在对应的 tool/result 后注入主 Agent 历史。reviewer 的说明会被显式包裹成不可信数据,不能反过来向主 Agent 注入指令。
环境要求
- Node.js
^22.19.0或>=24.0.0 - pnpm
- 与
package.json中 peer dependencies 兼容的 DeepSeek Harness profile
安装
在本仓库中安装依赖、构建并添加到目标 profile:
pnpm install
pnpm run build
dsh plugin --profile web add .
也可以将 Git URL 或已发布的包名传给:
dsh plugin --profile
add
Git 安装会执行 prepare。pnpm 10 及以上版本可能要求先在目标 profile 的 pnpm-workspace.yaml 中允许该包执行构建脚本。
包清单中的 dsh.bundle.patch 会让 DSH 自动加载 cordis.patch.yml。该 patch 将本插件注册在交互式 Web/ACP approval answerer 之前;未被插件认领的请求仍会继续传给后续 answerer。
配置
可以在 profile 自己的 cordis.patch.yml 中用相同 id 覆盖配置:
- id: approval-guardian
name: dsh-approval-guardian
config:
prompt: |
- Deny writes below /company/protected unless the user explicitly names the target.
- Allow routine package installation required by the user's task.
provider: deepseek-official
model: deepseek-v4-flash
subagentProvider: spawn
failureMode: fail-closed
timeoutMs: 90000
maxOutputTokens: 1024
| 字段 | 默认值 | 说明 |
|---|---|---|
prompt | 内置通用策略 | 替换 reviewer 固定提示词中的部署安全策略部分。角色、证据可信度和输出协议不可覆盖 |