前言¶
在 DeepSeek Harness(DSH)里用 Agent Teams 协作时,名册、成员上下文占用、容量和消息路由往往分散在内核工具与侧车状态里,Lead 要反复查多处才能判断「谁还在、谁快满了、能不能再加人」。社区插件 dsh-team-conductor(维护者 LittleAlety,分类:工作流)把上述能力收拢成一套统一控制面:一次 overview、就地改成员、运行时调容量、按名字或子会话 id 投递消息,并附带任务板与结算通知去重等守卫。下面介绍它是什么、能做什么,以及如何安装与使用。
这是什么¶
一句话定位: DeepSeek Harness Agent Teams 的统一控制面——一次看清 roster 与每个成员的上下文压力、就地增删与编辑成员、运行时调整容量、按名字或子会话 id 把消息送达,并自带共享任务板与可选的自动派活。
插件仓库:LittleAlety/dsh-team-conductor;社区目录页:skillhub.cn 插件页。当前 package.json 版本为 1.5.0,许可证 MIT,运行时要求 Node ≥ 20。宿主半边仅依赖 Node 内置模块(node:crypto、node:os、node:path、node:fs),无 npm dependencies。
三种委派引擎¶
同一套九个工具,底层由配置项 delegationEngine 切换(README 中 session 为 v1.0 默认):
kernel |
conductor |
session |
|
|---|---|---|---|
| 成员是什么 | 内核 Agent Teams 的 roster 条目 | 可续接子代理 | 与 Lead 一样的普通独立会话,通过侧车关联团队 |
| 名册在哪 | 内核 roster(只增不删) | 插件侧车 teams/<root>.json |
插件侧车 teams/<root>.json |
| 删除一个成员 | 墓碑 + 拦消息 + 上限补偿 | drain 子代理,归还池名额 | 解除团队关联,保留独立会话及历史 |
| 需要内核 Team 包 | 需要 | 不需要 | 不需要 |
kernel: 叠加而不替换内核 Agent Teams 工具。conductor/session: 接管团队相关能力——内核agent-team/tool-agent-team/ui-agent-team置disabled: true,七个旧工具名注册为转发别名(例如spawn_teammate→team_member_add)。session模式下成员为普通独立会话,可在会话列表打开并各自选模型;切换模型还会更新全局默认模型。
此外插件会注入按引擎生成的 team:conductor:policy prompt 段,安装结算通知去重与已删成员消息拦截两个守卫,并提供浏览器半边(工具卡片、设置控制台、会话页头「Agent Team」)及回环路由 /status、/client-hello、/team、/action。
核心功能:九个工具¶
九个工具只在 Team 成员(Lead 与 teammate)的 agent scope 上注册;非成员看不到。返回值约定一致:单个 text 块,内容为 JSON 文档;参数 schema 为手写 JSON Schema 子集,且 additionalProperties: false(多传字段会被拒绝)。
| 工具 | 作用概要 |
|---|---|
team_overview |
roster、每成员上下文压力、容量、结算通知账本(只读) |
team_member_edit |
13 种 action(别名、描述、优先级、标签、token budget、re-brief、retire/restore、compact、interrupt 等) |
team_member_add / team_member_delete |
增删成员(行为随引擎而异,见上表) |
team_capacity_set |
运行时调整团队容量上限 |
team_message |
向成员或非 roster 可续接子代理投递消息 |
team_task_add / team_task_list / team_task_update |
共享任务板(依赖、CAS revision、写作用域重叠警告) |
team_overview 常用参数¶
只查名册、不想为未加载成员读持久日志时,可关闭压力测量:
{ "include_settlements": true, "include_children": true, "include_pressure": false }
默认三项均为 true;仅显式传 false 才会省略对应段落。include_pressure: false 时 contextPressure.source 为 "skipped",可避免按成员数次的测量开销。
返回中包含 team.capacity(used / max / free / configured / serving / retired / deleted / failed / full)以及每成员的 availability、contextPressure 等字段;若 compaction 服务未挂载,diagnostics 会说明,action=compact 类操作会带 warning 而非假成功。
浏览器半边与 GUI¶
工具卡片: lib/client.js 为六个成员管理相关工具注册专属卡片(容量一行、成员压力行、team_member_edit 的 effects/warnings 等);三个任务板工具仍用通用 JSON 视图。
设置 → Agent Team: 花名册面板挂在设置插槽(静态声明,避免右侧栏晚绑定问题)。数据来自 GET /dsh-team-conductor/team(约每 5 秒轮询)。团队按 root 会话隔离;不带参数返回所有活跃团队,带 ?session=<rootSessionId> 只返回该团队,匹配不到则 mismatch: true,不会静默换团队。
客户端加载自证:apply 时 POST /dsh-team-conductor/client-hello,宿主在状态路由中暴露 clientHalf 与 clientDiag,可用 curl 验证客户端是否真正加载。
注意: 修改客户端半边需 重启宿主 后 F5 刷新;kernel 模式团队依赖存活的 Lead,Lead 释放后内核名册暂时不可见;session 模式成员为独立会话,Lead 未加载时仍可通过侧车找到所属团队。
安装与启用¶
Bundle 式安装(将本目录加入 desktop profile 的 dependencies 并选中 bundle)。README 给出的示例命令(路径需换成你本机克隆或下载后的绝对路径):
dsh plugin --profile desktop add "file:C:/Users/Little Alety/Documents/deepseek-harness/default-workspace/work/dsh-team-conductor"
等价手工操作:在 profile 的 package.json 增加 "dsh-team-conductor": "file:<绝对路径>",并把 "dsh-team-conductor" 追加到 dsh.profile.bundles;也可在 Web 侧边栏 Plugins 页安装并勾选。bundle 的 dsh.bundle.patch 会应用 cordis.patch.yml,插入 team-conductor 条目。
组合装载时,插件为每个 live Team 成员的 agent scope 注册九个工具与 prompt 段,并在服务可用时安装两个守卫。工具与守卫随 bundle 撤下而消失;侧车状态文件不会自动删除。
卸载¶
- Web 侧边栏 Plugins 取消勾选
dsh-team-conductor并用页内卸载(内部pnpm remove)。 - 或从
dsh.profile.bundles与dependencies移除条目,在 profile 目录执行pnpm install。
仅禁用 bundle 选择、保留 dependency 不会撤销 bundle patch。
典型用法(Agent 侧)¶
Lead 或 teammate 在对话中调用工具(名称与参数以注册 schema 为准)。先总览团队时,team_overview 可使用 README 中的默认参数示例:
{ "include_settlements": true, "include_children": true, "include_pressure": true }
向成员发消息、调整容量、编辑别名、添加任务等,分别调用 team_message、team_capacity_set、team_member_edit、team_task_add 等;team_member_edit 通过 action 区分 13 种操作。CLI 入口:package.json 声明 bin/dsh-team → bin/dsh-team.js(细节见仓库 README)。
适用场景与注意¶
适合: 长期在 DSH 里用 Agent Teams 编排多角色、需要可见的上下文压力与容量、要在运行时改 roster 或共享任务板、或希望 session 引擎下成员以独立会话存在并可在 UI 中单独打开的场景。
务必注意: 插件以当前 DSH 进程权限运行,安装前应阅读 源码 与 MIT 许可证;kernel / conductor / session 删除与名册语义不同,切换引擎前应对照 README「三个委派引擎」表。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-team-conductor 把 Agent Teams 的 roster、上下文压力、成员生命周期、容量、消息路径和任务板收到同一控制面,并可选三种委派引擎适配不同部署方式。需要详情与 ISSUES 对照表时,见 GitHub 仓库 README 与 docs/ISSUES.md。
- 目录页:https://www.skillhub.cn/plugins/LittleAlety/dsh-team-conductor
- GitHub:https://github.com/LittleAlety/dsh-team-conductor