前言¶
在 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」或「固定路由」两种策略。
- 仓库:devloom1024/dsh-agent-team-model-selection
- 目录页:SkillHub 插件页
- 许可证:MIT(当前 package 版本 0.6.0)
- 安装方式:在 DSH 会话内通过
plugin_manager安装 bundle,而非凭名称拼接 CLI 命令
插件同时包含 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: "<本目录绝对路径>" })
验证步骤¶
- 用
cordis_inspect_query或下一轮工具列表确认spawn_teammate有新参数、list_team_models存在。 - 在设置页确认两种模式菜单不同且可保存。
- 由 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 目录页。