dsh-taskboard
August 28, 2026 · View on GitHub
English | 简体中文
dsh-taskboard
DeepSeek Harness 的任务看板插件:人建卡、agent 认领执行、人验收。任务挂项目(workspace)、可指定模型与 preset、支持手动与定时执行,全流程双向协作。
- 闭环协作:人建卡 → agent 认领执行 → 结构化报告 → 人验收(✓ 完成 / ✗ 退回附原因)
- 10 个
taskboard_*agent 工具 + 代码级协议闸:agent 永远移不到 done、任务被持有时不可抢、跨项目不可认领 - 执行:手动或 cron 定时(host 侧调度,浏览器关了照跑);每次执行在任务项目内开全新会话,可指定模型与 preset
- Git Worktree 隔离:每次执行独立 worktree + 任务分支,验收时一键合并;非 git 项目自动降级
- 验收效率:DoD 验收清单(agent 勾选附证据)、结构化执行报告(摘要/改动文件/自验/产物/风险)、看板内 diff 查看器
- 实时看板:SSE 实时刷新、五列流转、筛选排序持久化、JSON 导入导出、任务模板
零配置:安装即用——无需 Token、无需 API Key、无需额外服务或数据库。
界面


目录
环境要求
| 依赖 | 要求 | 说明 |
|---|---|---|
| DeepSeek Harness | ≥ 0.1.1 | 需要 dsh plugin 子命令与 web profile |
| Node.js | ≥ 20 | 仅 GitHub 源安装构建时需要 |
| git | 可选 | Worktree 隔离需要;缺失时自动降级原目录执行 |
安装
# 一键安装(npm,预构建、免构建授权 —— 推荐)
dsh plugin --profile web add dsh-taskboard
# 或从 GitHub 源安装
dsh plugin --profile web add github:cloader/dsh-taskboard
安装后重启 dsh web 并刷新页面:侧边栏出现「任务看板」入口即成功。无需任何后续配置。
GitHub 源安装卡在 prepare / allowBuilds?
git 源插件安装时经 prepare 脚本构建,pnpm 会先阻止——按报错提示把精确 key 加进 profile 目录 pnpm-workspace.yaml 的 allowBuilds 后重跑即可。npm 源是预构建产物,无此步骤。
开发模式安装(改代码即生效)
git clone https://github.com/cloader/dsh-taskboard.git
cd dsh-taskboard
npm install && npm run build
dsh plugin --profile web add "link:/path/to/dsh-taskboard"
link 安装后,仓库里 npm run build 重建、刷新页面即生效;改完宿主侧代码需重启 dsh web。
卸载:dsh plugin --profile web remove dsh-taskboard(台账数据保留在 DSH 主目录,见配置与数据)。
官方
@deepseek-ai/dsh-*包只写进 profile 的bundles列表,不要plugin add进 dependencies(避免 SDK 双实例遮蔽)。
快速开始
第 1 步 · 建卡:看板右上「+ 新建任务」——选项目、紧急度、执行方式(认领/定时+cron)、模型与 preset、Git 隔离开关、验收清单;可勾「⚡ 立即执行」。
第 2 步 · agent 执行:三种触发方式任选——
- GUI「立即执行」/「↻ 续跑」(详情页或表单)
- cron 定时(host 侧调度,无需开浏览器)
- 任意会话里让 agent 用
taskboard_*工具认领:按看板上的任务 t-xxxxx 执行
第 3 步 · 人验收:待验收列「✓ 完成」一键验收;「✗ 退回」退回待办并附原因(agent 下轮开工前会读)。
一次完整的 agent 工作流(协议由插件在执行开场自动下达):
你:执行看板任务 t-ab12cd
agent:
taskboard_list # 查板:项目内 todo 任务
taskboard_get t-ab12cd # 读需求、评论、验收清单
taskboard_move → in_progress # 认领(代码闸:被持有/跨项目会被拒绝)
……编码 / 测试……
taskboard_checklist check # 逐项勾验收清单,附证据 note
taskboard_execution_report # 结构化报告:摘要/改动文件/自验/产物/风险
taskboard_comment_add # 交接说明
taskboard_move → in_review # 移待验收
你:看板待验收列 ✓ 完成 # done 永远只属于人——agent 调用会被代码闸拒绝
Agent 工具参考
任何会话可用;项目边界:只有属于任务所在项目的会话才能认领或执行。
| 工具 | 作用 |
|---|---|
taskboard_list | 查板(按项目/状态/紧急度过滤,紧凑摘要) |
taskboard_get | 读单卡全文:描述、prompt、评论流、清单、执行记录 |
taskboard_comments | 列出任务评论(视为最新需求,先读后动) |
taskboard_create | 建卡(workspaceId、紧急度、清单、preset、隔离、定时) |
taskboard_update | 改标题/描述/prompt/紧急度/清单(model/execution 只读) |
taskboard_move | 移卡:todo→in_progress→in_review(到不了 done) |
taskboard_comment_add | 追加评论(交接、风险、进展) |
taskboard_delete | 软删除(可 purge;执行中不可删) |
taskboard_checklist | 验收清单 add / check(附证据)/ uncheck |
taskboard_execution_report | 提交结构化执行报告,自动挂到当前执行 |
功能特性
看板协作
- 五列看板(待规划 / 待办 / 进行中 / 待验收 / 已完成)+ 受阻标记,SSE 实时刷新
- 任务挂项目:认领校验会话归属,跨项目不可抢
- 紧急度三色(紧急/一般/不急)筛选与色条;搜索(标题/ID)与列内排序,筛选排序持久化
- 列头状态色圆点:待规划灰 / 待办蓝 / 进行中橙 / 待验收紫 / 已完成绿 / 已删除红
- 新建/编辑弹窗:项目、模型(含思考强度)、紧急度、执行方式、cron 实时校验与下次运行预览、执行隔离开关、验收清单编辑
- 详情面板:状态流转(done 仅限人工;清单未全勾时完成需二次确认并显示未勾数)、agent/用户评论流、执行记录(倒序,最新在最上;会话 ID 点击跳转打开该执行会话;已删除/已归档分开提示)、停止执行、Worktree 隔离块(分支 / 提交 / 改动统计 / 合并与清理)、执行报告块、验收清单块
- 待验收列卡片快捷操作:「✓ 完成」一键验收、「✗ 退回」退回待办并可附退回原因(agent 开工前会读)
- 一键跳转执行会话(0.5.4):任务卡片新增「🤖 会话ID ↗」按钮、详情页顶部新增「🤖 跳转会话 ↗」按钮,持有者 Chip 同样可点——进行中优先、其次最近一次执行对应的会话一键直达(看板自动收起);已归档 / 已删除 / 会话服务不可用分别精准提示
- 记住上次模型(0.5.4):新建任务自动带出上次选用的模型与思考强度(模板预填与编辑不受影响)
- 验收清单 DoD(0.4.0):建卡时定验收条件(≤30 项);agent 用
taskboard_checklist增补/勾选(附证据 note);用户在详情页直接勾选;待验收时未完成项红色高亮 + 卡片「☑ n/m」角标(未全勾显红);清单编辑在表单中整组管理(勾选状态与证据保留) - 结构化执行报告(0.4.0):agent 收尾用
taskboard_execution_report提交(摘要 / 改动文件 / 自验 / 产物 / 剩余风险),自动挂到当前执行记录;待验收详情页分栏渲染;开场框架行明示提交时序(报告 → 评论 → 移待验收) - JSON 导入(0.4.0):顶栏「⬆ 导入」选择备份文件 → 干跑预览(新增 / 覆盖 / 无效分类明细)→ 合并(按 id upsert)或整册替换(自动先备份当前台账 + 二次确认);⬇ JSON 导出的文件即同格式可直接恢复
- 任务模板(0.4.0):「+ 新建任务 ▼」下拉(空白 / 内置 新增功能·Bug 修复·发布检查·例行巡检 / 管理模板)一键预填表单(标题/描述/Prompt/紧急度/定时/隔离/preset/清单);任务详情「⌗ 存为模板」沉淀常用配置;模板存 DSH 主目录 side file,改名/删除在管理弹窗
- Diff 查看器(0.4.0):隔离块提交行、未提交修改文件行点击即在看板内展开 diff(提交
git show/ 文件git diff,128KB·2000 行封顶标注截断);worktree 已删时回落主仓(仅限提交与带基线的范围 diff)
Agent 工具(taskboard_*)
- 10 个工具:查板 / 建卡 / 改卡 / 移卡 / 评论 / 软删除 / 验收清单 / 执行报告,任何会话可用
- 代码级协议闸:agent 永远移不到 done(清单全勾也不行);任务被持有时不可抢占;model/execution 对 agent 只读
执行
- 手动执行或 cron 定时:每次执行在任务项目内新建全新会话(干净上下文、可指定模型、可指定 preset);开场两条消息同一回合送达——插件上下文行携带任务框架与交接协议(含失败回退路径),卡片内容(标题+描述+提示词)以正常用户消息呈现
- 任务级 preset(0.3.3):新建/编辑表单「执行模式(preset)」下拉——执行会话按该 preset 组合(工具集与人设由此而来,对齐 GUI 新会话的组合方式);默认预选部署默认 preset,也可选「跟随部署默认」;preset 损坏时执行直接失败并把原因写进执行记录(不产出半组合会话);随时可改,下轮执行生效
- Git Worktree 隔离执行(0.3.0):任务级开关(0.5.0 起新建任务的默认值由「看板设置」统一决定,出厂默认原目录执行),每次执行在
<项目>/.dsh-worktrees/<任务ID>独立 worktree 上进行,分支task/<标题>+<任务ID>(首次创建后定死,改名不改);执行会话归属项目根目录(分组、工具与文件沙箱完整可用——DSH 要求会话 cwd 即工作区根,0.3.2 修正),worktree 路径与边界纪律在开场指令中明确下达;结算自动采集提交列表 / 未提交修改警告 / 改动统计;非 git 项目或 git 不可用时自动降级原目录执行(执行记录注明降级原因,台账与执行主流程永不因 git 失败而失败);验收时详情页一键--no-ff合并到主工作区(主区脏或冲突原样报告,不自动解决)、删除 worktree(有未提交修改时拒绝)、可选删分支;支持「↻ 续跑」在现有 worktree/分支上继续执行(保留上次改动与提交) - 看板设置(0.5.0):顶栏「🛠 设置」——选择新建任务默认怎么执行(🌿 Worktree 隔离 / 📁 原目录执行,出厂默认后者)。保存后新建的任务都按它来;之后改设置,已建好的任务不受影响
Worktree 隔离是协作约定而非沙箱:执行会话拥有完整工具权限,隔离依赖分支约定,不适用于运行不可信代码的场景。
- host 侧调度:关掉浏览器照常触发;错过窗口跳过不补跑
- 乐观并发(ifVersion)+ 完整归因(谁改的、哪个会话执行的)
- ⚙ 健康诊断:台账基本项 + 遗留 worktree(台账无主但目录存在)一键清理
安全
- 验收权只属于人:agent 把任务移到 done 的调用被代码级协议闸直接拒绝(不是提示词约定);任务被持有时不可抢占,跨项目不可认领。
- Worktree 隔离是协作约定而非沙箱:执行会话拥有完整工具权限,隔离依赖分支约定,不适用于运行不可信代码的场景。
- 数据本地:台账、模板全部存本机 DSH 主目录;不外发任何数据,无需 Token / API Key。
配置与数据
开箱即用,全部配置项如下(均为可选):
| 环境变量 | 默认 | 说明 |
|---|---|---|
DSH_TASKBOARD_MAX_CONCURRENT | 3 | 全局同时执行的会话数上限 |
DSH_HOME | ~/.dsh | DSH 主目录(跟随部署,插件数据随之) |
ATB_TRACE | 未设置 | =1 时 host 打印工具调用跟踪(调试用) |
数据文件(均在 DSH 主目录,卸载插件不删除):
| 文件 | 内容 |
|---|---|
dsh-taskboard.json | 任务台账(全部任务/执行/评论) |
dsh-taskboard-templates.json | 任务模板 |
dsh-taskboard.json.backup-<时间戳> | 整册导入替换前的自动备份 |
<项目>/.dsh-worktrees/<任务ID>/ | 任务执行 worktree |
随时可顶栏「⬇ JSON」全量备份、「⬇ CSV」导出任务清单(带 BOM,Excel 直接打开)。
常见问题
侧边栏没有「任务看板」入口?
刷新页面;仍没有则确认插件已装进当前 profile 并重启 dsh web(宿主半区在进程启动时加载)。三代 shell 均支持:data-pane(dev)、哈希类名(官方布局,0.4.2 起)、DSH Desktop 非兼容 extended frame(0.5.2 起)。
任务数据存在哪?怎么备份? 见配置与数据。GUI「⬇ JSON」随时全量导出;「⬆ 导入」可恢复。
浏览器关了,定时任务还跑吗? 跑。调度在 host 进程侧,与浏览器无关;错过的时间窗口跳过不补跑。
项目不是 git 仓库,能用吗? 能。Worktree 隔离自动降级为原目录执行,执行记录注明降级原因;其余功能不受影响。
多个项目怎么协作? 任务挂项目(= DSH workspace)。认领校验会话归属:只有任务所在项目内的会话能认领/执行,跨项目不可抢。
agent 会把任务直接标成「已完成」吗?
不会。这是代码级协议闸(不是提示词约定):taskboard_move 到 done 的调用被直接拒绝,验收永远由人在看板完成。
GitHub 源安装报 prepare 被阻止?
pnpm 的构建授权——按报错把 key 加进 profile 的 pnpm-workspace.yaml allowBuilds 后重跑;或改用 npm 源(预构建,无此步骤)。
开发
git clone https://github.com/cloader/dsh-taskboard.git
cd dsh-taskboard
npm install && npm run build # host ESM + client CJS 双构建
npm test # vitest 全量(150 项)
node tests/manual-git-e2e.mjs # 真 git 端到端手测(worktree 全链路 + 续跑 + diff 查看器)
node scripts/screenshot.mjs # 重新生成 img/ 截图(需本机 Edge)
升级日志
0.5.4
- 看板卡片与任务详情一键跳转执行会话: @jw5555555555(#11):卡片元数据行新增「🤖 会话ID ↗」按钮、详情页顶部新增「🤖 跳转会话 ↗」按钮、持有者 Chip 可点击——进行中优先、其次最近一次执行对应的会话一键直达(看板自动收起);已归档 / 已删除 / 会话服务不可用分别给出明确提示
- 新建任务记住上次选用的模型,支持设置思考强度: @jw5555555555(#11):create 模式自动带出上次的模型与思考强度(模板预填与编辑不受影响);模型可固定思考强度(reasoningEffort,如 low/medium/high),随执行会话下发;支持思考强度的模型从 DSH 模型目录读取可用档位
- 列内排序新增「按标题」: @Amoss-1(#4):数字感知比较,数字前缀按真实数值排序(
01 < 02 < 10 < 90,字符串比较会把10排到02前);排序选择随视图状态持久化 - 界面细节:下拉 / 输入框适配明暗主题(DSH 主题变量 + color-scheme);模板管理弹窗布局优化
0.5.3
- 执行 Prompt 改为追加式:自定义 Prompt 不再整体替换开场指令——实际发给执行会话的是「标题+任务描述+Prompt」,写在描述里的背景不再被漏掉;新建/编辑表单文案与
taskboard_create工具描述同步更新 - 新增内置「新增功能」模板:排在「Bug 修复」之前——标题前缀「新增:」,按「明确需求要点 → 实现 → 补测试 → 跑套件」四步走,自带三项验收清单
- 「Bug 修复」模板首行改为「修复以上问题并按序交接」:描述现在先于 Prompt 送达,「以上」才指得住
📜 更早版本的完整更新日志见 changelog.md。
License: Apache-2.0