前言¶
DeepSeek Harness(DSH)把擴展能力做成插件,左側欄裏會堆疊「全局面板按鈕條」——插件、任務看板、技能中心等各佔一行。每裝一個面板插件,按鈕條就多 36px 高度,且宿主側欄不會把這條區域摺疊或滾動,工作區與會話列表可用高度就被一點點擠沒。若你已經在用多個客戶端面板插件,卻不想改 DSH 本體,社區裏有一個只做摺疊開關的客戶端插件可以試:dsh-sidebar-collapse(維護者 lakejason0)。下面介紹它是什麼、怎麼用,以及和宿主版本、內部類名相關的注意點。
這是什麼¶
dsh-sidebar-collapse 是 DSH 客戶端插件(npm 包名 dsh-sidebar-collapse,當前版本 0.1.1,MIT 許可)。它在側欄 「工作區」標題右側、搜索圖標左側 增加一個摺疊按鈕:點一下收起整條全局面板按鈕條,把列高度讓給工作區與會話列表;再點一下恢復。不替換宿主組件,也不改動其他插件的註冊邏輯。
插件目錄頁:skillhub.cn/plugins/lakejason0/dsh-sidebar-collapse。源碼與說明:github.com/lakejason0/dsh-sidebar-collapse。DSH 生態強調「一切皆插件」;社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
它解決什麼問題¶
DSH 左側欄自上而下大致是:品牌行 → 新會話 → 全局面板按鈕條 → 工作區/會話列表 → 底部。按鈕條裏每一行由各個插件註冊,佔 36px 且不會被壓縮——插件越多,列表區域越扁,而按鈕條本身在宿主裏既不能摺疊也不能滾動。
本插件只做上述摺疊開關一件事;README 中用展開/摺疊對比圖說明了視覺差異(見倉庫 docs/expanded.png、docs/folded.png)。
核心功能與行爲¶
以下均來自項目 README,安裝前可在 GitHub 覈對。
- 出現條件:全局面板按鈕達到 5 個 時,摺疊按鈕才顯示;少於 5 個時不顯示。
- 摺疊效果:收起後整條插件按鈕條不可見,工作區列表佔用整列高度;摺疊按鈕仍留在標題行,可隨時展開。
- 狀態持久化:摺疊狀態寫入瀏覽器
localStorage,鍵名dsh-sidebar-collapse:collapsed,刷新或重啓 DSH 後保持。 - 自動讓位與暫停:
- 側欄收成 56px 圖標欄時,摺疊功能自動暫停(該模式下按鈕條是唯一導航)。
- 工作區標題行搜索框展開時,摺疊按鈕自動讓位。 - 邊界:不設側欄高度上限、不增加第二條滾動條;摺疊通過純 CSS 隱藏按鈕條子元素,不在組件樹外寫 DOM。
安裝與啓用¶
任選其一(命令與步驟以 README 爲準,不要自行拼接 github:owner/repo 形式的 add 參數)。
方式一:插件頁(推薦)
- 打開 DSH 設置 → 插件 → 添加。
- 填入包名
dsh-sidebar-collapse並完成安裝。
也可讓 DSH 代理調用 plugin_manager 的 install_bundle,target 填 dsh-sidebar-collapse。
方式二:命令行
需要本機 dsh CLI 已在 PATH 中:
dsh plugin --profile <你的 profile 名> add dsh-sidebar-collapse
將 <你的 profile 名> 換成你實際使用的 profile。
卸載:在插件頁禁用或卸載;或 plugin_manager 的 remove_bundle,target 填 dsh-sidebar-collapse。
插件以當前 DSH 進程權限在客戶端運行;安裝前建議瀏覽 client.js 與許可證,確認符合你的安全策略。
典型用法¶
安裝並啓用後無需額外配置文件。當全局面板按鈕不少於 5 個時,在工作區標題行搜索圖標左側會出現摺疊控件;點擊即可在「按鈕條佔滿側欄」與「按鈕條隱藏、列表變高」之間切換。若按鈕未出現,先確認面板數量是否達到閾值,以及側欄是否處於 56px 圖標欄模式(該模式下摺疊會暫停)。
兼容性與實現要點¶
在 DSH 0.2.1-rc.3(Electron 44 / Chromium ~144)上開發並驗證。實現依賴宿主兩處內部命名(類名子串):
| 依賴 | 用途 |
|---|---|
nav 上的 …_panelList |
判斷摺疊範圍與「5 個按鈕」閾值 |
工作區標題行搜索槽的 …_searchSlot |
定位錨點(測量回退也用它) |
若未來 DSH 重命名這些選擇器,最壞情況是按鈕位置錯誤或不再出現,README 說明不會破壞側欄或影響其他插件;屆時可改 client.js 頂部常量:FOLD_THRESHOLD、BUTTON_SIZE、GUTTER、ANCHOR_SELECTOR。
工作原理簡述:控件註冊在宿主 sidebar.footer.action 座位,用絕對定位脫離 footer 行流;優先用 CSS 錨點把按鈕放在搜索槽左側 32px;引擎不支持錨點時用 getBoundingClientRect() 與 position: fixed 回退,並在窗口尺寸變化、摺疊操作後重新測量。摺疊本身由 html:has([data-dsh-sidebar-collapse][aria-expanded="false"]) … 將按鈕條子元素設爲 display: none。
適用場景與注意¶
- 適合:常裝多個 DSH 客戶端面板插件、側欄按鈕條擠佔工作區與會話列表高度的用戶。
- 不適合:面板少於 5 個時本插件不會顯示按鈕(按設計如此);依賴窄圖標欄導航時不應依賴摺疊(宿主會暫停摺疊)。
- 安全與信任:客戶端插件注入 UI 與樣式,安裝前請自行審閱源碼與 MIT 許可;社區目錄與 GitHub 星標(截至資料抓取爲 0)僅作參考,不代表官方背書。
結尾¶
dsh-sidebar-collapse 用一個小按鈕換側欄縱向空間,邏輯單一、可卸載即消失。需要安裝入口可看 插件目錄頁,行爲細節與截圖以 GitHub README 爲準。