dsh-auto-review
PerryLink/dsh-auto-review
审批链上的第二模型自动审查:只读审查子代理返回带理由的 allow/deny 结构化裁决,默认 fail-closed。
安装
把 dsh-auto-review 装进 DeepSeek Harness
npm 方式
直接拉已发布的 tarball,不用克隆整个仓库,也不需要额外配置。如果你用的是别的 profile,把 `web` 换成对应的名字。
GitHub 方式 · npm 包
从 GitHub 装会执行项目自己的构建脚本,而 pnpm 默认拦着不让跑——先跑一次这条命令,pnpm 会打印出要加到 ~/.dsh/profiles/web/pnpm-workspace.yaml 里 `allowBuilds` 下面的那个 key。
我们跑过之后
我们跑过,装得上
这里每条命令都在一次性容器里、对着干净 profile 真跑过,结果取自 harness 自己的记录,不是读源码猜的。 最近一次 6 天前.
安装前须知
装 dsh-auto-review 之前,先看这几条
- 源码在这里: PerryLink/dsh-auto-review——已进入社区精选库,DSH 自带的插件市场就是从这儿装的。
- 开源协议:Apache-2.0。
- 自动识别到:终端执行、需要密钥。授权之前请先读一遍源码。
- 被收录在这里不代表通过了安全审计。插件是带着你 agent 的权限在跑。
AI 锐评
是什么 — DeepSeek Harness plugin,提供审批链上的第二模型自动审核。
谁该装 — 当你在DeepSeek Harness中使用agent处理跨沙箱边界动作时,需要结构化的 allow/deny 审核结果。 如果你的工作流更依赖人工审批而非子代理决策,则无需安装此 plugin。
注意 — 沙箱测试通过,在全新 profile 中安装并注册成功。 安装后需要提供 API key 或 token。 会执行 shell 命令。
锐评 — 我会装它,因为它实现了 fail-closed 的默认策略,在审核失败时能防止不安全动作通过。
grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。
dsh-auto-review 是做什么的

dsh-auto-review 是一个 DeepSeek Harness 插件,用第二个模型在审批请求进入人工链路前进行只读审查,并返回带理由的 allow 或 deny 裁决。它接入 approval/request answerer:匹配 ai 策略的请求会启动一次性 reviewer 子代理,其他请求通过 next() 继续交给原有审批流程。
reviewer 只能使用 read、glob、grep,可读取工作区、已流式传入的工具参数(敏感值会脱敏)、请求理由和 riskRules。结果包含 decision、reason、riskLevel;拒绝理由会按 callId 写入被拒绝的工具结果,供调用模型理解。决策还会记录为 autoReview/verdict 或 autoReview/rejection 会话事件。默认 fallbackPolicy 是 rejected,崩溃、超时或结构不匹配都会拒绝。
适合需要基于实际证据自动复核、又不希望 reviewer 修改文件或执行终端操作的工作流。若所有请求都必须由人工决定,或不希望第二个模型读取工作区并使用所需 credentials,则不应安装。默认只对 bash 和 write 进行 AI 审查;edit 仍交给人工,除非在 cordis.yml 中显式配置。作为 DeepSeek Harness 插件,dsh-auto-review 还提供 /auto-review on、/auto-review off 和一次性 /auto-review approve 控制。
dsh-auto-review 的文档
dsh-auto-review 的行为
DeepSeek Harness 在 approval/request answerer 链上加载 dsh-auto-review。请求依次产生 approval/asked、autoReview/verdict 或 autoReview/rejection、approval/decided 事件。reviewer 会按身份识别并委派请求;maxDepth 与 reviewerTools 限制其继续调用。拒绝理由会写入调用模型收到的工具结果;fallback 和 never 策略还会写入 [auto-review-fallback]、[auto-review-never] 标记。每回合触发三次连续拒绝,或最近十次中累计六次裁决时,拒绝断路器会介入。
dsh-auto-review 的配置
DeepSeek Harness 从 cordis.yml 读取 Schemastery 配置。按 id 覆盖时会替换整行,需重新写出需要保留的键。
| 键 | 默认值 | 作用 |
|---|---|---|
enableByDefault |
true |
新会话是否启用;/auto-review on|off 会写入持久覆盖 |
toolsPolicy.default |
human |
未列出工具的策略 |
toolsPolicy.overrides |
{} |
按工具设置 ai、human 或 never |
riskRules |
[] |
按 reason、toolName 或 arguments 匹配正则规则 |
reviewerModel |
inherit | reviewer 使用的模型路由 |
reviewerTimeoutMs |
60000 |
裁决截止时间 |
fallbackPolicy |
rejected |
失败时使用 rejected、delegate 或 allow-once |
maxReviewsPerTurn |
10 |
每回合 AI 裁决上限 |
maxFailuresPerTurn |
10 |
每回合 reviewer 失败上限 |
其他配置包括 reviewerProvider、reviewerTools、reasonMaxChars、reviewerGuidance、reviewerPolicyText 和 denyGuidance。
命令与环境要求
DeepSeek Harness 提供 /auto-review on、/auto-review off 和一次性 /auto-review approve。插件要求 DeepSeek Harness 0.1.1-rc.2,peer 范围为 >=0.1.0-rc.8 <0.2.0,Node 要求为 ^22.19.0 || >=24.0.0。支持所有平台;可选 Web review panel 依赖 session-projection capability。未设置 reviewerModel 时,reviewer 继承 session agent 的路由。
根据项目自己的文档整理,会跟着上游更新。两边对不上时以源码仓库为准—— 去 GitHub 看原始 README
同一分类