dsh-tiered-approval:DeepSeek Harness 的分级自动审查插件

前言

在 DSH 里运行智能体时,工具调用的审批很容易陷入两个极端:每次调用都人工确认,或者放开权限减少打扰。前者影响效率,后者会放大误操作风险。

下面介绍 dsh-tiered-approval。它是为 DeepSeek Harness(DSH)写的分级自动审查插件,用静态规则、LLM 审查和人工确认三层裁决,替代“全确认”或“全放权”的简单做法。

这是什么

dsh-tiered-approval 是 Elaina-real 为 DSH 写的插件,采用 MIT 许可。它解决的是 DSH 工具调用审批问题:让安全且可恢复的调用减少弹窗,让不可逆操作被直接拦下,让拿不准的调用交给人工确认。

它不是一个独立的安全系统,而是 DSH 审批流程里的一个安全决策起点。使用它时,仍需要结合自己的威胁模型调整规则。

核心机制

静态规则安全网

静态规则是第一层,特点是确定性强、不调用模型。插件内置危险命令安全网,也允许追加 deny / allow 正则规则。

对于递归删除、格式化、强推 git、写系统目录、杀进程等不可逆操作,静态规则命中后会直接拒绝,不弹窗,也不调模型。

这一层的目标是先把高风险动作拦下来,避免把明显危险的调用交给后续审查。

LLM 审查员

静态规则没有裁决的调用会进入第二层:LLM 审查员。

审查员会对工具调用做判断,结果是 allowdenyask。审查帧会包含最近一条用户消息,用来辅助判断调用是否与用户意图一致。

如果审查不可用,或审查员给出 ask,流程会进入人工兜底。

人工兜底与省事档

人工兜底负责处理拿不准的调用,弹原生确认框让用户决定。

插件还提供两个可配置项:

  • autoApproveAligned:审查结果为 allow,且用户指令与该调用高度对齐时,免弹窗放行。
  • alignDeny:静态 deny 命中的不可逆操作,如果用户明确点名要做,可降级为人工确认,而不是直接硬拒。

审查强度会自动跟随 Access 选择器,包括 read-onlyworkspace-writedanger-full-access

安装与启用

安装命令如下:

dsh plugin --profile web add dsh-tiered-approval

装完后需要在 cordis.patch.yml 中挂载插件,然后重启 DSH。最小配置如下:

# ~/.dsh/profiles/<profile>/cordis.patch.yml
- insert:
  - id: tiered-approval
    name: 'dsh-tiered-approval'

验证安装时,运行:

dsh --profile web --dump-config

确认输出中出现 dsh-tiered-approval 层。

典型用法

测试静态安全网时,可以执行一次包含危险递归删除的命令。示例命令如下:

Remove-Item ... -Recurse -Force

预期结果是:该调用被直接拒绝,且不弹人工确认框。

运行期间查看审查状态,使用:

/auto-review status

可以看到决策计数和最近决策。

升级和移除命令如下:

dsh plugin --profile web add dsh-tiered-approval@latest
dsh plugin --profile web remove dsh-tiered-approval

配置要点

常用配置项包括:

  • deny:追加硬拒绝规则。
  • allow:追加自动放行规则。
  • answerer.allowModes:审批应答者允许自动批准的升权模式。
  • answerer.allowJustifications:升权理由命中时允许自动批准的正则。
  • answerer.denyJustifications:升权理由命中时自动拒绝的正则。
  • autoApproveAligned:省事档开关,审查 allow 且用户指令高度对齐时免弹窗放行。
  • alignDeny:静态 deny 命中的不可逆操作在用户明确点名时降级为人工确认。

审查强度会跟随 Access 选择器变化。如果切到 Full access,预设会把审批策略设为 never,此时审查员给出 ask 会变成确定性拒绝。若需要保留人工兜底,就不要切 Full access。

适用场景与注意

适合:希望减少逐次确认、但不想直接放开全部权限的 DSH 使用场景。尤其适合在 read-onlyworkspace-writedanger-full-access 之间需要更细粒度审批判断的场景。

使用前注意:

  • 这是纯 vibe coding 产物,未经安全审计、与 DeepSeek 官方无关、不提供担保。
  • 插件代码在 node_modules,HMR 不追踪;修改代码后必须重启。
  • 开启审查时,工具完整参数和最近一条用户消息会发给审查模型;审查帧可能包含敏感文本。
  • 插件是安全决策起点,不是信任边界。安装前应阅读 lib/index.js,按自己的威胁模型调整规则,并在真正在意的事情上保留人工兜底。
  • Windows 的 pwsh 规则集已实测;POSIX 的 bash 规则集为理论兼容,未实测。

链接

  • 项目目录页:https://www.skillhub.cn/plugins/Elaina-real/dsh-tiered-approval
  • GitHub:https://github.com/Elaina-real/dsh-tiered-approval

以上链接为项目发布地址和代码仓库地址,不代表 DeepSeek 官方推荐或官方应用商店。

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

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

Xiaoye