dsh-session-folders:爲 DSH Web 側欄增加一層會話文件夾

前言

在 DSH 的 Web 工作區裏,會話通常按時間排列。當同一工作區積累了較多會話後,按主題或任務分組會更直觀。dsh-session-folders 是一個 DSH 客戶端插件,它在 Web 側欄的工作區瀏覽器中增加一層命名文件夾,用於把會話歸組。

插件不修改 harness。文件夾數據保存在 DSH storage domain,視圖狀態保存在瀏覽器 localStorage。

這是什麼

下面介紹這個插件的定位。包名是 dsh-session-folders,倉庫爲 EugeneVl/dsh_session_folders,作者字段爲 Eugene,許可證爲 MIT,包版本爲 0.4.3。

它把 DSH Web 側欄的工作區瀏覽器替換爲支持會話文件夾的版本:每個工作區有一層命名文件夾,文件夾外是未分組會話。

它解決的是“多會話在工作區裏如何分組、移動、歸檔和查找”的問題,同時保留內置會話瀏覽器的 Running / Completed 狀態徽章。

核心功能

文件夾與會話組織

  • 每個工作區支持一層命名文件夾,文件夾名稱在同一工作區內大小寫不敏感唯一。
  • 文件夾外是未分組會話。
  • 支持創建、重命名、刪除文件夾;刪除會確認,文件夾中的會話變爲未分組。
  • 支持拖拽調整工作區順序,也支持在同一工作區內調整文件夾順序,順序服務端持久化。
  • 每個文件夾和 Archive 塊支持 Show more / Show less,默認最多顯示 5 個會話。

會話移動與操作

  • 支持拖拽會話到同一工作區的文件夾。
  • 支持右鍵會話選擇 Move to folder…,可選擇已有文件夾,或選擇 New folder… 即時創建文件夾並移動會話。
  • 支持右鍵選擇 Move to folder… 中的 Workspace,把會話移回未分組區域。
  • 支持雙擊會話標題進行內聯重命名,Enter 提交、Esc 取消。
  • 支持右鍵菜單 Auto rename,由會話自身模型根據首個用戶消息生成最多 3 詞標題。
  • 支持 Pin / Unpin 會話,固定會話保持在文件夾或未分組區域頂部,且服務端持久化。
  • 支持懸停會話行時快速歸檔,並顯示可複製 session-<id> 的 ID 徽章。
  • 支持從工作區行或文件夾行創建新會話。

歸檔、恢復與導航

  • Archive 塊支持歸檔/恢復會話,包括拖放歸檔、恢復到原文件夾或 Restored 文件夾。
  • Recent 區域顯示最近 5 個會話,並提供懸停來源卡片。
  • 支持文件夾樹引導線、會話搜索(標題和內容)、打開工作區文件夾、全部摺疊/展開、工作區聚焦。
  • 支持顯示 Running / Completed 狀態徽章,鏡像內置會話瀏覽器。
  • 支持雙語 UI,適配 zh / en。

持久化與校驗

  • 文件夾數據保存在 DSH storage domain,並跨頁面刷新保留。
  • 視圖狀態,例如摺疊狀態,保存在瀏覽器 localStorage。
  • 所有操作在服務端校驗工作區存在性、會話成員關係、名稱衝突,客戶端僅鏡像規則。
  • 插件不修改 harness。

安裝與啓用

先確認 Node 版本滿足要求:

^22.19.0 || >=24.0.0

使用 npm 預構建包安裝:

dsh plugin --profile web add dsh-session-folders

這條命令從 npm registry 安裝預構建版本,跳過 allowBuilds 構建審批步驟。

安裝後需要重啓 dsh web,因爲宿主插件和客戶端 bundle 在啓動時加載。

典型用法

下面按常見操作順序給出示例。

  1. 打開側欄:在每個工作區中,文件夾顯示在未分組會話上方。
  2. 創建文件夾:右鍵工作區行,選擇 New folder。名稱必須在該工作區內唯一。
  3. 重命名文件夾:右鍵文件夾行,選擇 Rename。
  4. 刪除文件夾:右鍵文件夾行選擇刪除,確認後會話變爲未分組。
  5. 重新排序:拖拽工作區行到新位置;在同一工作區內拖拽文件夾行,根據落點在上半部或下半部插入。
  6. 移動會話:拖拽會話行到同一工作區的文件夾,或右鍵會話選擇 Move to folder…,再選擇目標文件夾或 New folder…。
  7. 移回未分組:右鍵會話選擇 Move to folder…,再選擇 Workspace。
  8. 固定會話:右鍵會話選擇 Pin,會話會跳到其文件夾或未分組區域頂部,並在後續新會話到來時保持置頂。

適用場景與注意

適合在 DSH Web 端長期維護多個工作區、多個會話,且希望用文件夾整理任務、歸檔歷史會話、從 Recent 快速回看最近上下文的場景。

使用前注意:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼、許可證和依賴範圍。
  • 該插件是社區插件目錄中的第三方客戶端插件,社區目錄是獨立站點,不應理解爲 DeepSeek 或幻方官方應用商店。
  • 文件夾和會話移動、固定等數據在服務端持久化,而摺疊、展開等視圖狀態保存在瀏覽器 localStorage。
  • 所有關鍵操作都經過服務端校驗,客戶端展示規則與本地視圖不會改變服務端狀態。

鏈接

  • 插件目錄頁:https://www.skillhub.cn/plugins/EugeneVl/dsh_session_folders
  • GitHub 倉庫:https://github.com/EugeneVl/dsh_session_folders
羽毛球分组比赛记分
小程序二维码

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

小夜