前言¶
在 DeepSeek Harness(DSH)里启用 Agent Teams 后,Lead 可以把任务登记到看板上,但「谁空闲、谁先跑、并行时会不会改同一片路径」往往仍要靠人工盯节奏。多任务叠在一起时,容易出现两个队友同时写入重叠范围,或在没有明确边界时盲目并行。
dsh-agent-team-scheduler 是一个工作流类第三方插件:在有人显式打开调度之后,把已就绪、已自动标记的看板任务派给空闲队友,并在 WIP 上限内尽量避开重叠的写入范围(write scope)提示。下面介绍它的定位、能力与在 Team Lead 会话中的用法。
这是什么¶
一句话定位:面向 DeepSeek Harness Agent Teams 的分发队列(dispatch queue),由人「上膛」后才会运转。
- 维护与发布:社区目录条目为 dsh-labs/dsh-agent-team-scheduler;插件 npm 包名为
dsh-agent-team-scheduler,当前资料中的版本为 0.1.2,许可证 MIT(与 DeepSeek 无从属关系)。 - 解决的问题:Lead 用
team_dispatch_set登记任务后,队列在/dispatch on之后把就绪工作交给空闲队友;同一时刻队友侧在制任务数有上限;写入范围(hint)重叠的任务不会同时跑。
核心功能¶
以下能力均来自插件 README 与 package.json 描述,未在资料中出现的功能不写。
人手启用的调度
- 必须由人执行
/dispatch on启动;模型不能自行打开调度。 - DSH 重启后调度默认关闭,需再次
/dispatch on。 - 可用
/dispatch off关闭,/dispatch status查看状态。
有界的并行(WIP)
- 默认最多 两个 由队友持有的任务同时运行。
- 用
/dispatch wip <n>调整上限。
按写入范围提示隔离
- 写入范围重叠的任务会等待,而不是并行执行。
- 若任务未标明 scope:只读任务可继续;非只读则等待(避免无边界并发写)。
明确不做什么
- 不是自动重试环:队友 inactive 不等于任务完成;不确定的投递不会再次发送。
- 单进程内工作;Lead 必须在线。
- 写入范围是 hint,不是文件锁。
- 插件 不会 创建队友或 worktree。
安装与启用¶
环境要求¶
- DeepSeek Harness:>=0.2.1-rc.5 且 <0.3.0
- 在同一 profile 中已启用 Agent Teams
- 开发构建时 Node 引擎要求见包元数据:^22.19.0 || >=24
安装插件¶
在 DSH 中选择 Plugins → Install a third-party plugin,输入插件标识 dsh-agent-team-scheduler。或在终端对指定 profile 安装(资料中的示例为 web profile):
dsh plugin --profile web add dsh-agent-team-scheduler
若安装到 desktop profile,资料要求先退出 Desktop,安装完成后重启 dsh。
典型用法¶
在 Team Lead 会话中,先打开调度并确认状态:
/dispatch on
/dispatch status
/dispatch off
/dispatch wip <n>
Lead 通过 team_dispatch_set 将任务登记进分发流程;就绪且符合看板自动标记规则的工作会进入队列,在 WIP 与 write scope 约束下派给空闲队友。
可按需调整并行上限,例如将同时在制任务数改为 3:
/dispatch wip 3
适用场景与注意¶
适合谁
- 已在 DSH 中使用实验性 Agent Teams,并由 Lead 统一登记看板任务的多人协作会话。
- 希望在有人把关的前提下自动把任务分给空闲队友,并限制并行度、降低重叠路径同时写入的风险。
使用前先想清楚
- 调度关闭时队列不运转;重启 DSH 后要记得再次
/dispatch on。 - 重叠 scope 的等待依赖任务上的 hint,不能替代代码审查或真正的锁机制。
- 插件以当前 dsh 进程权限运行;安装前应在社区目录或 GitHub 查看源码与 MIT 许可证,确认与团队安全策略一致。
资料中的开发自检命令(维护者改插件时使用):
npm ci
npm run typecheck
npm run build
npm test
结尾¶
dsh-agent-team-scheduler 把 Agent Teams 看板上「就绪」的任务收成一条由人启用的分发队列:空闲队友接单、WIP 有界、重叠 write scope 错开并行。若你已经在用 Team Lead + team_dispatch_set,可以按上文命令安装并在 Lead 会话里试 /dispatch on 与 /dispatch status。