前言¶
DeepSeek Harness(DSH)的自动审查(Auto review)会在工具调用等节点额外走一次模型推理。官方实验插件 @deepseek-ai/dsh-experimental-auto-review 把这次审查固定为当前会话正在用的渠道与模型:审查和工作对话共用同一条路由,容易一起占满并发或配额。官方 README 也写明没有可配置的策略层,在 cordis.patch.yml 里给官方插件写 provider / model 不会生效。
社区插件 @mrjiage/dsh-auto-review-route(维护者 MrJiaGe,分类:模型推理)在不修改官方审查插件的前提下,只在 llm/stream 瀑布层识别审查请求并改道到你选的渠道与模型。下面介绍它的定位、配置方式与使用边界。
这是什么¶
dsh-auto-review-route 是 MIT 许可的第三方 DSH 插件(版本 0.1.0,非 DeepSeek 官方组件)。它解决的是:让 Auto review 的 LLM 调用走与会话不同的 provider / model,从而避免审查和工作模型抢同一个并发额度。官方包 @deepseek-ai/dsh-experimental-auto-review 一个字都不改;运行时依赖 DSH 提供的插件接口。
官方行为与本插件的差异¶
官方审查从会话头里取 provider 和 model,再调用 ctx.llm.stream(options),且未导出 Config,因此无法通过 patch 配置审查路由。
本插件利用 DSH 契约里对 llm/stream 的说明(retry、replay、routing),在流式调用链上做一次识别与改道:认出审查请求后替换 provider / model,system、messages、temperature、signal 等其余字段原样转发。
识别同时满足以下条件(与官方审查调用特征一致,并排除普通对话、compaction、会话标题等):
| 条件 | 作用 |
|---|---|
system 以 REVIEW_POLICY 开头(可用 marker 覆盖) |
对应官方固定审查提示词首行 |
temperature === 0 |
官方审查固定为 0 |
tools === undefined |
审查不带工具 |
purpose === undefined |
排除带 compaction、session-title 等用途的调用 |
未配置有效路由时插件完全惰性,行为与官方一致。
核心功能¶
- 可选改道:在 profile 里同时配置
provider与model后,仅审查请求被路由到目标渠道;普通对话不受影响。 - 可选推理档位:
reasoningEffort为空则跟随目标模型默认;支持off / minimal / low / medium / high / xhigh / max,不支持的档位会被丢弃。 - 配置即时生效:UI 保存后写入 profile 的
cordis.patch.yml,字段为 volatile,一般无需重启 DSH。 - 失败回落:渠道不存在、模型不可用或档位不支持时打日志并回落到官方路由,不阻断审查。
- 不改策略与生命周期:不预置默认渠道、不注入提示词、不写独立磁盘配置、不新增会话事件。
安装与启用¶
README 未给出单独的 CLI 安装命令。常见做法是在 DSH 内通过插件管理器从社区目录安装本插件,目录页:
https://www.skillhub.cn/plugins/MrJiaGe/dsh-auto-review-route
源码与说明见 GitHub 仓库:
https://github.com/MrJiaGe/dsh-auto-review-route
安装前请自行阅读仓库源码与 MIT 许可证。插件以当前 DSH 进程权限运行,会参与 LLM 路由;使用非官方直连 API 时,若上游对请求做提示词注入、改写等干扰,可能影响审查结果或导致失败,此类行为不受本插件控制。
卸载可通过插件管理器完成;卸载后 profile 里可能仍保留该插件的配置行,一般不影响运行。若要彻底清理,可在当前 profile 的 cordis.patch.yml 中删除 auto-review-route 对应项后重启 DSH。
配置与典型用法¶
配置项位于 profile 的 cordis.patch.yml,也可在 UI 中修改。provider 与 model 必须同时非空才生效,只填一项等于未配置。
| 键 | 默认 | 说明 |
|---|---|---|
provider |
"" |
审查使用的渠道;空表示不接管 |
model |
"" |
该渠道上的模型 ID;空表示不接管 |
reasoningEffort |
"" |
可选推理档位;空表示跟随目标模型 |
marker |
"REVIEW_POLICY" |
审查 system 前缀;仅当官方更改标识时需调整 |
在 DSH 侧栏打开 设置 → 插件 → dsh-auto-review-route → 配置:
- 在 渠道 下拉中选择
ctx.llm.listProviders()返回的 provider(如文档示例中的wdtn、workbuddy、deepseek-account等)。 - 选择渠道后,模型 列表从
ctx.llm.listModels(provider)拉取;拉不到时可改为手动输入模型 ID。 - 按需设置 推理档位;一般保持「跟随目标模型」即可。
- 点击 保存。页面顶部「当前生效路由」在未选时显示会话渠道与模型(官方行为),配置完整后显示实际审查路由。
也可在 cordis.patch.yml 中直接写入插件配置块(键名以插件在 patch 中的注册名为准,与 UI 保存一致),例如仅示意结构:
# 示意:具体层级与插件 ID 以你当前 profile 中 cordis.patch.yml 为准
# provider 与 model 需同时填写
provider: "你的审查渠道"
model: "你的审查模型 ID"
reasoningEffort: ""
marker: "REVIEW_POLICY"
开发者在仓库根目录可用 README 提供的命令做行为验证(与 DSH 安装无关):
node verify.mjs
该脚本覆盖未配置不改道、非审查调用不被触碰、审查改道且 payload 原样保留、无效渠道回落等 26 项断言。
适用场景与注意¶
更适合:会话主模型较贵或并发紧张,希望把 Auto review 放到更便宜、更快或单独计限流的渠道/模型上;限流粒度是按渠道或模型而非单一 API key/账号时,改道才有配额层面的意义。
需要知晓的边界:
- 识别依赖
REVIEW_POLICY前缀;官方若更改首行且未同步marker,插件会静默失效并回到官方行为,不会报错(刻意设计,避免挡住审查)。 - 改道会导致
llm/stream再进入一次,其他监听者可能看到两次调用;文档说明对 dsh-ops read-dedup 等等价。 - 审查请求可能较大(含
FILTERED_HISTORY),目标模型上下文窗口需足够,否则可能由 provider 报错失败。 - 若限流按账号或 key 聚合,换渠道并不能拆分配额。
结尾¶
dsh-auto-review-route 在不动官方 Auto review 的前提下,用最小改道把审查 LLM 调用迁到你指定的渠道与模型,缓解与会话模型共用并发的问题。配置集中在 profile 与插件 UI,配错会回落官方路由。进一步了解可从 SkillHub 目录页 与 GitHub 仓库 查看说明与源码。