前言¶
DeepSeek Harness Desktop 允許通過插件擴展功能。在開發或調試智能體時,在對話流中穿插管理任務往往比較割裂。dsh-task-board 插件通過注入對話視圖,直接在對話頭部增加了任務管理功能,提供了一個支持拖拽執行的三列看板。
插件簡介¶
插件名稱:linsibin/dsh-task-board
定位:DeepSeek Harness Desktop 的任務板客戶端插件。
核心價值:在對話頭部添加三列看板,支持將任務卡片拖入執行流,實現從任務創建到完成的自動化流轉。
核心功能¶
插件通過以下機制實現任務管理:
- Tab 注入:註冊到官方的
conversation.view槽位,與內置的 Chat 和 Trajectory 標籤並排顯示。 - 三列看板:包含 Backlog(待辦)、In Progress(進行中)、Done(完成)三列。支持按任意分組名稱歸類,點擊分組頭部可摺疊/展開卡片。
- 拖拽執行:將卡片拖入 In Progress 列,會創建一個綁定了
workDir的新 DSH 會話,並將任務描述作爲提示詞發送。 - 實時進度:執行過程中,助手輸出會實時流式顯示在卡片上。
- 自動生命週期:當回合結束且會話空閒後,卡片自動流轉至 Done 列,並附帶結果摘要。失敗或超時則返回 Backlog。
- 重跑機制:將 Done 列的卡片拖回 In Progress 可重新執行。
- 本地持久化:使用
localStorage(鍵名爲dsh-task-board:v1)保存任務狀態,頁面刷新後數據不丟失。 - 主題適配:自動適配 DSH 的亮色/暗色主題。
安裝與啓用¶
該插件以包的形式提供,安裝在 Desktop Profile 下。
- 使用 DSH CLI 安裝(推薦):
dsh plugin --profile desktop add <absolute/path/to/dsh-task-board>
- 或者手動編輯
~/.dsh/profiles/desktop/package.json,添加依賴並更新dsh.profile.bundles,隨後運行pnpm install。 - 啓用:安裝後必須重啓 DSH Desktop(Manifest 的更改不支持熱更新)。
- 打開任意對話,標籤欄會出現 Tasks 標籤(位於 Chat / Trajectory 之後)。
典型用法¶
- 創建任務:在 Tasks 標籤頁點擊
+ New Task,填寫標題、分組、描述、工作目錄(workDir)和文件列表。 - 開始執行:將卡片從 Backlog 拖入 In Progress。系統會創建會話並開始流式輸出。
- 查看結果:Turn 結束且會話空閒後,卡片自動移動到 Done,並在卡片上顯示最終摘要。
- 重跑:如果需要重新執行,將 Done 卡片拖回 In Progress 即可。
注意事項¶
- 配置文件:不要手動編輯
cordis.yml,該文件在每次啓動時會被重寫。 - Tab 顯示:Tasks 標籤僅在打開對話時出現,這是官方視圖機制的限制,並非插件 bug。
- 開發調試:開發時修改
src/client.tsx並重建後,必須手動覆蓋lib/client.js或使用pnpm link,否則瀏覽器不會加載新代碼。插件 React 狀態在刷新時會丟失,但會話和運行時數據會保留。 - Manifest 更改:修改插件源碼中的 Manifest 仍需重啓 DSH Desktop 才能生效。
總結¶
dsh-task-board 提供了一種將任務管理直接嵌入對話流的工作流。通過看板和拖拽操作,開發者可以更直觀地跟蹤任務進度並利用 DSH 引擎執行具體工作。