dsh-team-board:把多 agent 协作收成一块协作看板

前言

在 DeepSeek Harness(DSH)里开多个 agent 会话,指挥拆任务、执行写代码、人做验收,流程上说得通,信息却常散在各自聊天记录里:拍板结论淹没在某条会话里,任务要手动复制进执行会话,进度和角色也得靠翻记录猜。协作台(dsh-team-board)是维护者 Ray144165154 发布的工作流类 DSH 插件,把「agent 登记任务与推进验收、人负责派发与拍板」落到一块结构化看板上,并用三个 agent 工具与页面共用同一套数据。

这是什么

dsh-team-board(包名 @local/dsh-team-board,当前资料中版本 0.3.3)是 DSH Desktop(Web UI profile)插件。装好后侧边栏增加「协作台」入口。看板状态落在 $DSH_HOME 下的普通 JSON 文件(重置时可删 ~/.dsh/team-board/board.json)。插件分 Host(index.js,规则与持久化)与 Client(client.js,侧边栏与主页面 UI),无额外构建步骤与第三方依赖;Host 仅用 Node 内置模块,设计上面向 macOS / Windows / Linux 的 DSH Desktop,资料写明在 0.2.2-rc.1 上开发验证,其它版本未测。

社区目录页:dsh-team-board。源码与说明:GitHub · Ray144165154/dsh-team-board(目录页星标为 0)。DSH 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

核心能力

下面按「人做什么 / agent 做什么」归纳,均来自仓库 README。

任务卡与角色

每条任务带 指挥 / 执行 / 验收 三个角色字段、状态胶囊(todo / doing / done)、进度如 0/3 与可点击勾选的验收清单。页面可切换或新建项目,也可在页面里新建任务,不依赖 agent。

GO 派发

任务卡上点 GO,从已打开的 live 会话里选一个目标;任务会以一条 user 消息推入该 agent 会话,状态自动变为 doing,并记录派发目标。只有被 DSH 加载为 live agent 的会话能接收派发;下拉会显示会话标题与运行 / 空闲状态,Agent Teams 队友会话会标为「队友」,临时 subagent 会话被过滤。

待拍板与人机传话

执行或指挥 agent 卡住时可用工具抛出待拍板卡;只有人能在页面填答案并提交(answerDecision 不暴露给 agent 工具)。提交后答案留在板上,并由 Host 自动作为 user 消息投回提问的会话。页面底部「传话」框可把人的一句话直接发进所选 live 会话。

三个 agent 工具

装好后以下工具出现在所有 agent 工具列表,无需额外配置;均返回 JSON。

工具 作用
collab_board_read 读整块板;可选 projectId 只读一个项目
collab_task_upsert 新建或更新任务(省略 taskId 则新建,自动分配如 T-080 的 id)
collab_decision_ask 发一张待拍板卡;Host 会记下调用会话,人拍板后自动回投

拍板回答 deliberately 不走 agent 工具面,避免 agent 代答;回投由 Host 的 followup / steer 完成,投递成功表示消息进入收件箱,不代表 agent 已处理完毕。

安装与启用

前提:DSH Desktop。资料要求升级到 v0.3 后需重启一次 DSH 以重新加载 Host 投递逻辑,仅刷新页面不能换掉运行中的 Host。

官方 README 的安装路径是本地 bundle,而非目录站一键命令。步骤如下。

  1. 将仓库放到本机目录(README 示例使用 clone;你也可用其它方式取得同一份源码树)。

  2. 在 DSH 里对 agent 说明(把路径换成你本机绝对路径):

把 `/绝对路径/dsh-team-board` 作为 bundle 安装到当前 profile。

内部会调用 plugin_manager install_bundle,把包 link 进当前 profile。

  1. 侧边栏出现「协作台」后点入;若未出现,刷新一次页面(新装的 Client 模块需重新加载)。

卸载:在插件页移除 @local/dsh-team-board,或让 agent 执行 plugin_manager remove_bundle。

安装前建议自行阅读仓库源码与许可证;插件以当前 DSH 进程权限运行,对本地 board.json 与 agent 会话有读写与投递能力。

典型工作流

README 给出的协作顺序可作复现参考:

  1. 指挥 agent 调用 collab_task_upsert 建任务并写入验收项。
  2. 人在任务卡点 GO,选择执行会话完成派发。
  3. 执行 agent collab_board_read 接单,用 collab_task_upsert 更新状态与进度。
  4. 遇歧义时 collab_decision_ask 建待拍板卡;人页面提交拍板,答案自动进执行会话。
  5. 验收项通过后 collab_task_upsert 的 doneChecks 勾掉清单项。

新建任务示例载荷(摘自 README):

{
  "title": "工作台分析区显示细菌计数图",
  "checks": ["图能渲染", "空数据显示占位"],
  "progressTotal": 2,
  "commander": "claude",
  "executor": "deepseek"
}

待拍板示例:

{ "title": "什么时候数", "detail": "**AI 分析完成后自动数**,跟在分析任务里,不加按钮" }

页面约每 6 秒轮询状态,切回窗口时立即刷新;派发与传话前若会话列表变化,可点「刷新会话」。

适用场景与注意

更适合需要固定分工(指挥 / 执行 / 验收)、多处会话并行、且希望人独占拍板通道的多 agent 工作流。不适合完全不打算在 DSH 里维持 live 会话、或不愿把任务状态写到本地 JSON 的场景。

资料注明:macOS 已实机验证投递;Windows / Linux 真机投递在 README 中尚未实测,CI 在 ubuntu / macos / windows 上用 fake context 覆盖 Host 与 Client 契约。Agent Teams 为可选增强,无它时不显示队友会话。

结尾

协作台把多 agent 协作从聊天里抽成有角色、有状态、有验收清单的共享板,并用 GO 派发与拍板回投补上调度与决策的最后一公里。进一步了解可打开 SkillHub 目录页 与 GitHub 仓库。

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

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

Xiaoye