dsh-delegation-hub:为委派子代理单独钉住 LLM 路由

前言

在 DeepSeek Harness(DSH)里派发子代理很常见:专家团的 summon_experts、Agent Teams 成员、或一次性子代理。默认行为是子代理继承主 agent 的模型与 provider,于是主会话和几个子任务会挤在同一条账号额度队列里,容易出现主 agent 走免费车道、子代理却把同一账号打满,表面上像「召唤卡死」。

宿主侧也能给 Agent Teams 配 memberLlmProvider / memberModel,但那是按团队粒度改配置,没有逐专家、逐步骤、运行中故障切换和统一取证那一套。若你需要的是「每一发委派该走哪条模型车道、错了怎么报、怎么留证」,就需要在委派路径上单独挂一层路由中枢。

下面介绍社区插件 dsh-delegation-hub(委派中枢),维护者为 tkaiz0406,在 SkillHub 目录 归类为模型推理;源码仓库为 dsh-delegation-hub(2026-11-10 自 dsh-subagent-route-pin 更名,旧地址 GitHub 会 301 重定向)。

这是什么

dsh-delegation-hub 是 DSH 插件:注册包装 provider pinned-account,在创建子 agent 前写入 agentOptions,让被委派的子代理走你指定的 provider / 模型 / 推理强度,主 agent 路由不受影响。

适用面按 provider 配置 生效,不按专家名单枚举——只要子代理仍读 config.provider,agency 内现有与后续新增专家、自定义专家、团队模式成员都会命中同一条(或分层后的)路由策略。

核心功能

三类委派路径

  1. 单发子代理:走 provider.start(),包装 provider 直接生效。
  2. 团队模式成员:不经过 provider.start(),在 subagents.startActivation()(或旧名 startContinuable())上挂钩子,把路由写入 request.agentOptions;可用 teamInjection: false 关闭。
  3. 专家团等读 config.provider 的委派:经 pinned-account 与内置 spawn 委托,在创建前填入路由。

路由优先级与分层(0.9)

