dsh-workspace-topbar:把項目切換器放到窗口標題欄

前言

在 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 倉庫。

核心功能

資料中明確描述的能力如下:

  1. 標題欄膠囊切換器:窗口標題欄左側出現 ▣ 全部項目 ⌄ 樣式的按鈕,展開後列出全部工作區,並顯示各工作區的會話數。
  2. 按項目過濾側欄:選定某一項目後,左側只顯示該項目的分組與會話,其他項目隱藏;選「全部項目」恢復原樣。
  3. 選擇持久化:當前選擇寫入 localStorage,重啓 DSH 後仍生效。
  4. 新建項目聯動:新建項目後會自動切換到新項目,頂欄膠囊與左側列表同步。
  5. 範圍剋制:視覺與交互僅作用於插件自建的切換器,不改動宿主側欄的既有結構。

爲什麼放在標題欄而不是 macOS 菜單欄

README 說明:macOS 菜單欄由 Electron 主進程通過系統菜單 API 繪製,掛在安裝包主進程代碼中。DSH 插件跑在獨立的 Node 進程與網頁環境裏,無法修改該入口;直接改安裝包會被應用更新覆蓋,也可能破壞簽名。因此插件把選擇器放在它能介入的最頂部位置——窗口標題欄(菜單欄正下方、紅綠燈右側那一帶)。

安裝與啓用

官方安裝命令(來自倉庫 README):

dsh plugin add dsh-workspace-topbar

README 還提到可從源碼目錄通過 plugin_manager 的 install_bundle 安裝(目標爲本插件目錄的絕對路徑);一般用戶用上面的 dsh plugin add 即可。

安裝完成後重啓 DSH 或刷新頁面,在插件頁應能看到「工作區頂欄」及對應說明。

典型用法

  1. 安裝並重啓或刷新後,注意窗口標題欄左側是否出現工作區膠囊按鈕。
  2. 點擊膠囊,在列表中選擇一個工作區;確認左側會話列表是否只剩該項目的分組與會話。
  3. 需要看全局列表時,在膠囊中選「全部項目」。
  4. 新建工作區後,觀察是否自動切到新項目且側欄同步收窄。

卸載或停用:在插件頁停用或卸載本 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 條目。

羽毛球分组比赛记分
小程序二维码

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

小夜