前言¶
在 DeepSeek Harness(DSH)裏同時維護多個工作區(項目)時,左側會話列表會把各項目的分組和會話混在一起。系統自帶的工作區切換器在側欄中部,視線要在標題區和列表之間來回移動。若你希望「先定當前項目,再只看這一塊的會話」,又不想改安裝包或動主進程菜單,就需要一個在插件權限內能落地的頂欄方案。
下面介紹社區插件 dsh-workspace-topbar(維護者 AiCoderChenweishi,分類爲客戶端插件):把工作區切換器挪到窗口標題欄,選中某個項目後,左側只顯示該項目的分組與會話。
這是什麼¶
dsh-workspace-topbar 是 DSH 的客戶端 bundle 插件(當前資料中的版本爲 0.1.0,MIT 許可證)。它不改 DSH 默認側欄的整體佈局,只在 conversation.header.leading 槽位註冊頂欄組件,並用顯示層過濾配合側欄上已有的 data-row-key 標記,實現按項目收窄會話列表。
社區目錄頁:skillhub.cn 上的 dsh-workspace-topbar。源碼與說明見 GitHub 倉庫。
核心功能¶
資料中明確描述的能力如下:
- 標題欄膠囊切換器:窗口標題欄左側出現
▣ 全部項目 ⌄樣式的按鈕,展開後列出全部工作區,並顯示各工作區的會話數。 - 按項目過濾側欄:選定某一項目後,左側只顯示該項目的分組與會話,其他項目隱藏;選「全部項目」恢復原樣。
- 選擇持久化:當前選擇寫入
localStorage,重啓 DSH 後仍生效。 - 新建項目聯動:新建項目後會自動切換到新項目,頂欄膠囊與左側列表同步。
- 範圍剋制:視覺與交互僅作用於插件自建的切換器,不改動宿主側欄的既有結構。
爲什麼放在標題欄而不是 macOS 菜單欄¶
README 說明:macOS 菜單欄由 Electron 主進程通過系統菜單 API 繪製,掛在安裝包主進程代碼中。DSH 插件跑在獨立的 Node 進程與網頁環境裏,無法修改該入口;直接改安裝包會被應用更新覆蓋,也可能破壞簽名。因此插件把選擇器放在它能介入的最頂部位置——窗口標題欄(菜單欄正下方、紅綠燈右側那一帶)。
安裝與啓用¶
官方安裝命令(來自倉庫 README):
dsh plugin add dsh-workspace-topbar
README 還提到可從源碼目錄通過 plugin_manager 的 install_bundle 安裝(目標爲本插件目錄的絕對路徑);一般用戶用上面的 dsh plugin add 即可。
安裝完成後重啓 DSH 或刷新頁面,在插件頁應能看到「工作區頂欄」及對應說明。
典型用法¶
- 安裝並重啓或刷新後,注意窗口標題欄左側是否出現工作區膠囊按鈕。
- 點擊膠囊,在列表中選擇一個工作區;確認左側會話列表是否只剩該項目的分組與會話。
- 需要看全局列表時,在膠囊中選「全部項目」。
- 新建工作區後,觀察是否自動切到新項目且側欄同步收窄。
卸載或停用:在插件頁停用或卸載本 bundle,然後重啓 DSH;此前被隱藏的行會自動恢復顯示(隱藏僅爲展示層,不刪除、不歸檔會話)。
原理概要¶
便於排查問題時對照 README:
- 頂欄:Client 側向
conversation.header.leading註冊組件,通過槽位提供的useWorkspaces讀取工作區快照;選中狀態存在localStorage。 - 過濾:ui-workspace 渲染側欄時爲行打上
data-row-key="workspace:<id>"或session:<id>。插件按選中項目隱藏其他分組,並兜底隱藏其他項目的會話行;React 重渲染列表時,用MutationObserver重新應用過濾。
適用場景與注意¶
適合誰:經常在 DSH 裏切換多個代碼倉庫或智能體項目、希望頂欄一鍵定「當前項目」、側欄只跟當前上下文走的開發者。
權限與安全:插件與當前 DSH 進程同級運行,會讀寫界面與本地存儲。安裝前建議在 GitHub 查看 index.js、client.js、cordis.patch.yml 及許可證(MIT),自行判斷是否滿足環境要求。
限制:
- 過濾依賴側欄的
data-row-key約定;DSH 大版本若改了側欄結構,過濾可能失效。失效時插件會安靜地不再處理(列表恢復原樣),一般不報錯。 - 若與其他改寫側欄的插件(例如帶文件樹的側欄插件)同開,過濾仍作用在帶工作區/會話標記的行上,不改動文件樹區域。
DSH 生態強調「一切皆插件」;skillhub.cn 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係,本文僅作插件能力說明,不構成官方背書。
結尾¶
dsh-workspace-topbar 用標題欄膠囊完成工作區切換,並用顯示層過濾收窄左側會話列表,適合多項目並行時的日常切換。查閱說明與提 issue 可走 GitHub;在目錄站檢索同名插件見 skillhub.cn 條目。