优先级为:experts(~/.dsh/subagent-route-pin.json 的 experts 字段)> roles(按团队成员 role 钉模型)> steps(label 带 #步骤名 后缀)> 配置行(cordis.patch.yml)> settings 默认。不带后缀的 label 不受 steps 影响。

  • overrideMemberRoute(默认开):钉住的路由优先于成员自带的 memberLlmProvider / memberModel;关掉则只补空槽。
  • 按角色路由:settings 中 roles 映射团队角色到不同模型;可用 dsh-role-preset 一键写入预设。
  • 任务拆分器:steps 支持每步配 provider、模型,并可配专家身份与技能;委派时给 label 加 #步骤名(如 调研报告#research)。可用 dsh-step-preset 写入 dev/research/code/review 等预设。

可用性与失败策略

  • 零配置可用:未配路由或路由指向不存在的 provider/model 时,子 agent 继承主 agent 模型,召唤不因此失败(会打警告);strict: true 才把无效路由当硬错误。
  • onPinFailure(默认 fail):设置页选过的模型若跑不起来,召唤直接报错并写明失败路由与修改位置;设为 inherit 才允许回退。
  • failoverRoute(仅 Agent-Teams 团队成员):运行中遇 QUOTA、RATE_LIMIT、AUTH 等车道级错误时,后续请求一次性改写到备用路由,并可通过队长信箱上报;单发子代理与专家团不走此接缝。

自动接线与观测

  • autoWireAgency(默认开):把 profile 里 agency-agents 行的 provider 补成 pinned-account,改前留 .bak-autowire-* 备份。
  • 单次结果:~/.dsh/delegation-hub.last-run.json;事件流:~/.dsh/delegation-hub.events.jsonl;挂载快照:~/.dsh/delegation-hub.ready.json。
  • 设置页 委派中枢:提供商、模型、推理强度、团队注入等,保存写回 profile 补丁,下一次委派生效(volatile 字段热读)。
  • CLI:dsh-team-status(含 --serve HTML 面板,含委派事件流等);能力探针会发布 teamInjection 等状态供调用方读取。

配套文档见仓库 docs/integrations.md(与其他 DSH 插件搭配)与 docs/research/superagent-compatibility.md(SuperAgent 兼容性调研)。

安装与启用

插件以当前 DSH 进程权限运行;安装前建议在 GitHub 核对源码与 MIT 许可证。要求 Node >=22,peerDependencies 约束 DSH 0.2.x–0.3.x 若干 RC 区间(见 package.json)。

官方 README 给出的安装方式如下(dsh plugin 需带 profile,常需与桌面 profile 同一用户、关闭沙箱执行):

# 从 tarball
dsh plugin --profile desktop add "./dsh-delegation-hub-0.9.2.tgz"

# 从 npm(发布后)
dsh plugin --profile desktop add "dsh-delegation-hub"

# 从本地目录(开发调试,link 安装)
dsh plugin --profile desktop add "D:\\path\\to\\dsh-delegation-hub"

模块名必须与 package.json 的 name 一致(dsh-delegation-hub)。若 cordis.patch.yml 的 name 与已安装包路径不一致,或 node_modules 解析不到裸名,会出现「设置页在但下拉为空、路由不生效」——可用下列命令自检:

node -e "require('dsh-delegation-hub/package.json')"
cat ~/.dsh/delegation-hub.load.json
cat ~/.dsh/delegation-hub.ready.json

装完后 cordis.patch.yml 会新增类似条目(包内已自带补丁,一般无需手写):

- id: delegation-hub
  name: "dsh-delegation-hub"
  config:
    providerName: pinned-account
    baseProvider: spawn
    provider: deepseek-account
    model: deepseek-flash
    reasoningEffort: ''
    strict: false
    teamInjection: true
    overrideMemberRoute: true
    fallback: true

provider 留空表示不钉路由,子 agent 继承主 agent。

典型用法

两处必改(最小闭环)

  1. 子代理路由:在 设置 → 委派中枢 选择真实存在的 provider / model 并保存;或改上述 config.provider / config.model。
  2. 专家团接线(若用 agency):确认 agency-agents 的 provider 为 pinned-account(autoWireAgency 默认会自动补;也可手改)。

按角色预设(Agent Teams)

dsh-role-preset delivery
dsh-role-preset delivery reviewer=xiaomi/mimo-v2.6-pro
dsh-role-preset clear

roles 也可手写进 settings,例如将「实现者」「验证者」与「审查者」钉到不同模型(角色名来自 .agent-teams/<teamId>/team.json 的 members[].role)。

按步骤拆分委派

设置页「步骤路由」或 settings 的 steps 字段;委派时对 label 加后缀,例如 某任务#research 走对应步骤路由。一键预设:

node bin/step-preset.mjs dev
# 或注册后的
dsh-step-preset dev

逐专家覆盖(可选)

编辑 ~/.dsh/subagent-route-pin.json 的 experts 字段,优先级高于设置页。

运行中故障切换(仅团队成员)

在配置行增加 failoverRoute: { provider, model };不配置即关闭。

适用场景与注意

适合:主 agent 与子代理要分账号或分模型控额度;需要 experts / roles / steps 多级路由、保存即下次委派生效、委派事件与 last-run 排障、团队面板观测、成员运行中 quota 类 failover。

不必装:只需在某个团队固定一套 memberLlmProvider,且从不逐步骤、逐专家切换、也不要运行中自动换道——宿主团队配置即可。

注意:

  • 本插件管路由选择与取证,不替代宿主审批、不持久化跨重启任务。
  • 依赖 SubagentRuntime.startActivation 等内部接缝,大版本 DSH 升级后需按仓库兼容矩阵自测。
  • 用户设置文件 ~/.dsh/subagent-route-pin.json 与环境变量 DSH_ROUTE_PIN_* 仍保留旧名,与插件更名并存,避免静默丢配置。

社区目录 SkillHub 与 GitHub 无 DeepSeek / 幻方官方从属关系,属「一切皆插件」生态中的第三方条目。

结尾

dsh-delegation-hub 把「主 agent 用一条路、每一发委派用哪条路、失败怎么报、证据在哪」收拢到一层:设置页、补丁行、JSON 与 CLI 共用同一套优先级。当前包版本 0.9.2。

  • 目录页:https://www.skillhub.cn/plugins/tkaiz0406/dsh-delegation-hub
  • 源码与 README:https://github.com/tkaiz0406/dsh-delegation-hub
羽毛球分组比赛记分
小程序二维码

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

Xiaoye