dsh-agent-team-model-selection: Specifying LLM Routing for Agent Team Members

前言

在 DeepSeek Harness(DSH)里用 Agent Teams 时,Team Lead 可以拉起多个子成员并行干活,但官方实验包默认并不在创建成员时把「用哪家 provider、哪条 model、思考强度 reasoning effort」逐成员传下去。若你希望某个成员走便宜模型、另一个走强推理模型,或者统一由管理员锁定路由,就需要在 spawn 接缝上补一层策略。下面介绍社区插件 dsh-agent-team-model-selection(维护者 devloom1024,分类:模型推理),它替换官方 @deepseek-ai/dsh-experimental-tool-agent-team 的同名列注册(九个 Team 工具名不变),并增加按成员选路、模型目录查询与图形化设置。

这是什么

一句话:DSH 插件,在创建 Agent Teams 成员时指定 LLM 路由(provider / model / reasoning effort),提供 list_team_models 查询工具,并在 设置 → Agent Teams 模型 配置「自动跟随 Lead」或「固定路由」两种策略。

插件同时包含 Host 与 Client 两半;首次安装后若设置页未出现,可先刷新页面,极端情况下需重启 DSH 应用。

两种路由模式

设置字段核心是 modelSelection.mode:

模式 值 行为
自动(默认) inherit 不传路由参数时沿用 Lead 当前路由(Lead 换模型后新继承行为仍跟随);仍可为单个成员传 provider、model、reasoning_effort;可开白名单,开启后仅允许白名单内的显式 provider/model
固定路由 fixed 所有新成员使用配置里写死的 provider/model/reasoningEffort;spawn_teammate 一旦带任何路由参数即报错

自动模式下需注意:白名单只约束显式传入的 provider/model;不传参数时的继承、以及只传 reasoning_effort 的请求不受白名单限制。显式传入 provider/model 但未给 effort 时,不继承 Lead 的思考等级,由该模型解析默认值。固定模式不使用白名单;路由在创建成员前经 LLM 运行时 resolveCallConfig 校验。

核心功能

工具变化

工具 说明
spawn_teammate 新增可选参数 provider、model、reasoning_effort(仅自动模式);只影响新成员,不改变 Lead 自己会话路由
list_team_models 新增:无参列 provider;传 provider 列模型;传 provider+model 列推理强度
list_agents 每行新增 llm,报告成员实际 provider / model / reasoningEffort
其余 与官方一致:send_message、wait_agent、interrupt_agent、team_task_* 等

设置页

路径:Settings → Agent Teams 模型(导航 id agent-team-models,在 Agent Presets 之后)。

  • 始终可见:路由模式(自动 / 固定)
  • 固定路由:提供方、模型、思考等级(provider / model / reasoningEffort)
  • 自动模式:「限制可传入的路由」开关与 allowedModels 列表

只读部署会禁用控件;保存失败保留草稿;多页面并发改设置会提示冲突。旧字段 allowModelOverride 已废弃,设置页不再展示。

也可直接改 profile 的 cordis.patch.yml(config 需写全字段),例如:

- id: tool-agent-team-model-selection
  name: dsh-agent-team-model-selection
  config:
    interrupt: true
    freshProvider: spawn
    forkProvider: fork
    modelSelection:
      mode: inherit                    # inherit | fixed
      provider: magpie-anthropic       # 仅 fixed
      model: zcode/GLM-5.3-Flash       # 仅 fixed
      reasoningEffort: high            # 仅 fixed;留空 = 模型默认
      allowedModels:                   # 仅 inherit;空数组 = 不限制
        - provider: magpie-anthropic
          model: zcode/GLM-5.3-Flash

安装与验证

从 GitHub 安装(推荐)

在 DSH 会话中执行:

plugin_manager({ action: "install_bundle", target: "devloom1024/dsh-agent-team-model-selection" })

target 使用 owner/repo 简写;需要固定提交或分支时可传完整 GitHub URL。

从本地目录安装

plugin_manager({ action: "install_bundle", target: "<本目录绝对路径>" })

验证步骤

  1. 用 cordis_inspect_query 或下一轮工具列表确认 spawn_teammate 有新参数、list_team_models 存在。
  2. 在设置页确认两种模式菜单不同且可保存。
  3. 由 Lead 创建成员,查看返回的 llm 字段及成员 session 的 request/header 里 config.provider / config.model。

若激活失败,plugin_manager 会报告行状态;可用 remove_bundle 移除以恢复官方 Team 工具行。

典型用法

自动模式:为单个成员指定路由

Lead 在自动模式(inherit)下调用 spawn_teammate,传入例如 magpie-anthropic、zcode/GLM-5.3-Flash、high。README 中 v0.6.0 本机验证记录显示:成员返回的 model 与 llm 均为该路由,session header 为 {"provider":"magpie-anthropic","model":"zcode/GLM-5.3-Flash","reasoningEffort":"high"}。

查模型目录

先无参调用 list_team_models 看 provider,再带 provider 看模型,必要时带 model 看可用 reasoning effort,避免手写无效路由。

固定路由:禁止 spawn 时改路

管理员在设置页切到固定路由并保存 provider/model/effort 后,成员创建时不应再传路由参数;若传入,工具报错:fixed-route mode does not accept spawn route parameters。

适用场景与注意

适合谁:在 DSH 里重度使用 Agent Teams、需要 heterogeneous 模型(Lead 用一套、成员用另一套)或需要组织级锁定成员路由的团队。

运行与信任边界:插件以当前 DSH 进程权限运行,会 hook ctx.subagents.startActivation 并在 bundle patch 中停用官方 tool-agent-team 行。安装前应阅读源码与 MIT 许可证,确认替换官方实验包的行为可接受。

限制(来自 README 实现说明):

  • 成员重启后的路由恢复依赖 session 的 request/header;主机重启后、成员尚未发首请求前,不保证保留路由。
  • 官方包若将来原生支持 spawnTeammate 路由,应优先用原生能力并考虑移除此插件。
  • 仓库要求 Node >=22;CI 在 Node 22 / 24 跑单元测试。

DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-agent-team-model-selection 把 Agent Teams 的成员级 LLM 路由、模型发现与策略化配置收到一个 MIT 插件里:自动模式可继承 Lead 或按成员 override,固定模式适合统一管控。需要细节与变更记录时,见 GitHub README 与 SkillHub 目录页。

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

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

Xiaoye