orchestrator2-region-switch:给 dsh-orchestrator2 的场景化主备模型切换插件

前言

在用 DSH 的「自动开发调度器2.0」(dsh-orchestrator2)时,经常需要为研究员、审核员、开发员这三个角色分别配置主模型与备模型,并在不同场景下快速切换。手动修改配置文件、重启进程或多次打开设置弹窗都很繁琐,容易出错。orchestrator2-region-switch 插件通过侧边栏一行按钮和设置弹窗,把多套「场景」做成可切换的容器,每个场景有自己的 A/B 两侧模型。它不触碰预设源码,只通过公开数据落点与 dsh-orchestrator2 交互。

插件定位

  • 名称:orchestrator2-region-switch
  • 维护者:zueston
  • 分类:工作流
  • 核心价值:为 dsh-orchestrator2 提供场景化主备模型切换,支持快速切换、失效自动顺序切换、模型变更管控与漂移提示。

核心功能

侧边栏一行按钮

  • [侧 A 名 | 侧 B 名]:点击一侧,将当前使用中的场景切换到该侧(主槽指向它)。
  • 设置:点击打开设置弹窗;点击该行任意空白处也能打开设置弹窗。

设置弹窗

  • 场景 TAB 条:每个场景一个 TAB,文字为该场景两侧名字拼接的 A/B;选中 TAB 有底栏,当前使用中的场景带红环。
  • 使用 / 应用 / 删除:TAB 条右侧提供使用、应用、删除操作,作用于当前选中的场景。
  • 两侧名字:A/B 两格可改名,侧边栏按钮将使用这些名字。
  • 三个角色 × 两侧:研究员 / 审核员 / 开发员,每个角色分别选择主侧与备侧的提供商 + 模型(下拉同时选择组和模型)。
  • 失效自动切换顺序:限流/额度失败时按顺序切换到下一个场景。支持两列槽位(1 3 / 2 4 排布)、至少 4 格、空格留空、✕ 清空槽位、重复选择自动互换、整轮冷却、每小时上限、模拟限流、重置历史。
  • 模型变更管控(铁律):开启时,检测 model-routes.json 是否被本插件以外的写入(如预设的 set_role_model),若被检测到则回滚并记录一条回滚日志;需要其他工具修改文件时请关闭该开关。
  • 漂移提示:当文件中的模型与当前使用中场景不一致时,顶部出现提示条,并按「哪个工作区、哪个会话」逐条列出,可应用到该会话或放弃。

安装与启用

插件为「宿主半体 + 浏览器半体」两段式,两半体都需要就位:

  1. 将本插件目录放到 DSH 的插件源目录,例如 <DSH_HOME>/plugin-src/orchestrator2-region-switch。
  2. 本插件自带 cordis.patch.yml(dsh.bundle.patch 层),需要在 profile 的清单里登记为 bundle 依赖,并将包链到 profiles/<profile>/node_modules/orchestrator2-region-switch(junction / symlink 均可)。
  3. 重启 DSH。侧边栏出现那一行即加载成功;在设置 → 插件 里应能看到 orchestrator2-region-switch。

若只登记在用户 patch 层而不进入 profile 清单,宿主半体会加载但浏览器半体不会激活,插件不会出现在侧边栏。

数据文件

所有数据位于 <DSH_HOME>/orchestrator2/ 下,DSH_HOME 默认为 ~/.dsh:

  • scenarios.json:场景表(本插件独占)。
  • model-routes.json:预设读取的 v1 路由表,由当前使用中场景的主槽派生。
  • guard.json:铁律开关、基线、回滚记录。
  • sessions/<会话ID>.json:预设写入;本插件仅在「应用 / 覆盖」时修改 roles[角色].overrideRoute 字段。
  • failover-signal.json:预设的 route-fallback 在限流时写入,本插件读取它触发顺序切换。

典型用法

  1. 安装并重启 DSH 后,侧边栏出现一行按钮。
  2. 点击 [侧 A 名 | 侧 B 名] 一侧,切换当前使用中的场景主槽指向该侧。
  3. 点击任意空白处或「设置」按钮打开设置弹窗:
    - 在场景 TAB 条上新建场景,输入两侧名字,为每个角色选择主侧与备侧的提供商与模型。
    - 点击「应用」使当前场景立即生效。
    - 如需调整失效自动切换顺序,在「失效自动切换顺序」区域配置槽位与规则。
    - 如需关闭模型变更管控或重置历史,可在 guard.json 中操作。
  4. 当文件中的模型与当前使用中场景不一致时,顶部出现漂移提示,可选择应用到该会话或放弃。

适用场景与注意

  • 适合需要在多个模型组合间快速切换、希望避免手动修改配置文件的场景。
  • 插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证(MIT)。
  • 与 dsh-orchestrator2 v2.10.3 的契约自查通过(5/5)。
  • 若需要其他工具修改 model-routes.json,请暂时关闭模型变更管控(铁律)开关。

结尾

orchestrator2-region-switch 通过场景化容器与自动切换机制,简化了 dsh-orchestrator2 的主备模型切换流程。更多细节见插件目录页与 GitHub 仓库。

  • 插件目录页:https://www.skillhub.cn/plugins/zueston/orchestrator2-region-switch
  • GitHub:https://github.com/zueston/orchestrator2-region-switch
羽毛球分组比赛记分
小程序二维码

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

Xiaoye