dsh-agent-teams-optimizer:配置 Agent Teams 真实的队友准入上限

前言

在 DeepSeek Harness(DSH)里使用官方 Agent Teams 时,Lead 通过 spawn_teammate 创建持久化队友时,会受 TeamRoster 上的 maxMembers 约束。官方 agent-team profile 里常见配置是 maxMembers: 8;若未在 profile 覆盖,底层 TeamService 默认则为 16。仅靠提示词让模型「多用几个队友」并不会抬高这条硬限制——第九个不同名字的队友仍可能在准入检查处失败。

dsh-agent-teams-optimizer(维护者 Soulize,GitHub 仓库 Soulize/dsh-agent-teams-optimizer)是独立的 DSH 插件,用于配置 实际 的 Agent Teams 队友准入上限:它改的是 spawn_teammate 创建新队友时参与校验的数值,而不是只改模型侧话术。社区目录分类为 admin-security,可在 SkillHub 插件页 查看条目(目录为社区站点,与 DeepSeek / 幻方无官方从属关系)。

这是什么

插件版本在 package.json 中为 0.1.0,许可证 MIT。依赖官方实验性 Agent Teams 服务(@deepseek-ai/dsh-experimental-agent-team),要求 DSH >=0.2.0-rc.1,Node.js >=22.19.0。插件默认将上限设为 16,并允许配置为任意正的安全整数。

核心功能与行为

下面是与 README 一致、可核对的行为说明。

计数范围

  • 上限只统计 teammates(队友),Lead 不计入。

累计 roster,而非并发数

  • 这是累计、不可变 roster 上限,不是「同时运行」的上限。已失败或非活跃的成员仍占槽位;提高上限才能容纳更多 不同名字 的成员。降低上限不会删除历史成员。

作用范围

  • 修改的是真实 TeamRoster 准入字段,当前 Team 服务里已有和后续的团队都会按新值校验。
  • 不改变普通 Subagent、workflow 或嵌套委托的限额。
  • 未启用 Agent Teams 时插件空闲;官方 agentTeams 服务可用后会自动绑定。
  • 卸载或禁用插件后,仅在 没有其他组件改过同一字段 时,才会恢复原来的 roster 上限。

与官方 profile 的关系

  • 插件自身的 bundle patch 只插入 agent-teams-optimizer,故意不覆盖 官方 Agent Teams 配置行或其它无关设置。
  • 官方 TeamService 在构造 TeamRoster 时捕获 maxMembers,且没有公开的运行时 setter;改 Cordis 里 agent-team 行是服务启动时 受支持 的设限方式。本插件通过条件更新现有 roster 的 maxMembers 提供可编辑、可热更新的 UI——该字段属于 未文档化的内部字段,不是稳定 DSH API。适配器会在改值前检查官方服务与可写字段形态;若未来 DSH 内部结构变化,会打警告且不会假装配置已生效。它不替换 spawnTeammate、不 monkey-patch 工具处理器、不篡改 roster 历史记录。

安装与启用

1、先启用官方 Agent Teams bundle。

2、在同一 profile 下安装本插件(命令来自仓库 README):

dsh plugin --profile web add "github:Soulize/dsh-agent-teams-optimizer#main"

3、添加插件后 重启 DSH。

4、在 Web/Desktop 中打开 Plugins → dsh-agent-teams-optimizer → agent-teams-optimizer → Configure,填写期望的 maxMembers 并保存。选项保存在当前 profile;在官方内部布局仍兼容的前提下,变更会作用于当前活跃的 Team 服务,无需再次重启。

若直接改 profile,可写入:

- id: agent-teams-optimizer
  config:
    maxMembers: 32

不要与 profile 里的 agent-team 行在运行时争抢同一上限。 若两种方式并存,优化器会把服务挂载时看到的有效值当作恢复基线。仅需稳定、纯配置时,可用官方 agent-team 覆盖(patch 会整体替换 config,需保留其它官方字段):

- id: agent-team
  config:
    maxMembers: 32
    maxTasks: 256
    maxMessageBytes: 65536
    disposalTimeoutMs: 5000

典型用法与验证

日志确认

Team 服务以兼容形态挂载后,在 DSH Host 日志中查找类似一行:

agent-teams-optimizer: maxMembers=32 (previous=8, official baseline=8, reason=service-mounted)

功能验证

在同一 Team 中创建超过 8 个 不同名字 的队友;第 9 个若创建成功,说明 运行时 上限已改变,而非仅提示词层面。提高上限并不保证 Lead 一定会派生更多智能体,模型行为另当别论。

开发侧测试

在插件仓库目录执行:

npm test

使用 Node 内置 test runner;package.json 中 check 脚本还会对 lib/index.js、lib/limit.js、lib/client.js 做语法检查并跑测试。

适用场景与注意

适合谁

  • 已在 DSH 中启用官方 Agent Teams,且需要在 不重启 或不便改官方 agent-team 整段 config 时,调高或统一 maxMembers 的开发者与运维。
  • 需要理解「8 vs 16」差异:官方 profile 常为 8,服务默认 16;本插件默认 16 并可按需增大。

安装前务必

  • 插件以 当前 DSH 进程权限 运行;安装前请阅读 GitHub 源码 与 MIT 许可证,自行评估 admin-security 类插件的风险。
  • 依赖未文档化内部字段,大版本 DSH 升级后应重新看日志与第九人测试,确认适配器仍生效。

结尾

经过上面的步骤,你可以在保留官方 Agent Teams 配置行的前提下,用 UI 或 agent-teams-optimizer 配置项调整真实的队友 roster 上限,并用日志与「第九个队友」做运行时核对。条目与说明见 SkillHub:dsh-agent-teams-optimizer,源码与完整 README 见 GitHub:Soulize/dsh-agent-teams-optimizer。

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

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

Xiaoye