前言¶
DeepSeek Harness (DSH) 採用插件化架構,默認的 Web 客戶端側邊欄僅展示兩層結構:項目(Projects)與會話(Sessions)。當工作區數量增多或項目結構複雜時,這種扁平列表難以管理。dsh-workspace-groups 是一個客戶端插件,旨在將側邊欄的視圖層級提升爲三層:分類(Category)文件夾 → 項目(Project)文件夾 → 會話(Session)。
該插件通過側邊欄 YAML 配置文件定義分類規則,並支持完全的手動分組、拖拽排序與持久化保存,在提供良好交互體驗的同時,對核心存儲實現零侵入。
插件概覽¶
- 名稱: dsh-workspace-groups
- 維護者: z-col
- 分類: 客戶端
- 許可證: MIT
- 定位: DSH Web 客戶端的側邊欄分組管理器
核心功能¶
-
三級樹狀瀏覽
將原本的兩級列表擴展爲“分類 → 項目 → 會話”的三級結構。分類文件夾和項目文件夾均可摺疊,展開狀態會獨立保存並隨刷新/重啓保留。 -
分組管理
支持手動創建、重命名和刪除任意分組。規則分類(由 YAML 定義)同樣支持重命名和隱藏操作。 -
規則自動分類
通過插件側載的 YAML 文件定義分類規則(支持pathPrefix、nameContains、basenameContains等)。修改 YAML 即可調整分組邏輯,無需修改代碼。 -
拖拽交互
支持將項目拖入或拖出分組,並在拖拽過程中通過插入指示線(2px 線條)精確顯示落點位置。支持在分組內及頂層項目之間進行拖拽排序。 -
零侵入持久化
所有手動操作(分組創建、排序、重命名等)均寫入插件自身的覆蓋層文件(~/.dsh/workspace-groups.manual.json),使用原子寫入保證數據完整性。插件絕不觸碰 DSH 核心存儲文件(~/.dsh/storages/workspace.)。
安裝與啓用¶
在安裝前,請確保已安裝 DeepSeek Harness (dsh 命令可用) 並初始化了目標配置文件(如內置的 web)。
- 安裝插件
執行以下命令將插件添加到 Web 配置文件中:
dsh plugin --profile web add github:z-col/dsh-workspace-groups
- 重啓服務
插件加載依賴打包層,安裝後必須重啓 Web 配置文件才能生效:
dsh web
- 驗證安裝
通過檢查配置輸出確認插件已被識別:
dsh --profile web --dump-config | grep -A3 workspace-groups
預期輸出應包含 `id: workspace-groups` 和相關配置信息。
配置與用法¶
- 配置文件位置
默認配置文件位於用戶主目錄下的.dsh文件夾中:
~/.dsh/workspace-groups.yaml
也可以通過環境變量 `$DSH_HOME` 指定其他路徑。
- YAML 規則配置
配置文件定義了分類名稱及其匹配規則。規則之間爲“或”關係,分類按順序匹配,優先匹配第一條規則。
categories:
- name: DSH 插件
rules:
- pathPrefix: /path/to/special/folder
- nameContains: plugin
- basenameContains: plugin
- name: 個人項目
rules:
- pathPrefix: /path/to/personal
- 分類優先級
插件遵循以下優先級邏輯:- 手動覆蓋: 通過拖拽菜單或操作直接指定的分組優先級最高。
- YAML 規則: 符合規則的自動歸類。
- 頂層: 不符合任何規則的項目將顯示在頂層(沒有“未分類”桶)。
注意事項¶
- 重啓要求: 插件的安裝、卸載以及配置文件的修改,都需要重啓 Web 配置文件才能完全生效。
- 數據安全: 插件使用原子寫入機制,錯誤的配置寫入會返回 400 錯誤並保留原有文件,不會導致數據丟失。
- 許可證: 該插件遵循 MIT 許可證開源。
結尾¶
dsh-workspace-groups 插件通過引入分類層級和規則化的管理方式,解決了 DSH Web 客戶端在多項目場景下的管理混亂問題。它保持了 DSH 的插件化生態特性,同時通過零侵入的設計保證了系統的穩定性。
- 目錄頁: https://www.skillhub.cn/plugins/z-col/dsh-workspace-groups
- 源碼地址: https://github.com/z-col/dsh-workspace-groups