dsh-shift-router:DSH 的两级模型路由插件

前言

DSH 的插件机制允许把模型选择、命令、设置和工具做成可组合模块。对智能体开发者来说,常见问题不是“能不能调用模型”,而是日常轮次和关键轮次应该分别走什么模型。

dsh-shift-routergreen-dalii 维护的 DSH 插件,用来在 fastsmart 两级模型链之间做路由,并加入 LLM Judge、fallback、故障转移和任务编排。下面介绍它的定位、能力、安装方式和注意点。

这是什么

dsh-shift-router 是一个两级模型路由插件:它在每轮顶层 agent 前做分类和路由选择,让请求进入对应的模型链,并通过 DSH 的 agent/request 流水线执行。

当前资料中可核实的信息包括:

  • 插件名:green-dalii/dsh-shift-router
  • 许可证:MIT
  • package 版本:0.5.0
  • Node 要求:>=22.0.0

核心功能

Judge 分级

每轮顶层 agent 前,LLM Judge 将用户消息分类为 fastsmart。Judge 只负责分类,不执行任务。分类结果驱动整轮请求通过 DSH 的 agent/request 流水线。

升级策略是“即时升级、趋势降级”:一次 smart 判定会立即切到强模型层;回到 fast 需要滑动窗口多数,默认窗口为 5 轮、比例不低于 60%,低置信度投票会被忽略。

缓存感知路由

fastsmart 共享 provider 时,插件会把降级阈值提高到 0.9,并在 prompt cache 热时暂缓切换,避免为了切到更便宜模型反而付出额外成本。

运行时故障转移

遇到 4295xx 或配额失败时,对应模型会进入指数退避冷却:

1m → 4m → 16m → 1h → 6h cap

其中 client-side limits 起始冷却为 16m

故障转移在同一层内重新解析到健康模型,不跨层。

任务级编排

复杂任务由 smart 层作为 CTO 规划、委派给 fast 层 engineer subagents、审查结果并迭代。

这里的硬上限由插件强制:达到上限时,subagent tool 会被拒绝。

成本遥测

插件按 tier 跟踪 token 和吞吐,可选配置 USD 价格表。使用 /router stats 可查看会话成本信息。

安装与启用

先确认环境满足 Node >=22.0.0

使用 git 安装命令添加插件:

dsh plugin --profile <name> add github:green-dalii/dsh-shift-router

这条安装方式依赖 package 的 prepare script 构建 dist。如果使用 pnpm >=10,默认会拒绝 git dependencies 的 prepare scripts。可以在 profile 的 pnpm-workspace.yaml 中添加:

allowBuilds:
  dsh-shift-router: true

然后重新执行添加命令;也可以改用源码 checkout 并执行:

npm run build

插件无配置也能加载,所有默认值安全。未配置 tiers 前,插件行为是 no-op;配置 tiers 后,路由才生效。tier 模型可以来自 GUI settings panel 或 profile patch row。

典型用法

配置入口有两种:

  1. 在 GUI 中打开 Settings → Plugins → Plugin configuration,找到 Shift-Router 卡片。
  2. 使用 /router config 命令编辑 shift-router settings namespace。

routing.mode 有三个可选值:

  • auto:默认值,启用 judge、routing、failover 和 orchestration。
  • manual:不启用 judge,仅使用 /route-force 做显式覆盖。
  • off:模型选择完全被动,但命令和遥测仍可用。

查看成本:

/router stats

关于热加载:

  • 配置变更可以通过编辑 profile patch 热加载。
  • 外部插件代码变更当前需要 profile restart。
  • 官方 Web bundle 默认将 HMR 设为禁用。如果需要启用 HMR,可在 profile patch 中设置:
- id: hmr
  disabled: false

适用场景与注意

适合使用 DSH 的开发者,尤其是希望同时满足以下情况的人:

  • 日常轮次走较低成本模型,关键轮次切到更强模型。
  • 需要多模型 fallback 和同层故障转移。
  • 需要按 tier 查看 token、吞吐和可选成本。
  • 需要简单任务编排,并让插件强制任务上限。

注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 未配置 tiers 前不会主动路由。
  • 故障转移不跨层。
  • pnpm >=10 下需要显式允许构建脚本,或使用源码构建。
  • 代码变更不能依赖热加载完成生效。

链接

羽毛球分组比赛记分
小程序二维码

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

Xiaoye