DSH-Agent-Team-Scheduler: A Manually Enabled Task Distribution Queue for Agent Teams

前言

在 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。

安装与启用

环境要求

  1. DeepSeek Harness 版本:>=0.2.1-rc.5 且 <0.3.0(与 package.json 中 engines.dsh 一致)。
  2. 在同一 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 文档为准)。

典型用法

  1. 确认 DSH 版本与 Agent Teams 已在当前 profile 打开,并完成插件安装与重启。
  2. 在 Lead 会话中通过 team_dispatch_set 把任务登记进分发队列。
  3. 执行 /dispatch on 启动队列(必须由人执行)。
  4. 用 /dispatch status 查看状态;需要调整并行度时用 /dispatch wip <n>。
  5. 暂停或结束分发时用 /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。

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

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

Xiaoye