前言¶
用 DeepSeek Harness(DSH)跑多了項目之後,左側工作區和會話列表會越積越多。名稱相似的工作區靠肉眼區分,效率不高;常見的土辦法是改命名前綴,但改名字會影響路徑解析,代價不小。
下面介紹一個更輕的做法:l-s-c/dsh-workspace-labels,一個非官方的 DSH 社區插件,直接在側欄原有的三點菜單裏給工作區和會話打顏色、掛文字標籤,不改名、不動會話內容。
這是什麼¶
一句話定位:用顏色和文字標籤整理左側工作區與會話的客戶端插件。
- 作者:
l-s-c - 版本:0.6.3
- 許可證:MIT
- 性質:非官方社區插件
它只整理側欄的元數據(顏色、標籤定義、分配關係),不讀取會話正文,不修改項目文件,不訪問第三方網絡。
核心功能¶
已實現的能力如下:
- 在工作區和會話原有的三點菜單內直接選擇 8 種顏色,或清除顏色。
- 在同一菜單內勾選、新建、刪除標籤,不使用獨立彈窗。
- 標籤顯示在名稱右側、時間與操作按鈕左側。
- 工作區三點菜單保留兩個原有操作:打開工作區、複製工作區路徑。
- 中英文界面隨 DSH 語言切換。
邊界也明確:不讀取會話正文,不修改項目文件,不訪問第三方網絡。
安裝與啓用¶
用官方插件命令安裝 0.6.3 的發佈包:
dsh plugin --profile web add \
https://github.com/l-s-c/dsh-workspace-labels/releases/download/v0.6.3/dsh-workspace-labels-0.6.3.tgz
安裝後需要重啓當前 dsh web 進程並刷新頁面。注意不要額外啓動第二個 Web 實例,以免監聽地址衝突。
運行環境要求:Node ^22.19.0 || >=24.0.0。
數據存到哪裏¶
本地 GUI 的元數據持久化到:
~/.dsh/workspace-labels.json
存儲內容包括工作區/會話顏色、標籤定義和標籤分配關係。
爲什麼不用 settings.yaml?DSH 0.1.0-rc.6 的 Web Settings API 使用內置命名空間白名單,第三方插件無法自行暴露新 namespace,所以插件改用自己的同源 Host 路由做持久化。
幾個值得注意的細節:
1、從舊版本升級時,插件會把瀏覽器 localStorage 鍵 dsh.workspaceLabels.v1 的舊數據遷移到 Host;只有 Host 成功落盤並回傳確認後才刪除瀏覽器副本。
2、Host 路由不可用時,繼續保留瀏覽器 localStorage 副本,數據不丟。
3、「打開工作區」只在 Loopback Host 聲明 canOpenPath 時顯示;「複製工作區路徑」使用瀏覽器 Clipboard API。
4、插件調用 DSH 同源 Client→Host API,不向第三方服務發送請求。
典型用法¶
點擊工作區或會話名稱後的 ⋯,菜單下方會直接出現:
- 一行顏色圓點,點擊立即保存。
- 「清除」按鈕,用於移除顏色。
- 標籤勾選列表。
- 新標籤名稱輸入框與添加按鈕。
- 每個標籤右側的刪除按鈕。
整套操作都在同一個菜單裏完成,不需要跳轉或彈窗。
兼容性與注意事項¶
這一節建議安裝前看完。
1、插件針對 DSH 0.1.0-rc.6 開發和測試。該版本沒有公開工作區/會話三點菜單的擴展 Slot,因此菜單和行內裝飾使用 rc.6 的語義化 DOM 與 CSS 類片段實現。DSH Developer Preview 後續更新側欄結構後,插件可能需要適配。
2、標題重複且無法唯一解析時,插件會拒絕注入對應菜單,避免操作到錯誤的對象。這是一個防禦性設計。
3、插件以當前 dsh 進程的權限運行,安裝前應檢查源碼與許可證。項目採用 MIT 許可,倉庫地址見文末。
本地開發與卸載¶
想改代碼自己跑,步驟如下:
pnpm install
pnpm run check
pnpm run test:pack
dsh plugin --profile web add "link:$PWD"
卸載:
dsh plugin --profile web remove dsh-workspace-labels
同樣需要重啓當前 dsh web 進程並刷新頁面。
結尾¶
經過上面的步驟,你可以不改動任何項目文件,就給 DSH 側欄的工作區和會話加上一套本地化的顏色與標籤體系,適合多項目並行、會話量大的人。需要提醒的是,DSH 的理念是「一切皆插件」,社區生態還在早期,這類依賴當前 DOM 結構的插件要留意版本適配。
- 插件目錄頁:https://www.skillhub.cn/plugins/l-s-c/dsh-workspace-labels
- GitHub 倉庫:https://github.com/l-s-c/dsh-workspace-labels