前言¶
在 DeepSeek Harness(DSH)里用 Agent Teams 协作时,Lead 会把工作登记到看板上,但真正「谁空闲谁接活、同时跑几个、写同一批路径的任务不要叠在一起」往往还要人盯着手动 fork 或口头指派。没有统一队列时,并行度要么靠猜,要么容易让两个队友改重叠的 write scope。
下面介绍社区插件 dsh-agent-team-scheduler(维护者 Rinai-R):在 Team Lead 会话里由人执行 /dispatch on 后,把已就绪、且符合规则的任务分发给空闲队友,并在 WIP 上限与 write scope 提示下避免冲突写。插件当前版本 0.1.2,许可证 MIT;DSH 生态是「一切皆插件」,目录页在 skillhub.cn,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-agent-team-scheduler 是 DSH 第三方插件,分类为工作流。README 的定位是:A dispatch queue for DeepSeek Harness Agent Teams, armed by a person.(由人「上膛」的 Agent Teams 分发队列。)
Lead 用 team_dispatch_set 登记任务;人在 Lead 会话里启动队列后,就绪工作会分给空闲队友,且写范围(write scope)重叠的任务不会同时跑。它不负责创建队友或 worktree,也不替代 Agent Teams 本身的协作协议。
核心功能¶
以下行为均来自项目 README,冲突时以仓库文档为准。
人工启用(Human armed)
只有人能在 Lead 会话里执行 /dispatch on 启动分发;模型不能自行打开队列。
有界并行(Bounded)
默认最多同时运行两个「队友持有」的任务。可用 /dispatch wip <n> 调整 WIP 上限。
按 hint 隔离写范围(Isolated by hint)
write scope 有重叠的任务会等待;若任务未标注 scope,除非任务为只读,否则会等待。
不是重试循环(Not a retry loop)
队友处于 inactive 不视为任务完成; delivery 不确定时不会自动再发一遍。
重启后暂停(Paused on restart)
进程重启后分发默认关闭,需再次执行 /dispatch on。
安装与启用¶
环境要求¶
- DeepSeek Harness 版本:
>=0.2.1-rc.5且<0.3.0(与package.json中engines.dsh一致)。 - 在同一 profile 中已启用 Agent Teams。
安装插件¶
在 dsh 里打开 Plugins → Install a third-party plugin,输入插件名:
dsh-agent-team-scheduler
或在终端执行(资料中的官方命令,profile 为 web 示例):
dsh plugin --profile web add dsh-agent-team-scheduler
若安装到 desktop profile,需先退出 Desktop,安装完成后重启 dsh。
插件以当前 dsh 进程的权限运行;安装前应自行查看 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。
在 Lead 会话里启用分发¶
进入 Team Lead 会话后,可用 slash 命令控制队列:
/dispatch on
/dispatch status
/dispatch off
/dispatch wip <n>
Lead 登记任务时使用工具 team_dispatch_set(由 Lead 侧调用,具体字段以 DSH Agent Teams 文档为准)。
典型用法¶
- 确认 DSH 版本与 Agent Teams 已在当前 profile 打开,并完成插件安装与重启。
- 在 Lead 会话中通过
team_dispatch_set把任务登记进分发队列。 - 执行
/dispatch on启动队列(必须由人执行)。 - 用
/dispatch status查看状态;需要调整并行度时用/dispatch wip <n>。 - 暂停或结束分发时用
/dispatch off;进程重启后需重新/dispatch on。
适用场景与限制¶
适合谁
已在用 DSH Agent Teams、希望 Lead 集中登记任务、由人控制「何时开始自动分给空闲队友」,并希望在 WIP 与 write scope hint 层面减少并行写冲突的团队。
README 明确写明的限制(Limits)
- 单进程:调度逻辑绑定当前 dsh 进程。
- Lead 必须在线:Lead 会话需要保持可用。
- Write scope 是 hint,不是锁:隔离依赖任务上的 scope 标注,不能当作文件系统级互斥。
- 不创建队友或 worktree:仅调度已有 Team 结构内的任务。
GitHub 上该仓库目前约 2 stars;功能与边界以 README 与发行版为准,使用前建议关注 Issues 更新。
结尾¶
dsh-agent-team-scheduler 把 Agent Teams 里「就绪任务 → 空闲队友」的流转做成可开关的队列:人负责 /dispatch on,插件负责 WIP 与 write scope 层面的排队。若你在同一 DSH 版本段内跑多队友协作,可按上文命令安装并在 Lead 会话里试 /dispatch status。