dsh-session-groups:側欄純展示會話分組

前言

DeepSeek Harness 的會話按工作區掛在側欄樹裏。項目一多、同一工作區裏會話一長,靠摺疊和搜索只能緩解瀏覽成本,很難按「客戶 / 主題 / 實驗批次」這類自定義維度把條目收在一起看。把會話挪到別的工作區會動到 DSH 的歸屬模型,多數時候並不合適。

下面介紹社區插件 dsh-session-groups(維護者 Yuki-cutesnow,分類:客戶端):在側欄工作區列表底部增加一個可摺疊的「分組」分區,用拖拽和管理面板把會話歸進多層分組,不改動 Host 的工作區與會話歸屬,分組關係只寫在插件自己的狀態文件裏。

這是什麼

dsh-session-groups 是一個自帶 cordis.patch.yml 的 cordis 組合包(bundle),無需構建、沒有 npm 依賴;倉庫根目錄即插件包。它在 DSH 側欄注入純 UI 層整理能力:點擊分組裏的會話仍委託原生會話行打開,導航、右鍵菜單、快捷鍵與未裝插件時一致。

分組結構、嵌套關係、分區高度持久化在 $DSH_HOME/session-groups.json;插件不會寫入 storages/workspace.json、會話日誌或附件庫。當前 README 與 package.json 記載的版本爲 0.7.0,許可證 MIT。

核心功能

側欄工作區列表末尾出現「分組」分區(底部停靠,可整體摺疊),與原生工作區列表並列而非擠佔其佈局。

分組管理:分區標題欄 + 新建頂級分組,⚙ 打開整理面板;分組行 ⋯ 菜單支持重命名、新建子分組、上移、下移、刪除。子分組縮進顯示,可多層嵌套。

拖拽:把側欄工作區裏的會話拖到分組標題或分組體上即加入;拖到分組內某會話行上則插到該行前面。拖動時有藍色插入指示線(左端圓點)標落點,分組高亮;分組內會話可拖到其他分組。拖拽只更新 $DSH_HOME/session-groups.json,不移動會話文件。拖分區頂部灰色分隔線可調高度,雙擊恢復自動高度。

整理面板:按工作區列出會話,下拉框將會話分到任意分組(含「+新建分組並加入」「不分組」),選項帶層級縮進。

打開與歸檔:點擊分組內會話直接打開;已歸檔會話會提示先取消歸檔(DSH 自身限制)。分組內會話行懸停顯示 ×,可移出分組。

運行時行爲:默認零輪詢——頁面啓動加載一次 client.js,之後僅在打開/保存分組等操作時訪問本機 API。開發調試可創建 $DSH_HOME/session-groups.dev 標記文件,重啓後瀏覽器半區每 5 秒比對 /api/version;用完刪除標記並重啓恢復零輪詢。

安裝與啓用

推薦從 GitHub 或 SkillHub 插件頁安裝。桌面端可在側欄「插件」頁「添加插件」(或標題欄菜單「安裝第三方插件」),粘貼倉庫地址:

https://github.com/Yuki-cutesnow/dsh-session-groups

CLI 等價命令(資料原文):

dsh plugin --profile desktop add github:Yuki-cutesnow/dsh-session-groups

安裝成功後若出現「立即啓用」,點擊以把組合包追加到 profile 的 dsh.profile.bundles。完全退出並重新打開 DeepSeek Harness 一次——桌面版 index 注入表只在宿主啓動時收集,不重啓側欄不會出現「分組」分區。

注意事項(來自 README):

  • 安裝前 Host 會用 git ls-remote 探測 GitHub(默認 5 秒超時)。國內直連失敗時可改用 npm 包名 dsh plugin --profile desktop add dsh-session-groups(需已發佈到 npm)、tarball 地址或本地目錄安裝。
  • 第三方插件無自動更新;升級需先卸載再重裝。
  • 插件在宿主進程內運行,DSH 插件體系無沙箱;安裝前請自行審閱源碼與許可證。

加載成功時,$DSH_HOME/session-groups.log 中會出現一行 apply v0.7.0。

典型用法

  1. 安裝並重啓 DSH 後,在工作區樹底部展開「分組」分區。
  2. 點 + 建頂級分組,或在某分組 ⋯ 裏選「新建子分組」做層級(例如「客戶 A → 需求 / Bugfix」)。
  3. 從側欄工作區把會話拖到目標分組標題或內容上;需要精確順序時拖到分組內某會話行前面,參照藍色指示線。
  4. 會話很多時,點 ⚙ 打開整理面板,用下拉框批量歸類。
  5. 分區擋視線時,拖頂部分隔線調高/調低;雙擊分隔線恢復自動高度。

卸載時從 profile 的 dsh.profile.bundles 與 dependencies 移除 dsh-session-groups 並刪除 node_modules 中的聯接/目錄,重啓 DSH;可選執行倉庫腳本 node tools/uninstall-profile.mjs 或加 --purge 一併刪除 $DSH_HOME/session-groups.json 與 .log。

適用場景與注意

適合:同一工作區或跨工作區會話較多、希望用自定義標籤式視圖瀏覽,但不能也不打算改動 DSH 會話 cwd 歸屬的開發者。

必須接受的限制:

  • 表面分組:不能把會話「搬進」別的工作區;DSH 沒有移動會話歸屬的接口。
  • 宿主 DOM 耦合:DSH 升級若改了側欄結構(如 data-row-key、標題類名),分區可能掛載失敗;排查可看 $DSH_HOME/session-groups.log 與瀏覽器控制台。
  • 改代碼或升級插件:修改 lib/ 或 client/ 後需完全重啓應用(桌面版 Ctrl+R 無效);與 v0.7.0 默認不輪詢一致。
  • 數據上限(宿主清洗):最多 200 個分組、每組最多 500 個會話、高度 0–1200px;正常使用爲幾十 KB 級 JSON。

DeepSeek Harness 生態強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。本插件 GitHub 星標數爲 0(以目錄頁線索爲準),不代表功能完整性,安裝決策仍應基於 README 與源碼。

結尾

dsh-session-groups 用側欄底部的「分組」分區做強迫症友好的會話視圖整理,多層嵌套、拖拽與可調高度都落在插件私有狀態裏,不動 Host 工作區數據。需要安裝入口時可打開插件目錄頁或倉庫 README。

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

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

小夜