前言¶
用 DSH 或 CLI 跑 agent 开发时,需求、派发、执行结果和验收往往散在会话里,事后很难按任务回溯,也难保证「谁把卡标成完成」有明确边界。DeepSeek Harness 社区插件 taskboard-workbench(维护者 SilenZerOrz,分类:工作流)把「需求条目 → 看板派发 → agent 实际执行 → 证据回流 → 独立复验 → 人工验收」做成可查询、可重放的数据与流程;数据本地落在 SQLite,零 npm 运行时依赖(node:sqlite),既可单独起本地 Web 服务,也可作为 DSH web 侧内嵌插件使用。
社区目录页:skillhub.cn/plugins/SilenZerOrz/taskboard-workbench。DSH 生态是「一切皆插件」;该目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
taskboard-workbench 在 README 中定位为 Agent Team 任务工作台:本地优先的多项目任务看板,核心存储不依赖额外包;执行侧只能把任务推到待验收,done 必须由人工确认。
与「只在聊天里记 todo」相比,任务卡带状态机(backlog → todo → in_progress → in_review → done)、乐观锁(--if-version)、认领锁与心跳、失败会计与熔断;评论、事件流、尝试记录、诊断信息挂在任务上,便于复验。
核心功能¶
下面按 README 功能表归纳已声明能力(未在资料中出现的细节不写)。
| 模块 | 内容 |
|---|---|
| 存储核心 | SQLite(node:sqlite);多项目 / 任务 / 需求条目;状态机、父任务、标签、负责人 |
| 看板 | 列看板(列内拖拽排序)、关键词搜索、Markdown 呈现与内容安全过滤 |
| 需求视图 | 需求条目列表;右侧抽屉详情;引入文件按文件夹树展示 |
| 执行编排 | 看板侧 CLI 执行器(如 cli:claude)、派发引擎选择、执行看护、通知订阅与唤醒 |
| CLI | tb 命令:项目 / 任务 / 评论 CRUD,JSON 输出与稳定退出码 |
| DSH 插件 | dsh.bundle.patch + dsh.client,在 web 宿主注入侧栏 / 布局 / 槽位,会话内「任务工作台」标签页 |
对外首个版本为 0.1.0,许可证 MIT。仓库当前 GitHub 星标为 0(以目录页线索为准)。
环境与要求¶
| 项 | 值 |
|---|---|
| Node.js | >= 22.5.0(依赖 node:sqlite) |
| DSH | 0.2.0-rc.2 线真机验证通过(README 另记 0.2.1-alpha.1 历史走通) |
| 运行时依赖 | 无(dependencies 为空) |
DSH 插件注入依赖宿主侧的 @deepseek-ai/dsh-client-ui-{layout,sidebar,slots},在 package 中声明为可选 peer。
安装与启用¶
作为 DSH web 插件时,使用 README 给出的命令(不要自行拼接 github:owner/repo 形式):
dsh plugin --profile web add taskboard-workbench
插件通过 cordis.patch.yml 与 dsh.client 挂入宿主。若不用 DSH,可在安装包目录执行 npm start 启动本地 Web 服务,或用 CLI 直接操作数据。
注意:插件随 DSH 进程权限运行;安装前请阅读仓库源码与 MIT 许可证,确认数据目录与执行编排策略符合你的环境。
典型用法¶
数据目录¶
CLI 与服务的 SQLite 数据目录优先级为:--data-dir > 环境变量 TB_DATA_DIR > 系统临时目录。试跑可用临时目录;正式使用应显式指定,例如:
export TB_DATA_DIR="$HOME/.taskboard-data"
CLI 快速闭环¶
下列命令来自 README,用于创建项目、任务并挂载证据评论:
node cli/tb.mjs project create --name "示例项目" --id demo
node cli/tb.mjs task create --project demo --title "跑通一次闭环" --description "验证一下"
node cli/tb.mjs task list --project demo
node cli/tb.mjs comment add 1 --body "证据:npm test 全绿"
约定:成功时 stdout 输出 JSON(含 schemaVersion),退出码 0;失败时 stderr 输出 {schemaVersion, error:{code,message}},退出码为 2/3/4/5。并发编辑使用 --if-version;版本不符返回 VERSION_CONFLICT(退出码 5),不会静默覆盖。
Web 与项目配置¶
独立运行时:
npm start
node cli/tb.mjs project list
项目级配置(工作区路径、审批策略、执行者选择等)在 Web 看板的「项目设置」中维护;包内随发布提供 spec/团队agent.md 供工作台内 agent 读取团队契约。
适用场景与注意¶
适合:需要在本地保留多项目任务状态、让 agent/CLI 真跑并把证据写回任务卡、且由人把关 done 的团队或个人。
不适合或需自建预期:若你只希望轻量聊天内 todo、不需要状态机与乐观锁,或无法提供 Node >= 22.5.0 与兼容的 DSH web 宿主 UI peer,则不必上全套工作台。
再次强调:TB_DATA_DIR 未设置时默认落在系统临时目录,不适合长期数据;插件执行编排会按项目设置调用外部 CLI/agent,权限与 DSH 进程一致,部署前请自行审查 index.js、src/ 与执行器配置。
结尾¶
taskboard-workbench 把 agent 团队协作从「聊天记录」收束到「任务卡 + 证据 + 人工验收」的闭环,并支持 DSH 内嵌与独立 Web/CLI 两种形态。进一步了解:
- 目录页:https://www.skillhub.cn/plugins/SilenZerOrz/taskboard-workbench
- 源码与 README:https://github.com/SilenZerOrz/taskboard-workbench