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. 适合需要对子代理进行角色路由、负载均衡和故障转移的场景。

Package
dsh-subagent-role-router
Compatibility
Unverified
Harness peer range
>=0.1.7-rc.1 <0.3.0-0
Version
3.0.0
License
MIT
Last updated
Oct 15, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:643048695/dsh-subagent-role-router

其他配置能力

  • 单模型 —— 只用 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)

配置字段

字段类型默认值说明
providerstring""单模型形式的 provider。
modelstring""单模型 id(向后兼容)。
reasoningEffortstring""单模型形式的推理强度。
modelsarray[]多模型列表(string 或 {provider, model, reasoningEffort?} 对)。≥2 项时功能二、三才有意义。
strategystringround-robin功能二的分配策略:round-robin(顺序轮换)或 random(随机)。
failoverEnabledbooleantrue功能三:子代理连接类失败时在 models 列表内跨供应商切换模型。
injectRouteContextbooleantrue功能四通路二:向子代理自己的上下文注入一行「当前 provider/model」。
roleModebooleanfalse功能一:开启按角色路由。
exploreProvider / exploreModel / exploreEffortstring""探索角色路由;exploreModel 为空时回落 models。
planProvider / planModel / planEffortstring""规划角色路由;同上。
patchProvider / patchModel / patchEffortstring""修补角色路由;同上。
forkWindowSlicingbooleantrue功能五:开启 fork 活跃窗口切片。
forkWindowTurnsnumber3功能五保留的最近轮数(1-20)。
showChatModelNoticebooleanfalse在对话视图显示模型变更提示行。

每个字段都必须有默认值:DSH 的设置界面由 projectForm() 构建,它会丢弃解析值为 undefined 的字段。一个没有默认值的 z.string() 在界面上等于不存在,保存时就会报出误导性的 notApplied:ready:writable=true。

配置字段

字段类型默认值说明
providerstring""单模型形式的 provider。
modelstring""单模型 id(向后兼容)。
reasoningEffortstring""单模型形式的推理强度。
modelsarray[]多模型列表(string 或 {provider, model, reasoningEffort?} 对)。≥2 项时功能二、三才有意义。
strategystringround-robin功能二的分配策略:round-robin(顺序轮换)或 random(随机)。
failoverEnabledbooleantrue功能三:子代理连接类失败时在 models 列表内跨供应商切换模型。
injectRouteContextbooleantrue功能四通路二:向子代理自己的上下文注入一行「当前 provider/model」。
roleModebooleanfalse功能一:开启按角色路由。
exploreProvider / exploreModel / exploreEffortstring""探索角色路由;exploreModel 为空时回落 models。
planProvider / planModel / planEffortstring""规划角色路由;同上。
patchProvider / patchModel / patchEffortstring""修补角色路由;同上。
forkWindowSlicingbooleantrue功能五:开启 fork 活跃窗口切片。
forkWindowTurnsnumber3功能五保留的最近轮数(1-20)。
showChatModelNoticebooleanfalse在对话视图显示模型变更提示行。

每个字段都必须有默认值:DSH 的设置界面由 projectForm() 构建,它会丢弃解析值为 undefined 的字段。一个没有默认值的 z.string() 在界面上等于不存在,保存时就会报出误导性的 notApplied:ready:writable=true。