前言¶
在 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 模塊)。
典型用法¶
- 創建任務:在看板上創建任務會自動在關聯的 Gitea/Forgejo/GitHub 倉庫中生成對應的 Issue。
- 調度部署:將卡片拖動到
Deploy列,系統會觸發合併 PR 和部署流程。 - Webhook 同步:配置 VCS Webhook 指向
/dsh-kanban/webhook,以接收外部事件並同步狀態。 - 代理操作:Agent 可以使用
board_move工具報告進度,或使用board_plan工具記錄計劃。
注意事項¶
- Done 列限制:卡片不能自動過渡到
Done列,必須通過用戶手動操作或 VCS(如關閉 Issue)來觸發。 - 權限:插件以當前 DSH 進程的權限運行,安裝前請檢查源碼與許可證(MIT)。
- 版本依賴:
package.json中詳細版本約束在當前抓取中已被截斷,請確保安裝與當前 DSH 環境兼容的依賴版本。
總結¶
dsh-kanban 將任務管理、代理調度和版本控制集成在統一的可視化界面中,減少了上下文切換成本,確保了開發流程的可追溯性和自動化。