前言¶
DeepSeek Harness 的设计里,插件可以补上工作流中的具体缺口。dsh-proof 要处理的问题比较明确:在一个 top-level turn 即将关闭时,先让一个只读 verifier 对结果做一次独立验收;如果 verdict 不是 pass,再把 gap 和后续 steering 送回驱动 agent。
下面介绍它的定位、工作方式、安装配置方式,以及部署时需要留意的限制。
这是什么¶
dsh-proof 是 DeepSeek Harness 的 independent read-only acceptance layer。由 EvilIrving 维护,许可证为 MIT,package.json 中版本为 0.1.0。
它依赖 subagents service,也就是官方的 dsh-subagent providers。
核心功能¶
1、拦截“即将关闭”的 top-level turn。
它通过 agent/turn-stopping 介入,并串行等待该过程完成,再让 turn commit。
2、启动只读 verifier。
它使用:
ctx.subagents.start('spawn', …)
启动 verifier,并配合:
toolFilter.deny
outputSchema
收集结构化 verdict。
3、把未通过项送回驱动 agent。
当 verdict 是 fail 或 insufficient-evidence 时,插件会注入 gap details,并给出后续 steering。
4、阻止 verifier 递归调用。
它通过以下约束限制递归:
delegationDepthOf(agent) > 0
maxDepth: 0
5、默认限制 verifier 可使用的工具。
默认 denyTools 包括:
write
edit
str_replace_editor
bash
run_code
subagent
默认保留这些只读发现类工具:
read
read_image
glob
grep
安装与启用¶
先从 GitHub 安装:
dsh plugin --profile <name> add github:EvilIrving/dsh-proof
这里的 <name> 是占位符,需要替换为实际 DSH profile 名称。
也可以从本地 checkout 安装:
dsh plugin --profile <name> add ./dsh-proof
启用前需要确认当前环境已经提供 subagents service。
典型用法¶
安装后,可以在 cordis.yml 中配置 plugins.dsh-proof.config。例如:
plugins:
dsh-proof:
config:
maxAttemptsPerTurn: 2
denyTools: [write, edit, str_replace_editor, bash, run_code, subagent]
maxAttemptsPerTurn: 2 表示每个 turn 最多尝试两次验收。
denyTools 用于声明 verifier 不能使用的工具。这个列表必须匹配当前部署实际注册的工具名,因为 tools.restrict 会对未知名称直接报错。
适用场景与注意¶
dsh-proof 适合希望在 DSH 智能体 turn 关闭前增加一层只读验收的部署场景。
部署时需要重点注意以下几点:
1、verifier 继承父 agent 的工具集合,并通过 deny list 收窄权限;它不会看到显式 whitelist。
2、denyTools 必须与部署中的工具一致。默认列表覆盖 write、edit、str_replace_editor、bash、run_code、subagent;如果部署新增了其他 mutating tools,需要自行扩展列表。
3、该插件不做 evidence normalization。verifier 自己收集证据,插件不会重新实现 diff、test、typecheck、lint 等流程。
4、spawn 是 best-effort。如果 provider 不存在或请求被拒绝,流程会降级为 no-op,并记录日志。
5、当 verifier 结束状态不是 completed,或者缺少结构化结果时,会被视为 no objection。也就是说,一次 failed proof 不会直接让用户的 turn 失败。
6、插件以当前 DSH 进程权限运行。安装前应检查源码、依赖和 MIT 许可证。
结尾¶
dsh-proof 提供的是一个比较具体的插件能力:在 top-level turn 关闭前插入只读验收,并把非 pass 的 gap 送回驱动 agent。它的价值不在于替代业务验证流程,而在于给 DSH 工作流增加一个可配置的验收点。
GitHub 链接:
https://github.com/EvilIrving/dsh-proof