goodandready/dsh-kanban:DeepSeek Harness 可视化任务调度看板

前言

在 DeepSeek Harness(DSH)环境中管理多个自主智能体的并发任务,容易导致上下文漂移、PR 交接丢失以及分支生命周期未被追踪。如果没有可视化的任务板,用户必须手动在多个聊天窗口之间切换,并手动验证远程版本控制系统(VCS)上的 issue 状态。

goodandready/dsh-kanban 为 DSH 提供了一个嵌入式可视化看板。它将每个任务映射到一个独立的代理会话。在列之间拖动卡片会触发特定的生命周期指令,并保持与 Gitea、Forgejo 和 GitHub 的双向状态同步。

核心功能

1. 交互式可视化看板

看板嵌入在 DSH Web UI 中,支持拖放操作。

工作流列
支持两种模式:
* 项目板模式:Backlog ➔ In Progress ➔ Review ➔ Deploy ➔ Cleanup ➔ Done。
* 简单板模式:Backlog ➔ In Progress ➔ Review ➔ Done。

卡片信息
卡片展示标题、Issue 编号、分配的 LLM 模型、目标工作树、分支名称、PR 审查状态以及未提交的 diff 标记。
卡片支持编辑标签、优先级和截止日期。截止日期逾期时会有高亮显示。卡片还包含作者和指派者信息,支持按指派者分组。

2. 任务到代理会话调度器

不同于被动看板,dsh-kanban 会主动驱动代理。将卡片移动到不同列会触发相应的指令:

移动到列 触发动作 发送给代理的指令
Backlog 停止当前回合 agent.cancel({ kind: 'user' })
In Progress 调度回合 开始或继续实现任务
Review 调度回合 准备 PR 请求人类代码审查
Deploy 调度回合 合并 PR 并部署(需显式用户批准)
Cleanup 调度回合 清理分支、工作树并记录摘要
Done 仅限人类/VCS 关闭 issue 或用户确认后关闭

3. 2-Way VCS 同步

插件提供与 Gitea、Forgejo 和 GitHub 的持续双向同步。

  • 同步机制:支持轮询和 Webhook 接收。
  • Webhook 接口:/dsh-kanban/webhook。
  • 同步内容:Issue 描述、评论、PR 状态、标签、关闭状态。
  • 冲突处理:基于时间戳的合并逻辑,确保手动编辑和看板移动不会相互覆盖。

4. Agent 工具

插件为 Agent 提供了专门的工具来操作看板:

  • board_move:代理用于报告进度并将卡片移动到下一阶段。注意:该工具不能将卡片移动到 Done 列。
  • board_plan:用于保存结构化的分步实施计划到任务卡片中。

安装与依赖

安装方式
官方提供的安装命令在当前资料中未找到。请通过以下地址获取源码或查阅安装指南:

https://github.com/GooDAnDReaDY/dsh-kanban

运行环境要求
* Node.js 版本:20 及以上。
* 依赖项:需要安装特定的 peer dependencies(包括 @deepseek-ai/cordis、@deepseek-ai/dsh-settings、@deepseek-ai/schemastery、@deepseek-ai/dsh-agent 等核心 DSH 模块)。

典型用法

  1. 创建任务:在看板上创建任务会自动在关联的 Gitea/Forgejo/GitHub 仓库中生成对应的 Issue。
  2. 调度部署:将卡片拖动到 Deploy 列,系统会触发合并 PR 和部署流程。
  3. Webhook 同步:配置 VCS Webhook 指向 /dsh-kanban/webhook,以接收外部事件并同步状态。
  4. 代理操作:Agent 可以使用 board_move 工具报告进度,或使用 board_plan 工具记录计划。

注意事项

  • Done 列限制:卡片不能自动过渡到 Done 列,必须通过用户手动操作或 VCS(如关闭 Issue)来触发。
  • 权限:插件以当前 DSH 进程的权限运行,安装前请检查源码与许可证(MIT)。
  • 版本依赖:package.json 中详细版本约束在当前抓取中已被截断,请确保安装与当前 DSH 环境兼容的依赖版本。

总结

dsh-kanban 将任务管理、代理调度和版本控制集成在统一的可视化界面中,减少了上下文切换成本,确保了开发流程的可追溯性和自动化。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