dsh-session-groups:在 DSH 側欄裏跨工作區自由分組會話

前言

用 DeepSeek Harness(DSH)做智能體或長會話開發時,官方側欄按工作區組織會話:每個會話綁定一個工作區,日誌和歸屬由宿主管理。實際任務往往跨多個工作區並行——例如同一項目在不同 repo 裏各開一條會話——側欄裏只能按工作區切換,很難用「項目 / 階段」這類維度一眼掃全相關會話。移動會話到別的工作區會動到底層歸屬,通常也不合適。

下面介紹社區客戶端插件 dsh-session-groups(維護者 momijijin):在官方工作區/會話側欄之上加一層「自由分組」視圖,只改插件自己的分組記錄和展示位置,不改官方工作區成員關係、不寫 workspace.json、不動會話日誌。

這是什麼

dsh-session-groups 是 DSH 的客戶端插件(分類:客戶端),當前版本 0.3.0-beta.76。它把側欄擴展爲可在「官方工作區視圖」與「自由分組視圖」之間切換;同一分組可以收納來自不同工作區的會話,會話仍屬於原工作區。

插件數據與官方數據分離:分組記錄落在 <dshHome>/storages/dsh-session-groups.json,UI 偏好寫在 localStorage(如 dsh-session-groups.view.v1 等)。卸載後官方側欄恢復默認視圖,分組文件和偏好會保留,重裝可恢復。

目錄頁:skillhub.cn/plugins/momijijin/dsh-session-groups(社區插件目錄,與 DeepSeek / 幻方無官方從屬關係)。源碼:github.com/momijijin/dsh-session-groups,許可證 MIT。

核心功能

視圖與佈局

  • 自由分組視圖與官方工作區視圖切換。
  • 側欄寬度可拖(264px 起,默認 420px,最大視口寬度 80%);雙擊把手恢復默認。
  • 視圖模式、寬度、摺疊狀態、歸檔篩選、彈窗幾何會持久化;「視圖選項」裏可 恢復默認佈局(不動分組數據)。

分組與會話

  • 根分組與子分組最多 8 層;可重命名、換圖標、預設色或自定義 #RRGGBB。
  • 拖拽排序、改父級、子樹跟隨;空葉分組可直接刪,非空分組刪除前可選子會話/子組去向。
  • 會話可拖入分組或拖回「未歸組」;支持打開、重命名、歸檔/取消歸檔、菜單分叉(基於最後已完成輪次)、複製 Session ID。
  • 搜索匹配標題、工作區名、分組路徑(最多 20 條);選中後展開祖先並高亮。歸檔三態:隱藏 / 全部 / 僅歸檔。

頭部狀態

三個互斥統計按鈕:執行中、等待用戶介入、未讀;下拉按分組列會話,點擊打開。不包含後臺 job 計數。

可選 AI 控制

默認關閉。在 Plugins → dsh-session-groups 詳情頁第一層可開 controlApi 等開關(見下文配置)。開啓後 Host 原生工具 session_groups_control 可規劃/應用分組變更;改名、歸檔、破壞性刪除分別受 controlSessions、controlDestructive 門禁。普通用手拖分組即可,不必開 AI 控制。

安裝與啓用

推薦通過 dshmarket 安裝。在市場中搜索:

dsh-session-groups

資料說明:市場條目正在準備中;上架後應完全通過 dshmarket 安裝與更新。若曾用本地 tarball 安裝,上架後需從市場重裝一次,讓安裝來源綁定目錄。本地 tarball 與 CLI 僅維護者/調試用,見倉庫 docs/RELEASE.md,不要自行拼接未在文檔中出現的 dsh plugin add github:... 命令。

