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 下需要顯式允許構建腳本,或使用源碼構建。
  • 代碼變更不能依賴熱加載完成生效。

鏈接

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

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

小夜