dsh-review-format-guard:自动审查 JSON 格式校验与有限重试

前言

DeepSeek Harness(DSH)在 Auto review 模式下,会先让模型对工具调用做审查,再决定是否执行。审查结果应是符合 DSH 原生规则的完整 JSON。若上游 API 网关返回散文、Markdown、工具调用标记或不完整 JSON,DSH 可能在工具尚未执行前就报错,例如 Unexpected token ... is not valid JSON、REVIEW_JSON_INVALID 或 Review response is not one complete JSON object。

这类问题通常不能靠改提示词单独解决。社区插件 dsh-review-format-guard(维护者 MintMilk777)挂在 DSH 插件接口上,对自动审查响应做严格校验、剥离少量已知包装,并在格式无效时有限次重试;合法的拒绝会立即返回,插件不会伪造通过。

这是什么

dsh-review-format-guard 是面向 DSH 的小型插件,当前发布版本为 0.1.0,许可证 MIT。它在不替换内置审查器、不修改 provider URL 与权限的前提下,拦截并缓冲符合 DSH 已知原生审查策略的请求,只接受完整且字段合法的审查决策 JSON。

SkillHub 目录将其归类为「模型推理」;仓库地址:GitHub - MintMilk777/dsh-review-format-guard,目录页:skillhub.cn/plugins/MintMilk777/dsh-review-format-guard。DSH 生态强调「一切皆插件」;SkillHub 为社区独立站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

下面介绍插件在资料中明确描述的行为,未列出的能力不要假设存在。

匹配范围与透传

默认不按 provider 或模型名做白名单。仅处理与 DSH 已知原生审查策略及消息结构匹配的请求;无法识别的策略与请求结构原样透传,插件不产生效果。

消息与响应处理

插件保留原始 policy 与 pending-action 数据,并在数据之后再次附带同一 policy,以缓解部分服务错误处理 system 消息的情况。响应在返回 DSH 前会先缓冲,只有通过原生字段规则校验的完整决策才会放行。

可剥离的格式包装包括:JSON 代码围栏、首尾空白、 leading BOM;对 reasoning 快照中经检查的「仅空白差异」也有处理。插件不会从散文、推理文本或 tool-call 标记里搜索并抽取「通过」结论。

重试与超时

默认最多 3 次尝试(含对部分临时服务错误的重试)。单次尝试默认 60 秒上限;部分失败会提前结束。合法拒绝(valid denial)不重试,直接返回。若全部尝试仍无法得到合法 JSON,审查仍失败,插件不会伪造通过。

日志与边界

插件日志以诊断码与计数为主,不包含原始对话、凭证或模型全文(DSH 与 provider 各自管理其日志)。合法 JSON 也不保证授权决策本身正确;重试可能增加延迟与 API 费用,无法恢复不可用服务。鉴权失败、合法拒绝、工具执行后的错误需另行排查。

安装与启用

安装包为 Release 附件 dsh-review-format-guard-0.1.0.tgz,不要用 ZIP 或 GitHub「Source code」包代替安装。校验和见同版本 Release 的 SHA256SUMS.txt。

  1. 从 v0.1.0 Release 下载 .tgz,保持压缩格式勿解压。
  2. 任选一种安装方式(完整说明见仓库 INSTALL.en.md)。

方式一:DSH 插件页

在 DSH 插件页选择「Add plugin / Install a third-party plugin」(不同版本文案可能略有差异),填入 .tgz 的绝对路径,或直接使用 Release 归档 URL:

https://github.com/MintMilk777/dsh-review-format-guard/releases/download/v0.1.0/dsh-review-format-guard-0.1.0.tgz

确认安装详情后完成安装;若提示重启则重启,并确认插件 dsh-review-format-guard 已启用。该包尚未发布到 npm,需从 Release 归档安装。

方式二:Windows 桌面版 bundled 命令

先打开 DSH 初始化桌面 profile,再完全退出 DSH。在含 DeepSeek Harness.exe 的目录打开 PowerShell,使用内置 CLI(勿混用单独安装的 npm 版 dsh):

$reviewGuardPackage = (Read-Host "Paste the full path to the downloaded .tgz file").Trim('"')
& "./resources/runtime/cli/bin/dsh.cmd" plugin --profile desktop add $reviewGuardPackage --ignore-scripts

--ignore-scripts 表示不运行包生命周期脚本;本插件不需要这些脚本。

其他 profile(非 desktop)

在已具备对应 dsh 命令的环境中:

dsh plugin --profile web add "/absolute/path/dsh-review-format-guard-0.1.0.tgz" --ignore-scripts

将 web 换成你实际使用的 profile;在无关目录执行普通 npm install 不会在 DSH 中挂载插件。

  1. 重新打开 DSH,确认插件启用,且对话处于 Auto review 模式。

兼容说明(资料原文): 已在 Windows 上测试 DSH 0.2.1-rc.3。0.2.1-alpha.2 至 alpha.5、rc.1、rc.2 的 auto-review 源文件与 rc.3 相同,属源码层面的候选版本,并非额外安装测试。仓库未声明 DSH 版本安装阻断范围。

典型用法与验证

安装完成后,用只读、低风险的请求验证自动审查链路是否走通。官方 README 与安装文档建议使用类似下面的英文提示(Full access 下工具能成功不能说明 auto-review 正常):

Show the current working directory without changing any files.

若仍失败,记录错误码并参考仓库 TROUBLESHOOTING.en.md。高风险场景应在隔离进程中用虚构输入测试,勿在 live 对话中尝试危险操作。

停用:在插件页关闭插件并按提示重启。卸载示例(Windows desktop,安装目录下、DSH 已完全退出后):

& "./resources/runtime/cli/bin/dsh.cmd" plugin --profile desktop remove dsh-review-format-guard --ignore-scripts

其他 profile 将 desktop / 命令路径换成对应配置即可,例如 dsh plugin --profile web remove dsh-review-format-guard --ignore-scripts。

适用场景与注意

适合: 工具未执行且 DSH 报审查响应非 JSON、JSON 不完整或 REVIEW_JSON_INVALID 等错误;上游网关偶发返回 Markdown、散文或畸形 JSON,而你需要在 Auto review 下尽量完成格式兼容而非改 bypass 审查。

不适合或需另查: 鉴权失败、模型给出的合法拒绝、工具已执行之后的错误、服务长时间不可用——插件不能替代这些排查。

安装前: 插件以当前 DSH 进程权限运行。安装前应阅读源码与 MIT 许可证,确认可接受后再启用。问题可去 GitHub Issues 反馈,提交时请去掉密钥与私密内容。

结尾

经过上面的步骤,你可以在 Auto review 场景下用 dsh-review-format-guard 收紧审查响应格式、在边界内重试畸形结果,并保留合法拒绝。进一步细节见仓库 README、COMPATIBILITY.en.md 与 docs/TECHNICAL.en.md。

  • 目录页:https://www.skillhub.cn/plugins/MintMilk777/dsh-review-format-guard
  • GitHub:https://github.com/MintMilk777/dsh-review-format-guard
羽毛球分组比赛记分
小程序二维码

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

小夜