dsh-task-board:用任務看板管多工作區會話

前言

在 DeepSeek Harness(DSH)裏同時跑多個智能體任務時,左側會話列表往往把不同工作區的對話混在一起:看不出某條會話屬於哪個目錄,也很難在「只開一個主會話視圖」的前提下對比進度。mwge22629/dsh-task-board(包名 @local/dsh-task-board)是社區維護的客戶端插件,在側邊欄掛一塊任務看板:會話以卡片停在板上,點開則在獨立浮動窗口裏繼續對話,多開互不搶焦點。下面介紹它做什麼、怎麼裝、怎麼上手。

這是什麼

項目 說明
名稱 dsh-task-board / @local/dsh-task-board
維護者 MWGE22629
分類 客戶端(web profile)
許可證 MIT
當前版本 0.3.0(README 更新日誌)
目錄頁 https://www.skillhub.cn/plugins/MWGE22629/dsh-task-board
源碼 https://github.com/MWGE22629/dsh-task-board

插件定位一句話:釘在 DSH 側邊欄的任務看板——把工作區排成分區,會話變成卡片;卡面展示運行狀態與最近輸出,單擊打開與主界面一致的浮動會話窗口。

核心能力

工作區分區

點「關注工作區」後,一個工作區一列,其下會話卡片各歸其位。分區可拖拽排序並記住順序;工作區多時可切換 1 / 2 / 3 行佈局。分區裏仍有任務時不能取消關注,避免卡片憑空消失。工作區被刪後,相關卡片進入「未綁定工作區」兜底列。

卡片上的實時進度

卡片顯示當前在做什麼(例如工具調用 Bash · npm test、書寫、思考及計時)。非運行狀態會附帶「上次更新距今」文案(與側欄會話列表同一口徑)。底部預覽最近一條輸出,懸停可看全文。運行中超過 60 秒無事件會顯示靜默時長,超過 5 分鐘標紅。失敗或已停止的卡片可在卡面上點「▶ 繼續」,直接向該會話補發「繼續」而無需先開窗。

浮動多會話窗口

點卡片彈出浮動窗口,內含完整會話(消息流、輸入框、待確認提問)。可同時開多個窗口,支持拖拽與八向縮放(最小約 340×240)。− 或 Esc 收回當前浮窗並釋放會話引用。任務運行中時,Esc 仍遵循 DSH 的雙擊中止規則,停下後再按可收窗。窗口會避開標題欄,拖出屏幕會自動拉回。

按關注度排序

同一分區內卡片按處理優先級排序:故障停止 → 需決策 → 運行中 → 已停止 → 已完成 → 空閒 → 草稿。釘住(📌)的卡片不受該排序影響,始終置頂。

板內搜索與定位

「關注工作區」左側的搜索框只在板上已有卡片對應會話正文裏做字面匹配(不區分大小寫,空白寬鬆),可按已關注工作區收窄範圍;草稿卡不參與。點結果會打開浮窗,並盡力向前翻頁、滾動到命中消息並高亮。實現依賴只讀 ctx.sessionQuery.filterEvents,默認配置即可用;有輸入防抖與 15 秒結果緩存。極早的命中可能無法自動滾到具體消息,此時僅打開會話。

其它適配

  • Turn 結局持久化:完成 / 失敗 / 中止隨卡片落盤,DSH 重啓後不會把失敗誤讀爲已完成。
  • dsh-rewind 聯動:浮窗內 /rewind、/undo 照常可用。
  • 藍色文件標籤:點擊可在系統文件管理器中打開所在目錄(Windows 會選中文件)。
  • 峯谷時鐘:看板頂部顯示 DeepSeek 計費峯/谷時段(北京時間工作日 9:00–12:00、14:00–18:00 爲峯,其餘半價),谷時顯示距下一峯時倒計時。
  • 中英雙語與基礎鍵盤無障礙(Tab 聚焦卡片,Enter / 空格打開等)。

Host 與 Client 通過 POST /api/dsh-task-board 通信;看板上的卡片不訂閱會話流,運行中摘要由 Host 側輪詢合併,只有打開浮窗才持有會話引用。

安裝與啓用

前置:已安裝 DSH,並至少配置一個 profile(如 web、desktop)。

# 從 GitHub 安裝(推薦)
dsh plugin --profile web add git+https://github.com/MWGE22629/dsh-task-board.git

# 或從 GitLink 安裝
dsh plugin --profile web add git+https://www.gitlink.org.cn/GeDaamn/dsh-task-board.git

# 或從本地目錄安裝(開發時)
dsh plugin --profile web add link:D:/path/to/dsh-task-board

把包名加入該 profile 的 package.json 裏 dsh.profile.bundles 數組:

{
  "dsh": {
    "profile": {
      "bundles": ["…", "@local/dsh-task-board"]
    }
  }
}

重啓 DSH 後,側邊欄出現「任務看板」圖標即表示啓用成功。包名因歷史原因固定爲 @local/dsh-task-board,安裝命令與 bundles 均按此引用。

典型用法

  1. 點擊側邊欄「任務看板」圖標。
  2. 點右上角「關注工作區」,選擇一個或多個工作區排到板上。
  3. 在分區右上角點「+」新建任務卡,在浮窗裏發送第一條指令(Enter 發送,Shift+Enter 換行)——DSH 會在該工作區創建會話並執行。
  4. 也可把側欄已有會話拖到看板,或點會話行「加入看板」。
  5. 需要續跑時,在失敗或已停止的卡片上點「▶ 繼續」。
  6. 找歷史表述時,用頂部搜索框輸入關鍵詞,點結果打開浮窗並定位。

看板數據寫在 ~/.dsh/storages/dsh-task-board/board.json(卡片數變少時會生成 board.json.bak)。會話正文仍在 DSH 自有日誌中,看板只保存分區、卡片與會話的映射等無法推導的信息。插件 README 明確說明不發起外部網絡請求。

適用場景與注意

適合誰:經常在 DSH 裏並行多個工作區任務、需要一眼掃狀態、又希望多會話分窗對照的開發者。與「單會話主界面」相比,看板側重編排與巡視,詳細編輯仍可在浮窗或主會話完成。

運行與信任邊界:插件以當前 DSH 進程權限運行,能讀寫本機 DSH_HOME 下看板存儲並調用官方會話查詢 API。安裝前建議瀏覽 GitHub 倉庫 源碼與 MIT 許可證。SkillHub 等爲社區目錄站點,與 DeepSeek / 幻方無官方從屬關係,不宜當作官方應用商店。

兼容性:浮窗依賴 shell.overlay 與 taskboard.window 等客戶端槽位;若窗口空白,可先收起再打開,並查看 DSH 日誌中 [dsh-task-board] 報錯。Host RPC 未就緒時看板可能短暫顯示「存儲不可用」,一般會數秒內重試。

結尾

dsh-task-board 把「多工作區、多會話」從側欄長列表裏抽出來,用分區卡片 + 浮窗多開 + 結局持久化 + 板內搜索,降低並行任務時的導航成本。若要進一步瞭解說明或提交 issue,可看社區目錄頁與倉庫 README。

  • 目錄頁:https://www.skillhub.cn/plugins/MWGE22629/dsh-task-board
  • GitHub:https://github.com/MWGE22629/dsh-task-board
羽毛球分组比赛记分
小程序二维码

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

小夜