shengsheng90/DSH-taskboard
Native local Taskboard plugin for DeepSeek Harness. SQLite-backed projects, Agent claim/review, and a native Web UI — no iframe, no second chat runtime.
DSH Taskboard – DeepSeek Harness 的原生任務管理外掛
是什麼
- 一個外掛(
@shengsheng/dsh-taskboard),為 DeepSeek Harness AI 代理平台新增完整的 Taskboard UI 與 API。 - 所有資料皆本地儲存在 SQLite 檔案(
taskboard.sqlite)與附檔資料夾中——無需外部服務。 - 提供 Harness Web 客戶端內的側邊欄按鈕/覆蓋頁面,以及無頭式 JSON CLI(
dsh-taskboard)。 - 提供一組進程內工具(
taskboard_*),代理可在每回合中呼叫,支援列出、認領、留言與提交審核任務。
核心功能
| 功能 | 你將獲得 |
|---|---|
| 專案與任務層級 | 專案具有短鍵(例如 DSH),產生可讀 ID 如 DSH-42。任務具有狀態(backlog → todo → in_progress → in_review → done)以及 blocked 與 canceled。 |
| 僅限人類操作 | 批准、接受、退回、歸檔、取消、強制接管、永久刪除——僅透過 UI 或 CLI,代理工具無法執行。 |
| 代理工作流程 | 代理可認領 todo 任務,在關聯工作區中工作,然後提交審核。人類隨後必須接受任務為 done。 |
| 自動化 | 可為每個專案定義自動化(間隔、模型預設、工作器數量、配額策略)。排程器將認領符合條件的 todo 項目,並驅動代理會話至 in_review 狀態。 |
| CLI | dsh-taskboard 提供專案、任務、關係、附檔、工作流程與儲存診斷的 JSON 輸出命令。退出碼區分成功、使用錯誤、儲存問題、領域錯誤與樂觀衝突(TASK_STALE_VERSION)。 |
| 設定 | 可透過 cordis.patch.yml、環境變數或設定檔覆蓋,調整路徑、分頁限制、附檔大小上限、工作器限制與更新間隔。 |
| 安全與復原 | 開啟時進行 SQLite 完整性檢查,提供明確的備份說明,以及詳細的安全部署設計文件。 |
安裝流程(Harness 操作員使用)
- 偵測正在執行的 Harness – 找到 Web 監聽埠(預設 3080)及其工作目錄。
- 建構外掛 – 克隆倉儲,執行
pnpm install && pnpm build && pnpm pack。這將產生lib/檔案與一個 tarballshengsheng-dsh-taskboard-<version>.tgz。 - 將外掛新增至設定檔 – 使用 Harness CLI:
dsh plugin --profile web add -w /path/to/tgz(-w標誌對 pnpm 工作區為必要)。 - 驗證組合設定 –
dsh --profile web --dump-config應顯示# == @shengsheng/dsh-taskboard層。 - 重新啟動 Harness – 新增外掛後,重新啟動 Harness 進程以載入 UI 套件。
- 確認啟用 – 對 Harness 根路徑的 GET 請求必須包含
@shengsheng/dsh-taskboard,且客戶端套件可存取(200 回應)。側邊欄現在顯示 Taskboard 按鈕。
使用 UI
- 點擊側邊欄頁腳的 Taskboard 按鈕。
- 建立專案(選擇短鍵),然後建立任務。
- 人類使用者將任務從
backlog→todo(批准)。代理認領todo項目,工作並提交in_review。人類最終接受任務為done。 - UI 提供 Board、List、Gantt、Workflow 與 Dashboard 視圖,均尊重目前 Harness 的地區設定。
使用 CLI
# 列出專案
dsh-taskboard --database .dsh/taskboard.sqlite project list
# 建立專案
dsh-taskboard --database .dsh/taskboard.sqlite project create --key DSH --name "My project"
# 建立任務
dsh-taskboard --database .dsh/taskboard.sqlite task create \
--project <project-id> --title "Ship the plugin"
# 認領任務(代理使用工具,人類可透過 CLI 執行)
dsh-taskboard task claim --task <opaque-id> --expected_version 1
所有命令輸出結構化 JSON,便於管道化至腳本中。
代理工具(在執行中的 Harness 代理中呼叫)
taskboard_list– 列出特定專案的任務。taskboard_get– 取得任務完整細節。taskboard_claim– 使用樂觀版本檢查認領todo任務。taskboard_comment– 新增 Markdown 留言。taskboard_submit_review– 將擁有中的in_progress任務移至in_review。taskboard_block,taskboard_release_claim,taskboard_relate– 其他生命週期控制。
為何重要
- 提供一個與 Harness 代理執行時緊密整合的 原生、離線優先 任務追蹤系統,避免使用獨立的專案管理工具。
- 強制明確分離:代理僅能處理任務;人類保留最終接受權,這對安全的 AI 輔助開發至關重要。
- SQLite 後端設計使系統輕量且可移植,適用於 Harness 的在地或邊緣部署。
授權
- Apache-2.0(參見
LICENSE)。
以上所有細節均直接取自倉儲的 README;未推斷任何額外功能。
相關
- 專案
- 專案
- 專案
- 專案