dsh-taskboard 使用指南
DSH 任务看板插件:五列看板协作 + 10 个 taskboard_* agent 工具,支持任务挂项目、定时执行、worktree 代码隔离和结构化验收。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-taskboard
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add dsh-taskboard
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 五列看板(待规划 / 待办 / 进行中 / 待验收 / 已完成)+ 受阻标记,SSE 实时刷新
- 任务挂项目:认领校验会话归属,跨项目不可抢
- 紧急度三色(紧急/一般/不急)筛选与色条;搜索(标题/ID)与列内排序,筛选排序持久化
- 列头状态色圆点:待规划灰 / 待办蓝 / 进行中橙 / 待验收紫 / 已完成绿 / 已删除红
- 新建/编辑弹窗:项目、模型、紧急度、执行方式、cron 实时校验与下次运行预览、执行隔离开关、验收清单编辑
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
装上之后在哪里打开任务看板?
在 DSH 的 web profile 上安装本插件后重启 harness,DSH 侧栏底部会出现「任务看板」入口按钮,悬停时会显示 待办|进行中|待验收 三个实时计数;点击即在中间列展开五列看板(src/client/sidebar-entry.ts / src/client/board-mount.tsx)。
agent 怎么和看板交互?会上锁/死锁吗?
通过 10 个 taskboard_* agent 工具(list / get / create / update / move / comment_add / comments / delete / checklist / execution_report)读写,所有写操作都用 ifVersion 乐观并发;认领(todo → in_progress)要求调用方 session 与任务所属项目一致,被他人持有则拒绝抢占,同一任务不会并发重复执行(src/host/tools.ts:177-216, 552-578 / src/host/execution.ts:286-313)。
「执行隔离」默认开吗?非 git 项目会怎样?
默认开(Git Worktree 模式),在项目根目录下创建 .dsh-worktrees/<任务ID>/ 的独立 worktree,分支 task/<标题>+<任务ID>。非 git 项目或 git 不可用时自动降级到原目录执行,执行记录里写明降级原因;台账和执行永不被 git 失败拖垮(src/host/execution.ts:480-526 / src/host/git.ts:107-111)。
定时任务关浏览器还会触发吗?
会。调度器在 host 进程里(src/host/scheduler.ts),每分钟扫一次台账,到点的任务用 manual 同样的执行链路创建新会话;关掉浏览器或 host 都不影响,但错过了超过 5 分钟的窗口会跳过不补跑(src/host/scheduler.ts:15-19 / 70-98)。
agent 能不能自己完成任务(移到 done)?
不能。代码层面就把 move → done 对 agent 调用方拒掉,已在协议文本里写得清清楚楚:「你永远不能把任务移到 done——那是用户的确认动作;清单全勾也不等于完成」(src/host/protocol-text.ts:14-33 / src/host/tools.ts:516-579)。
数据和模板存在哪里?怎么备份?
台账落在 DSH 主目录下 $DSH_HOME/dsh-taskboard.json(环境变量 DSH_HOME 可改),任务模板在同目录 dsh-taskboard-templates.json(首启自动播种内置 Bug 修复/发布检查/例行巡检 三套)。看板顶栏有「⬇ JSON」「⬆ 导入」按钮,导入整册替换前会自动写 ledger.backup-<时间戳>.json(src/host/store.ts:40-83 / src/host/templates.ts:15-56 / README.md:26)。
怎么看 agent 这次执行到底改了哪些文件?
详情页「隔离」块会列本次执行的 commits + 未提交修改警告 + diff stat;点提交行或未提交文件行在看板内懒加载展开 git show / git diff。Worktree 已删的提交自动回落主仓;diff 封顶 128KB / 2000 行,超出会标注截断(src/host/routes.ts:737-845 / src/host/git.ts:37-66)。
同时跑多少个执行?满了怎么办?
默认上限 3 个同时执行的会话,可用环境变量 DSH_TASKBOARD_MAX_CONCURRENT 覆盖(>=1)。满了之后手动「立即执行」会直接返回「execution concurrency limit reached」错误,定时任务则保留到期窗口,下一分钟再试(src/index.ts:52-53 / src/host/execution.ts:28 / 263-265 / src/host/scheduler.ts:77-86)。
— 源: plugin_wiki.faq_json
兼容性
- DSH: >= 0.1.0-rc.6 (依赖 @deepseek-ai/dsh-agent / -workspace / -tools / -host-webserver / -system-prompt 这一组 rc.6 包,package.json:57-61)
- Node: 未在 package.json#engines 声明;源码使用 node:fs/promises, node:child_process, node:os, node:path 等内建 API(src/host/store.ts:9, src/host/git.ts:174)
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则