前言¶
在 DSH 里跑多步任务时,工作区少了一层轻量的中间状态:哪些事还没开始、哪些正在做、哪些等人复核。常见做法是把这些写进对话历史或另起一个 todo 文件,时间一长就散落,agent 也难以按统一状态取用。dsh-kanban 想用插件解决这个问题:每个项目一张看板,人负责把任务从草稿推进到「可以做了」,agent 从「可以做了」接走并维护后续状态。下面介绍它的定位、功能、安装与典型用法。
这是什么¶
dsh-kanban 是一个 DSH 客户端插件,由 fourclub 维护,社区目录把它归入工作流类(星标 1,当前版本 0.2.3,MIT)。它给每个项目生成一张 Kanban 看板,数据落在项目工作区里,并注册 kanban_* 工具让 agent 直接读写任务。解决的是两件事:任务状态不再散落在对话里,人有统一视图;agent 有稳定的「取下一个可做的事」入口。
五列状态与草稿¶
看板固定五列:
| 列 | 含义 | 谁能移动 |
|---|---|---|
| Backlog | 草稿/想法,agent 不碰 | 人 |
| 可以做了(To Do) | 就绪,agent 可以领取 | 人用「可以做了」按钮置入 |
| 进行中(In Progress) | agent 已领取 | agent |
| 待复核(Review) | 等人决策或答复 | agent |
| 已完成(Done) | 任务结束 | agent(若被允许)或人 |
新任务默认建在 Backlog 列,作为草稿:可以随时长期编辑,不会出现在 agent 的取用范围里。点「可以做了」把它置入 To Do,同时启动一次 agent 会话。草稿到就绪这道闸门,是整块看板的核心。
卡片与任务详情¶
每张卡片显示优先级、标签、最近活动,以及三个计数器:agent(含子 agent)、子 agent、后台 job。点击卡片,右侧面板以只读的「任务」页签打开:分组后的元数据(列、优先级、负责人、日期、是否草稿)、agent 状态、标签、占满高度的描述、该任务的会话。顶部「编辑」按钮把面板切到编辑模式,可改标题、描述、优先级、标签,也可以移动或删除任务。
只读模式另有两个页签。「评论」是带作者与时间的条目流加输入框,Ctrl+Enter 发送;「日志」记录完整历史:创建、列间移动(含「从 → 到」)、修改、负责人、草稿状态、agent 状态。评论保存在看板文件里,同时显示在日志中。卡片上的铅笔图标可以在独立模态窗口打开同一份信息,右侧面板被别的任务占用时用得上。宽看板下表头和各列头固定,列内列表各自滚动,已完成列堆上百条也不会把整块看板拉长。
Agent 工作流¶
Host 部分注册 kanban_* 工具,向 agent 追加一段系统提示,并为每个任务维护会话。agent 不能碰草稿,也不能自行把任务置为 To Do,或从 Review 直接关闭。工具共十个:kanban_get、kanban_get_item、kanban_create_item、kanban_update_item、kanban_move_item、kanban_next、kanban_assign、kanban_set_status、kanban_delete_item、kanban_set_code。其中 kanban_next 取「可以做了」列的第一条任务,把它移入「进行中」并绑定到当前会话。
看板每 3 秒轮询一次 API;来自 agent 的改动会让对应卡片高亮。
数据与安全性¶
每个项目一个 JSON 文件:<workspace>/.dsh-kanban.json,带版本化 schema 并自动迁移;文件损坏时先备份,再以空看板替换。数据不离开项目,客户端只访问该插件自身的 same-origin 路由 /api/kanban。切换项目就是切换看板。
安装与启用¶
dsh plugin --profile desktop add github:fourclub/dsh-kanban
或从本地目录安装:
dsh plugin --profile desktop add /path/to/dsh-kanban
安装后需要重启 Harness。「Kanban」页签会出现在 Chat 与 Trajectory 旁边,左侧 sidebar 里该项目会出现看板图标。运行环境要求 DeepSeek Harness Web/Desktop 支持客户端插件(dsh.client);详情面板依赖 sidebarRight/sidebarRightTabs 服务,缺失时改用备用对话框打开;构建需要 Node.js ≥ 20。许可证 MIT,见仓库 LICENSE。
典型用法¶
开始一个项目时:
1、先在 Backlog 列建草稿,慢慢编辑到可执行。
2、点该任务的「可以做了」,插件把它移入 To Do 并拉起 agent 会话。
3、agent 用 kanban_next 取走任务后进入「进行中」,完成后移入「待复核」。
需要人介入时,任务停在「待复核」,agent 不会自行关闭;人确认后可以把它移到「已完成」,也可以通过 kanban_move_item/kanban_set_status 调整状态。
适用场景与注意¶
适合想在 DSH 里把多步任务显式分层、并让 agent 按统一状态取用的人;面向单轮对话、不需要状态板的项目不必引入。插件以当前 dsh 进程的权限运行,可以读写项目文件并给 agent 注册工具;安装前建议先读一遍源码,确认加载方式符合预期,并留意 MIT 许可证下的再分发边界。仓库提供三条开发命令:
npm install
npm run typecheck
npm test
npm run build
npm run build 会重新生成提交进仓库的 lib/client.js 产物(host 代码与客户端产物都在仓库里),因此 CI 不是必需步骤。
结尾¶
dsh-kanban 没有引入新的「项目管理系统」概念,它把任务列成五列写进项目自己的 JSON 文件,同时给 agent 留出一套最小工具。功能细节和源码见目录页与 GitHub:https://www.skillhub.cn/plugins/fourclub/dsh-kanban 、https://github.com/fourclub/dsh-kanban 。