dsh-team-conductor:DeepSeek Harness Agent Teams 的统一控制面

前言

在 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 撤下而消失;侧车状态文件不会自动删除。

卸载

  1. Web 侧边栏 Plugins 取消勾选 dsh-team-conductor 并用页内卸载(内部 pnpm remove)。
  2. 或从 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye