🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

审查请求分流 MrJiaGe/dsh-auto-review-route

DeepSeek 客户端
MrJiaGe9 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

把自动审查请求发往指定渠道与模型,避免抢占并发额度

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/MrJiaGe/dsh-auto-review-route.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
  • 发起网络请求
    client.js:144
    response = await fetch(`${BRIDGE}/${endpoint}`, {
  • 读取本地文件
    render-check.mjs:129
    const source = readFileSync(new URL("./client.js", import.meta.url), "utf8");
  • 读取本地文件
    render-check.mjs:260
    const source = readFileSync(new URL("./client.js", import.meta.url), "utf8");
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cosmokit@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

把自动审查的模型请求发往你指定的渠道与模型,让审查不再和工作模型抢同一个并发额度。官方自动审查插件不会被修改。

README

由 DeepSeek 最新模型翻译生成
@mrjiage/dsh-auto-review-route 让 DeepSeek Harness 的自动审查(Auto review)把审查请求发往你指定的渠道与模型,避免审查请求和工作模型抢同一个并发额度。 本项目是社区维护的第三方插件,不是 DeepSeek Harness 官方组件,也不代表 DeepSeek 或其关联方。 开源许可 本项目采用 MIT License。你可以自由使用、复制、修改、合并、发布、分发、再许可和销售本项目的副本,但必须在副本或其重要部分中保留版权声明和许可证声明。完整条款见 LICENSE。 Copyright (c) 2026 DrJia 第三方依赖 本项目依赖 DeepSeek Harness 相关软件包及其他 npm 软件包。它们不属于本项目的 MIT 授权范围,分别受其各自的许可证和条款约束。分发本项目时,请同时遵守相关依赖包的许可证要求。 本项目不会修改官方自动审查插件,但运行时依赖 DeepSeek Harness 提供的插件接口。DeepSeek Harness、Auto review 及相关名称和标识的权利归其各自权利人所有。 免责声明 本项目按“现状”提供,不对可用性、准确性、兼容性或特定用途适用性作任何明示或默示保证。
展开完整文档(README 剩余 1 节)
@mrjiage/dsh-auto-review-route

让 DeepSeek Harness 的自动审查(Auto review)把审查请求发往你指定的渠道与模型,避免审查请求和工作模型抢同一个并发额度。

本项目是社区维护的第三方插件,不是 DeepSeek Harness 官方组件,也不代表 DeepSeek 或其关联方。

开源许可

本项目采用 MIT License。你可以自由使用、复制、修改、合并、发布、分发、再许可和销售本项目的副本,但必须在副本或其重要部分中保留版权声明和许可证声明。完整条款见 LICENSE。

Copyright (c) 2026 DrJia

第三方依赖

本项目依赖 DeepSeek Harness 相关软件包及其他 npm 软件包。它们不属于本项目的 MIT 授权范围,分别受其各自的许可证和条款约束。分发本项目时,请同时遵守相关依赖包的许可证要求。

本项目不会修改官方自动审查插件,但运行时依赖 DeepSeek Harness 提供的插件接口。DeepSeek Harness、Auto review 及相关名称和标识的权利归其各自权利人所有。

免责声明

本项目按“现状”提供,不对可用性、准确性、兼容性或特定用途适用性作任何明示或默示保证。使用本插件切换 provider/model 可能受到服务商配额、计费、上下文窗口、网络状况和模型能力差异的影响。使用者应自行确认目标服务商的授权、隐私、数据处理和计费条款,并对自己的配置和请求承担责任。

官方插件 @deepseek-ai/dsh-experimental-auto-review 一个字符都不改。

为什么需要它

官方插件把审查模型写死成「当前会话自己的模型」:

// dsh-experimental-auto-review/lib/index.js:216-220
const header = session.requestHeader()
…
// :311-318
return deepFreeze({ provider: header.config.provider, model: header.config.model, … })

// :400-414
const options = deepFreeze({ provider: snapshot.provider, model: snapshot.model, … }) return readDecision(ctx.llm.stream(options))

而且它没有导出 Config(lib/index.js:507 只导出 apply / inject / name),所以在 cordis.patch.yml 里给它写 config: { provider, model } 不会生效、也不会报错。官方 README 的 Known Limitations 也写明了:

"There are no deterministic tool exemptions, persistent grants, configurable policy, or retry layer."

它怎么做到不改官方代码

官方那次审查调用走的是公开的 llm/stream waterfall,而官方自己的契约里写明该事件的用途包含 routing:

'llm/stream'(this: LlmRuntime, options: GenerateOptions, next) → AsyncIterable<StreamChunk>
"Waterfall around every streaming model call (retry, replay, routing)."

本插件只在这一层做一件事:认出「这是审查请求」,把 provider / model 换掉,再重新派发。其余一切都按原样透传。

识别条件(全部都是官方审查调用的独有特征,且同时排除其他调用):

| 条件 | 为什么安全 |
| system 以 REVIEW_POLICY 开头 | 官方固定的审查提示词首行(lib/index.js:20) |
| temperature === 0 | 官方审查固定 0 |
| tools === undefined | 审查请求不带工具 |
| purpose === undefined | compaction 带 'compaction'、标题生成带 'session-title',天然排除 |

明确不做的事

- 不预置默认渠道/模型。 没选 → 插件完全惰性 → 走官方行为(会话模型)。
- 不改策略、提示词、工具、生命周期。 system、messages、temperature、signal 逐字节原样转发;不注入、不删除、不重排任何内容。
- 不新增会话事件、不写磁盘、不改官方包。 插件自身不写独立配置文件;UI 保存的配置由 DSH 的 profile 配置系统管理。
- 卸载说明。 通过 DSH 插件管理器卸载后,插件包和插件行会被移除,但 profile 配置文件中由用户保存的该插件配置可能保留。通常这不会影响 DSH;若要彻底清理,请在卸载后打开当前 profile 的 cordis.patch.yml,删除 auto-review-route 对应的配置项,再重启 DSH。
- 配错不会挡工作。 渠道不存在、模型不可用、档位不支持 → 打一条日志后回落到官方路由,审查照常进行。

配置项

都在 profile 的 cordis.patch.yml,同时也都能在 UI 里改:

| 键 | 默认 | 说明 |
| provider | "" | 审查用哪个渠道。空 = 不接管 |
| model | "" | 该渠道上的模型 ID。空 = 不接管 |
| reasoningEffort | "" | 可选档位;空 = 用目标模型默认。不支持的档位会被自动丢弃 |
| marker | "REVIEW_POLICY" | 审查提示词前缀。只在官方改了这个标识时才需要动 |

两个必填项都填了才生效;只填一个等于没填。

UI

侧栏 设置 → 插件 → dsh-auto-review-route → 配置:
- 渠道下拉:来自 ctx.llm.listProviders()(wdtn / workbuddy / deepseek-account …)
- 模型下拉:切换渠道后自动从 ctx.llm.listModels(provider) 拉取;拉不到时可切「手动输入 ID」
- 推理档位下拉:off / minimal / low / medium / high / xhigh / max,默认「跟随目标模型」。通常推理档位越低响应越快,越高需要更多推理时间;具体效果取决于目标模型。
- 审查提示词标识:一般不用动
- 保存 / 重置 / 改用会话模型:保存即写回 profile patch,即时生效(字段都是 .volatile(),无需重启)

页面顶部有「当前生效路由」卡片:未选时显示「会话渠道与模型(官方行为)」,选了才显示具体路由。

目录

package.json dsh.bundle.patch + dsh.client 声明 cordis.patch.yml 插入一行,config 为空 index.js Host:llm/stream 改道 + 两个只读列表接口 client.js Client:plugins.row.config 配置页 locale/en.json 插件标题与描述(英文) locale/zh.json 插件标题与描述(中文) icon.svg 图标 verify.mjs 26 项行为断言

验证

node verify.mjs

覆盖:

1. 未配置时审查调用不被改道(官方行为)
2. 非审查调用(普通对话 / compaction / 会话标题 / 带工具 / 温度非 0 / 无 system)一律不碰
3. 审查调用被改道,且 system / messages / temperature / signal 原样保留,不凭空加 tools 或 purpose
4. 声明过的档位会转发
5. 渠道不存在 → 不改道 + 一条日志
6. 目标路由与会话路由相同时不重复派发
7. 两个路由字段默认都是空字符串

已知边界

- 识别依赖提示词前缀。 官方若改掉 REVIEW_POLICY 首行,插件会静默失效(回落到官方行为,不会崩)。marker 可覆盖,但失效时不会报错——这是刻意的,宁可不生效也不能挡住审查。
- 改道会让 llm/stream 再进一次。 其他监听者(如 dsh-ops 的 read-dedup)会看到两次。该监听者对无 sessionId 的调用本来就是清空后直通,行为等价。
- 不解决配额粒度问题。 如果限流是按 API key 或账号算的,换渠道无效;只有按渠道/模型计限流时才有意义。
- 审查请求可能较大(带 FILTERED_HISTORY)。目标渠道的上下文窗口要够,否则会以 provider 错误失败。
预览分享卡片长什么样 ↓MrJiaGe/dsh-auto-review-route
分享 · DeepSeek Harness Hub
MrJiaGe/dsh-auto-review-route

把自动审查请求发往指定渠道与模型,避免抢占并发额度

这是你的仓库?认领条目

回到顶部