兼容性(安裝前核對):

  • DSH core/API:engines.dsh 爲 >=0.2.0-rc.2 <0.3.0,主要對應 @deepseek-ai/dsh 0.2.1-rc.2 與 0.2.1-rc.5。
  • 已驗證桌面殼:社區 DSH Desktop Stable 2.0.18;官方 DeepSeek Harness 桌面版 0.2.1.0。
  • 不官方支持:社區 DSH Desktop Beta、社區 DSH NEXT(-next 通道)。
  • Linux 上 Node/構建經 GitHub Actions 驗證,真實 DSH UI 在 Linux/macOS 上資料標註爲未驗證或 experimental;Windows 本地 UI 已驗證。

安裝後啓用插件,在側欄切換到自由分組視圖;首次會有一次性說明卡(可 dismiss,狀態存 localStorage)。

典型用法

手動編排(最常見)

  1. 在自由分組視圖新建根分組(無分組且無會話時,空狀態也可創建第一個分組)。
  2. 從「未歸組」或其它分組把會話拖入目標組;需要跨工作區歸類時,直接拖即可,官方工作區歸屬不變。
  3. 用搜索定位會話;需要時用歸檔篩選隱藏或只看歸檔項。
  4. 維護分組結構:拖拽改順序或父級;刪除非空組時按提示選擇子項去向。

用 AI 批量建組(可選)

先開啓 AI 控制接口(controlApi)。若還要 AI 改名,再開 會話操作(controlSessions)。在會話裏發給 AI 的提示詞示例(摘自 README,路徑按你的項目名替換):

用 session_groups_control 創建或複用以下分組層級:

〈項目名〉項目組 — 圖標 server,顏色 blue
- 設計中 — 圖標 book,顏色 purple
- 開發中 — 圖標 play-circle,顏色 blue
- 已掛起 — 圖標 clock,顏色 orange
- 已完成 — 圖標 check-circle,顏色 green
- 已取消 — 圖標 x-circle,顏色 red

已有分組複用,只補缺失的子組。先查 state/resolve;路徑不存在或有歧義就停下來問我。再 plan,把 changes 和 planHash 給我看,最後用同一個 planHash 和 baseRevision 執行 apply。

AI 應通過 plan + apply(帶 planHash 與 baseRevision)提交,避免盲目改組。

配置項

插件管理器 Plugins → dsh-session-groups 第一層有五個開關,默認均關閉:

配置 默認 作用
diagnostics 關閉 拖拽 HUD 與本地 NDJSON trace;熱生效
debugProbe 關閉 彈窗佈局探針;生產勿開
controlApi 關閉 原生 session_groups_control 與調試 HTTP 路由總開關
controlDestructive 關閉 允許 AI 控制執行刪除等破壞性操作;開啓需二次確認
controlSessions 關閉 允許 AI 改會話名、歸檔;需同時開 controlApi

診斷寫入(僅 diagnostics 開啓時):

<dshHome>/storages/dsh-session-groups.diagnostics.ndjson

適用場景與注意

適合誰: 在 DSH Desktop 裏同時維護多條跨工作區會話,希望用自定義樹形分組做項目/階段視圖,又不想改動官方工作區結構的開發者。

運行與權限: 插件隨當前 DSH 進程加載,讀寫 <dshHome>/storages/ 與瀏覽器 localStorage;開啓 controlApi 後 AI 可在門禁內改分組乃至會話元數據。安裝前應閱讀源碼與 MIT 許可證,確認接受數據路徑與可選 AI 控制範圍。

數據與多窗口: 分組是單窗口本地狀態;多窗口併發寫可能遇到 409,需按提示刷新。徹底移除痕跡需手動刪除 dsh-session-groups.json、.bak 及上述 localStorage 鍵。

生態: DSH 主張「一切皆插件」;本插件是側欄上的展示與分組層,官方工作區與會話管理仍是權威來源。

結尾

dsh-session-groups 解決的是「跨工作區、不動底層歸屬」的側欄編排問題:自由嵌套分組、拖拽、搜索與歸檔篩選,數據本地持久化並帶 .bak 恢復;AI 控制爲可選項。需要詳情與版本說明時,可看社區目錄頁與 GitHub README(含 docs/COMPATIBILITY.md)。

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

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

小夜