
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-taskboard
Advanced tools
Agent-first task board for the DSH web GUI: host-authoritative task ledger with taskboard_* agent tools, project (= workspace) claim boundaries, per-task model execution with optional existing-session reuse, optional per-task git-worktree isolation (dedic
English | 简体中文
DeepSeek Harness 的任务看板插件:人建卡、agent 认领执行、人验收。任务挂项目(workspace)、可指定模型与 preset、支持手动与定时执行,全流程双向协作。
taskboard_* agent 工具 + 代码级协议闸:agent 永远移不到 done、任务被持有时不可抢、跨项目不可认领零配置:安装即用——无需 Token、无需 API Key、无需额外服务或数据库。


| 依赖 | 要求 | 说明 |
|---|---|---|
| DeepSeek Harness | ≥ 0.1.1 | 需要 dsh plugin 子命令与 web profile |
| Node.js | ≥ 20 | 仅 GitHub 源安装构建时需要 |
| git | 可选 | Worktree 隔离需要;缺失时自动降级原目录执行 |
双轨挂载(0.8.0):dsh ≥ 0.1.7(带官方 slot 系统)时,看板作为一等侧边栏面板注册(
sidebar.panellist+main,宿主拥有侧栏行与面板切换,从根本上消除「看板打开后其他面板点不动」这类问题,#31);旧版 shell 自动回落到原有的 DOM 注入方式,行为与 0.7.x 完全一致。两条路径运行时自动互斥选择,无需配置。
# 一键安装(npm,预构建、免构建授权 —— 推荐)
dsh plugin --profile web add dsh-taskboard
# 或从 GitHub 源安装
dsh plugin --profile web add github:cloader/dsh-taskboard
安装后重启 dsh web 并刷新页面:侧边栏出现「任务看板」入口即成功。无需任何后续配置。
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(台账数据保留在当前数据目录,见配置与数据)。
官方
@deepseek-ai/dsh-*包只写进 profile 的bundles列表,不要plugin add进 dependencies(避免 SDK 双实例遮蔽)。
第 1 步 · 建卡:看板右上「+ 新建任务」——选项目、紧急度、执行方式(认领/一次性定时/定期 cron)、模型与 preset、Git 隔离开关、验收清单;一次性定时任务可新建会话或选择当前项目的既有会话。定期任务则可独立选择「每次新建会话」「首次新建、后续复用」或既有会话,并选择完成后「移回待办」或「新建待办」;可勾「⚡ 立即执行」。
第 2 步 · 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 调用会被代码闸拒绝
任何会话可用;项目边界:只有属于任务所在项目的会话才能认领或执行。
| 工具 | 作用 |
|---|---|
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 | 提交结构化执行报告,自动挂到当前执行 |
看板协作
/ 即弹出命令与技能补全(↑↓/Enter/Tab/Esc 键盘导航,宿主动态发现与内置清单合并);描述与 Prompt 中的 Markdown 图片渲染为缩略图,点击灯箱放大taskboard_checklist 增补/勾选(附证据 note);用户在详情页直接勾选;待验收时未完成项红色高亮 + 卡片「☑ n/m」角标(未全勾显红);清单编辑在表单中整组管理(勾选状态与证据保留)taskboard_execution_report 提交(摘要 / 改动文件 / 自验 / 产物 / 剩余风险),自动挂到当前执行记录;待验收详情页分栏渲染;开场框架行明示提交时序(报告 → 评论 → 移待验收)git show / 文件 git diff,128KB·2000 行封顶标注截断);worktree 已删时回落主仓(仅限提交与带基线的范围 diff)Agent 工具(taskboard_*)
执行
<项目>/.dsh-worktrees/<任务ID> 独立 worktree 上进行,分支 task/<标题>+<任务ID>(首次创建后定死,改名不改);执行会话归属项目根目录(分组、工具与文件沙箱完整可用——DSH 要求会话 cwd 即工作区根,0.3.2 修正),worktree 路径与边界纪律在开场指令中明确下达;结算自动采集提交列表 / 未提交修改警告 / 改动统计;非 git 项目或 git 不可用时自动降级原目录执行(执行记录注明降级原因,台账与执行主流程永不因 git 失败而失败);验收时详情页一键 --no-ff 合并到主工作区(主区脏或冲突原样报告,不自动解决)、删除 worktree(有未提交修改时拒绝)、可选删分支;支持「↻ 续跑」在现有 worktree/分支上继续执行(保留上次改动与提交)<项目>/.dsh-worktrees/<任务ID>/ 形成结构同构镜像;执行引导逐仓库给出镜像路径与分支并声明边界纪律(未镜像仓库禁改);提交证据、diff 查看(?repo= 按仓库)与合并(逐仓库 --no-ff,一仓冲突不阻断他仓,按仓库汇总)均分仓库进行;镜像清理聚合全部仓库的未提交检查后「先子后根」删除;任务与执行记录新增 branches / repos 附加字段,单仓库行为与旧数据零变化;根仓库以 gitlink(embedded repo)形式跟踪子仓的容器工作区同样完全可用——嵌套子镜像在根镜像 status 中的结构性噪音(未跟踪目录 / gitlink 漂移)已在证据采集、合并检查与镜像清理中自动豁免;新建任务表单在多仓库工作区显示「将镜像 N 个仓库」提示,纯容器工作区(根非仓库、只有并列子仓)同样可选 Worktree 隔离taskboard_create 创建时将默认值存入新任务,后续改设置不影响已有任务。未配置看板模型时,GUI 保留原有的上次模型选择记忆;新建表单也可主动选择跟随部署默认。配置随台账持久化并支持 JSON 导入导出。
Worktree 隔离是协作约定而非沙箱:执行会话拥有完整工具权限,隔离依赖分支约定,不适用于运行不可信代码的场景。
开箱即用,全部配置项如下(均为可选):
| 环境变量 | 默认 | 说明 |
|---|---|---|
DSH_TASKBOARD_MAX_CONCURRENT | 3 | 全局同时执行的会话数上限 |
DSH_HOME | ~/.dsh | DSH 主目录,也是未自定义时的数据目录及位置引导文件所在目录 |
ATB_TRACE | 未设置 | =1 时 host 打印工具调用跟踪(调试用) |
数据目录默认是 DSH_HOME,可在「🛠 设置 → 数据存储位置」中检查并迁移到其他绝对路径。三个数据项始终一起迁移;卸载插件不删除数据。
| 文件 | 内容 |
|---|---|
dsh-taskboard.json | 任务台账(全部任务/执行/评论) |
dsh-taskboard-templates.json | 任务模板 |
dsh-taskboard-assets/ | 图片附件(按内容哈希去重) |
dsh-taskboard.json.backup-<时间戳> | 整册导入替换前的自动备份 |
DSH_HOME/dsh-taskboard-storage.json | 自定义数据目录的位置引导文件;固定留在 DSH 主目录 |
<项目>/.dsh-worktrees/<任务ID>/ | 任务执行 worktree(多仓库工作区:整区任务镜像,每仓库一个子 worktree) |
随时可顶栏「⬇ JSON」备份台账、「⬇ CSV」导出任务清单(带 BOM,Excel 直接打开)。图片附件不在 JSON 内;完整备份需复制设置页显示的数据目录中的 dsh-taskboard-assets/ 文件夹。
侧边栏没有「任务看板」入口?
刷新页面;仍没有则确认插件已装进当前 profile 并重启 dsh web(宿主半区在进程启动时加载)。三代 shell 均支持:data-pane(dev)、哈希类名(官方布局,0.4.2 起)、DSH Desktop 非兼容 extended frame(0.5.2 起)。
任务数据存在哪?怎么备份?
见配置与数据。GUI「⬇ JSON」可导出、恢复台账;图片附件还需备份 dsh-taskboard-assets/ 文件夹。
浏览器关了,定时任务还跑吗? 跑。调度在 host 进程侧,与浏览器无关;错过的时间窗口跳过不补跑。
定期任务完成后为什么停在「待验收」?如何自动继续? 默认会保留本轮供验收并由系统创建下一轮 todo 卡。若希望复用同一张卡,在任务表单的「定期任务完成后」选择「完成后移回待办」即可。两种策略不依赖 agent 的状态操作;未配置的既有 cron 任务也会采用默认的新建待办策略。
项目不是 git 仓库,能用吗? 能。Worktree 隔离自动降级为原目录执行,执行记录注明降级原因;其余功能不受影响。
多个项目怎么协作? 任务挂项目(= DSH workspace)。认领校验会话归属:只有任务所在项目内的会话能认领/执行,跨项目不可抢。
agent 会把任务直接标成「已完成」吗?
不会。这是代码级协议闸(不是提示词约定):taskboard_move 到 done 的调用被直接拒绝,验收永远由人在看板完成。
GitHub 源安装报 prepare 被阻止?
pnpm 的构建授权——按报错把 key 加进 profile 的 pnpm-workspace.yaml allowBuilds 后重跑;或改用 npm 源(预构建,无此步骤)。
和 dsh-better-sidebar 并存,看板顶栏右侧按钮被遮住? 0.6.5 起已自动避让:better-sidebar 收起时其右上角常驻按钮簇(展开底部面板 / 展开侧边栏)占据视口右上 10~70px,看板激活时会为工具条右侧预留这块区域(镜像 better-sidebar 对 DSH 原生会话头的避让契约),任何窗口宽度都不再重叠;未安装 better-sidebar 或其侧栏展开时无任何影响(#19)。
Windows 版 DSH Desktop 的窗口按钮与看板顶栏重叠? 0.6.6 的修复会根据看板距窗口顶部的实际位置,为原生窗口控制按钮预留顶部空间;已有独立标题栏时保持原间距,窗口缩放和布局变化时重新计算。该问题已通过 Windows 实机验收(#20 评论)。
编辑任务时 DoD 勾选框占位过多,把文本输入框挤出去? 0.6.6 已将 checkbox 排除在弹窗的整行输入框样式之外,恢复勾选框的 15px 宽度及文本输入区域(#20)。
git clone https://github.com/cloader/dsh-taskboard.git
cd dsh-taskboard
npm install && npm run build # host ESM + client CJS 双构建
npm test # vitest 全量(含真实 git 镜像集成测试)
node tests/manual-git-e2e.mjs # 真 git 端到端手测(worktree 全链路 + 续跑 + diff 查看器)
npm run build 在构建前清理 lib/ 的旧产物,再生成 host ESM 和客户端注册模块 lib/client.js。npm run build:host、npm run build:client 只重建对应部分并保留另一部分产物;发布前请运行完整构建。
禅道支持按「关联项目」或「关联执行/迭代」同步缺陷、研发需求和任务;TAPD 支持缺陷、需求、任务。两种禅道模式已在真实环境进行只读验证;TAPD 仍以本地模拟验证为主。
/api.php/v1)、登录用户名和密码,默认同步此登录账号的任务,也可指定其他处理人。TAPD 使用 API Basic Auth 或 Bearer Token,单独填写处理人成员昵称。项目模式读取项目下的缺陷和需求;任务通过分页遍历该项目下所有执行汇总,同一工作项在该项目范围内去重。执行模式直接读取该执行下勾选的类型。只请求选中的同步范围,不把整个产品的工作项混入项目。新导入项仍按处理人和结束状态筛选。
可勾选「同步未关联项目」或「同步未关联执行/迭代」(文案随映射方式变化,默认关闭)。开启后,每轮手动或定时同步都会重新获取当前账号可访问的对应范围;清单中不关联本地项目的项,以及后来新增、尚未配置映射的项,也会导入和更新卡片。新卡片的工作项目为空,已关联项仍导入指定本地项目;已有卡片的本地项目为空时,后续关联并保存后,下次同步自动补上本地项目;已有非空项目不被覆盖,已归档和回收站卡片保持不动。开启时允许不配置任何本地关联。取消勾选后停止未关联项的后续同步,已有卡片保留。
任务来源标识包含映射范围。同一需求关联多个执行时,可以按各执行映射在不同本地项目分别建卡;切换映射模式不合并或删除旧卡片。相同映射重复同步不重复创建,已有卡片的非空本地项目和执行状态不自动移动。标题、描述和优先级采用三方合并;进行中/待验收内容受保护,已完成/已取消只更新来源状态和处理人,已归档停止更新。删除忽略记录也按映射范围生效。
旧配置处理:缺少新映射方式的旧禅道配置暂停自动同步,保留凭据和已有任务,并提示重新关联项目或执行/迭代。旧产品 ID 不会被自动解释为项目 ID;重新获取清单、关联并保存后恢复。
连接凭据保存在活动 DSH_HOME 的 dsh-taskboard-external.json(host 专用明文文件,需妥善保护),密码和 Token 不返回前端、不进入任务导出。禅道自动获取内存 Token,不支持旧 Token 认证配置。任务与同步记录原子保存,失败不提交部分任务。当前支持一个活动连接,暂不包含截图、附件、Webhook 和状态回写。
2026-10-16 实测:项目模式读取 4 个缺陷、4 条项目需求和 8 个开发任务;执行模式读取到相同范围的数据。两种模式分别按 admin 导入 2 个缺陷、2 个任务,第二轮均无新增和更新;需求未分配给该账号,因此未导入,需求按处理人导入另有模拟集成测试覆盖。测试仅写入临时本地账本,不修改禅道业务数据。
.svn 即判定非 Git 并跳过嵌套扫描,修复大型 SVN 仓库导致 /workspaces 10 秒超时(实测 60s+ → 毫秒级)。感谢 @jw5555555555 的贡献。source.kind: 'plugin'。看板现在以自身的 dsh-taskboard 消息来源写入执行上下文,避免手动和定时任务在启动首轮时因消息格式校验失败;后续的用户 follow-up 消息行为不变。感谢 @weibaohui 提交并合入此修复。@deepseek-ai/dsh-agent、dsh-home-paths、dsh-host-webserver、dsh-system-prompt、dsh-tools 和 dsh-workspace 统一升级至 0.1.7-rc.2,使开发与测试使用与该修复相同的 DSH API 版本。1000 ms,仍可显式设为 0 关闭节流。调度器以单飞与派发闸门避免重叠 tick 并行放行队列。sidebar.panellist + main 注册一等侧边栏面板),同时兼容 dsh < v0.1.7 版本使用 DOM 注入。修复:
新特性:
新特性:
修复:
taskboard_create 时会物化看板默认权限,并可通过创建/更新工具显式设置权限;done、canceled、archived 不再被 cron 重新拉起,循环任务仍可在 in_review 下按计划继续运行;支持用户将误标为 done 的任务重开到 todo。新特性:
修复:
修复:
新特性:
dsh-taskboard.json、dsh-taskboard-templates.json 和 dsh-taskboard-assets/ 始终一起迁移;先完整复制和校验,再切换位置,失败不覆盖原数据。@deepseek-ai/cordis 4.0.2、@deepseek-ai/schemastery 3.18.2),实测兼容 DSH 0.1.5-rc.1。修复:
taskboard_* 工具在插件挂载时同步注册并提高缓存命中率,后续工作区/agent 服务就绪或重载不会改变工具定义;依赖尚未就绪时返回 taskboard_not_ready。工具执行等待共享的台账首次加载;工具清理与运行服务生命周期分离。📜 更早版本的完整更新历史见 changelog.md。
FAQs
Agent-first task board for the DSH web GUI: host-authoritative task ledger with taskboard_* agent tools, project (= workspace) claim boundaries, per-task model execution with optional existing-session reuse, optional per-task git-worktree isolation (dedic
The npm package dsh-taskboard receives a total of 876 weekly downloads. As such, dsh-taskboard popularity was classified as not popular.
We found that dsh-taskboard demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.