643048695/dsh-subagent-role-router ↗★ 0
dsh-subagent-role-router
Route DSH subagent delegations to configured models: 3-role routing (explore / plan / patch), round-robin or random distribution, cross-provider failover, fork window slicing, and agent-teams exemption. 适合需要对子代理进行角色路由、负载均衡和故障转移的场景。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:643048695/dsh-subagent-role-routerドキュメント
README 全文を読む ↗其他配置能力
- 单模型 —— 只用
provider+model配置一条路由,所有子代理跑在同一个模型上(功能一、二的退化形态)。 - 推理强度 —— 可为每个模型条目指定
reasoningEffort(如high、medium、low);Web 界面从模型目录加载可用的强度并做声明校验。 - 热重载 —— 设置变更立即作用于下一次派发。
- 干净卸载 —— Cordis 销毁时还原原始服务方法,且不覆盖后来者的包装。
配置
优先用 Web 设置卡片(设置 → 插件 → dsh-subagent-role-router)。
也可以直接编辑 profile 的 patch 文件 ~/.dsh/profiles/ /cordis.patch.yml:DSH 0.1.7 起设置就存在这里,段名是本插件的 Loader 条目 id dsh-subagent-role-router:
- id: dsh-subagent-role-router
name: dsh-subagent-role-router
config:
# 单模型
provider: deepseek-official
model: deepseek-v4-pro
# 或多模型:功能二(分配策略)+ 功能三(跨供应商故障转移)
models:
- model: deepseek-v4-pro
reasoningEffort: high
- provider: other-provider # 换一个供应商的模型
model: gpt-5.6
reasoningEffort: max
strategy: round-robin # round-robin(顺序) | random(随机)
failoverEnabled: true # 连接类失败时跨供应商切换
injectRouteContext: true # 把当前 provider/model 写进子代理上下文(默认开)
# 功能一:按角色路由
roleMode: true
exploreProvider: magpie
exploreModel: antigravity/gemini-3.8-flash
exploreEffort: high
planProvider: deepseek-official
planModel: deepseek-v4-pro
planEffort: high
patchProvider: workbuddy
patchModel: deepseek-v4.1-flash
patchEffort: high
# 功能五:fork 活跃窗口切片
forkWindowSlicing: true # 默认开
forkWindowTurns: 3 # 保留最近 N 轮(1-20)
配置字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
provider | string | "" | 单模型形式的 provider。 |
model | string | "" | 单模型 id(向后兼容)。 |
reasoningEffort | string | "" | 单模型形式的推理强度。 |
models | array | [] | 多模型列表(string 或 {provider, model, reasoningEffort?} 对)。≥2 项时功能二、三才有意义。 |
strategy | string | round-robin | 功能二的分配策略:round-robin(顺序轮换)或 random(随机)。 |
failoverEnabled | boolean | true | 功能三:子代理连接类失败时在 models 列表内跨供应商切换模型。 |
injectRouteContext | boolean | true | 功能四通路二:向子代理自己的上下文注入一行「当前 provider/model」。 |
roleMode | boolean | false | 功能一:开启按角色路由。 |
exploreProvider / exploreModel / exploreEffort | string | "" | 探索角色路由;exploreModel 为空时回落 models。 |
planProvider / planModel / planEffort | string | "" | 规划角色路由;同上。 |
patchProvider / patchModel / patchEffort | string | "" | 修补角色路由;同上。 |
forkWindowSlicing | boolean | true | 功能五:开启 fork 活跃窗口切片。 |
forkWindowTurns | number | 3 | 功能五保留的最近轮数(1-20)。 |
showChatModelNotice | boolean | false | 在对话视图显示模型变更提示行。 |
每个字段都必须有默认值:DSH 的设置界面由
projectForm()构建,它会丢弃解析值为undefined的字段。一个没有默认值的z.string()在界面上等于不存在,保存时就会报出误导性的notApplied:ready:writable=true。
配置字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
provider | string | "" | 单模型形式的 provider。 |
model | string | "" | 单模型 id(向后兼容)。 |
reasoningEffort | string | "" | 单模型形式的推理强度。 |
models | array | [] | 多模型列表(string 或 {provider, model, reasoningEffort?} 对)。≥2 项时功能二、三才有意义。 |
strategy | string | round-robin | 功能二的分配策略:round-robin(顺序轮换)或 random(随机)。 |
failoverEnabled | boolean | true | 功能三:子代理连接类失败时在 models 列表内跨供应商切换模型。 |
injectRouteContext | boolean | true | 功能四通路二:向子代理自己的上下文注入一行「当前 provider/model」。 |
roleMode | boolean | false | 功能一:开启按角色路由。 |
exploreProvider / exploreModel / exploreEffort | string | "" | 探索角色路由;exploreModel 为空时回落 models。 |
planProvider / planModel / planEffort | string | "" | 规划角色路由;同上。 |
patchProvider / patchModel / patchEffort | string | "" | 修补角色路由;同上。 |
forkWindowSlicing | boolean | true | 功能五:开启 fork 活跃窗口切片。 |
forkWindowTurns | number | 3 | 功能五保留的最近轮数(1-20)。 |
showChatModelNotice | boolean | false | 在对话视图显示模型变更提示行。 |
每个字段都必须有默认值:DSH 的设置界面由
projectForm()构建,它会丢弃解析值为undefined的字段。一个没有默认值的z.string()在界面上等于不存在,保存时就会报出误导性的notApplied:ready:writable=true。