前言¶
在 DeepSeek Harness(DSH)裏同時開多個工作區和會話時,側欄 sidebar.workspaces 會隨項目增多而變長。官方列表按工作區分組、按時間或手動順序展示,但沒有「常看項」的快捷入口:你要麼在全量列表裏反覆找,要麼依賴記憶。社區插件 dsh-favourite(倉庫 XSJUSTC/dsh-favourite)在客戶端側影子接管該槽位,爲會話與工作區增加星標收藏、只看收藏/隱藏未收藏、置頂快捷行以及 fork 時繼承收藏狀態,並支持可配置的星標顏色。下面介紹其定位、能力與安裝用法。
這是什麼¶
dsh-favourite(npm 包名 @xsj/dsh-favourite,當前資料中版本 1.0.0)由維護者 XSJUSTC 發佈,分類爲 客戶端 插件。它以 priority: -1 影子註冊工作區管理側欄:官方 WorkspaceBrowser 仍保持註冊,卸載本插件即可回落原界面。
持久化文件位於 <DSH_HOME>/storages/dsh-favourite.json(原子寫入)。宿主暴露 HTTP 路由與 ctx.dshFavourite 服務;客戶端在 lib/client.js 中提供收藏版工作區瀏覽器。許可證爲 MIT,運行環境要求 Node.js >= 20。
核心功能¶
收藏¶
工作區行與會話行懸停會出現星標按鈕,收藏後常亮;行菜單裏也有「收藏 / 取消收藏」。收藏工作區不會自動收藏其內部會話,二者獨立維護。
只看收藏¶
激活後,一級列表只顯示:收藏的會話(散行,不帶工作區歸屬)+ 收藏的工作區。收藏的工作區可展開,展開後顯示其下全部會話;未收藏的工作區與未收藏的會話不出現。散行排序跟隨視圖選項中的排序方式(最近更新按活躍度,手動則與官方單列表手動順序一致)。
隱藏未收藏¶
在官方結構上只做減法:不顯示「未收藏工作區的未收藏會話」。收藏的工作區展開顯示全部會話;未收藏但內含收藏會話的工作區仍會顯示,會話嵌在其中;收藏會話數爲 0 的未收藏工作區會被隱藏。
全部顯示¶
與官方原樣列表一致,作爲顯式回落入口;取消任一篩選模式也可回到全量視圖。
置頂¶
對已收藏的會話或工作區,可在行菜單中「置頂」。置頂項出現在工作區管理區域最上方。置頂會話以單行展示,不顯示工作區名;鼠標懸浮可查看工作區名、路徑、會話標題、時間與狀態等元信息。置頂是額外的快捷行,會話本身仍保留在原工作區內,不改變側欄拓撲。置頂行菜單還提供重命名、分叉會話、歸檔會話,行爲與組內會話行一致。
fork 繼承¶
監聽 session/created:當爲普通 fork(存在 header.parentSession 且 isSeeded,且非 subagent)時,子會話默認繼承父會話當時的收藏與置頂狀態。
其他能力¶
- 在文件資源管理器中打開工作區:置頂行與散行行菜單可打開會話所屬工作區目錄並聚焦(Windows 側通過 Shell.Application COM 與 AppActivate 處理前臺焦點)。
- 散行拖動排序:在「只看收藏」模式下,散行支持長按拖動,與官方單列表共用同一份手動順序。
- 星標顏色:視圖選項可選金黃、橙、紅、藍、紫或跟隨主題,設置會持久化。
- 篩選模式與摺疊:「只看收藏」「隱藏未收藏」激活期間跳過官方 5 行摺疊限制;匹配項不會被「展開其餘 N 個」藏起。收藏數據約 2 秒輪詢,窗口聚焦時即時刷新;多窗口或宿主側 fork 繼承最遲約 2 秒可見。
安裝與啓用¶
安裝命令以倉庫 README 爲準。使用 web profile 從 GitHub 安裝示例:
# 從 GitHub 安裝
dsh plugin --profile web add github:XSJUSTC/dsh-favourite
# 或從本地目錄
dsh plugin --profile web add <本插件目錄或 file:/link: 路徑>
# 重啓 DSH,刷新頁面
安裝完成後重啓 DSH 並刷新瀏覽器頁面,側欄工作區區域即由本插件接管展示邏輯。
典型用法¶
- 標記常開會話:在目標會話行懸停點星標,或打開行菜單選擇收藏。
- 縮小側欄範圍:打開視圖選項,切換到「只看收藏」或「隱藏未收藏」,按上文規則過濾列表。
- 固定入口:對已收藏項使用行菜單「置頂」,在列表頂部通過懸浮查看完整元信息;需要時在置頂行菜單分叉或歸檔。
- fork 後繼續跟蹤:對收藏會話做普通 fork 後,子會話會繼承收藏與置頂,無需重新點星。
- 個性化:在視圖選項中調整星標顏色與排序方式;只看收藏時可通過拖動散行調整手動順序。
宿主側如需集成,可調用 ctx.dshFavourite(snapshot / toggle / setPinned / isFavorited),或通過 GET /api/dsh-favourite、POST /api/dsh-favourite/toggle、POST /api/dsh-favourite/pin 訪問(請求體上限 64KB)。
適用場景與注意¶
適合長期在 DSH 中維護多個倉庫與會話、希望用收藏和篩選減少側欄噪音的開發者。置頂與「只看收藏」適合把當前迭代相關的會話/worktree 放在固定位置,而不改動官方會話存儲結構。
插件以後端進程權限運行,安裝前建議閱讀 GitHub 源碼 與 MIT 許可證,確認路由與本地存儲行爲符合你的環境策略。社區目錄 SkillHub 插件頁 與 GitHub 爲獨立信息源,與 DeepSeek / 幻方無官方從屬關係;星標數等元數據以各頁面當時展示爲準(資料中 GitHub 爲 1 star)。
結尾¶
dsh-favourite 在不替換官方工作區瀏覽器的前提下,爲 sidebar.workspaces 補上收藏、篩選、置頂與 fork 繼承,並處理篩選模式下的摺疊與多窗口同步細節。若你需要在 DSH web 客戶端裏管理「常看」工作區與會話,可按 README 安裝並重啓驗證。