前言¶
DeepSeek Harness(DSH)左側欄默認是上下兩段:上方是全局面板列表,下方是「工作區」會話樹。面板列表高度由內容撐開、不能手動調節。窗口較矮時,工作區經常被壓到幾乎看不見;想給會話樹多留一點空間時,也沒有現成的調節方式。
社區插件 dsh-sidebar-left-split 只改一件事:在面板列表與工作區之間加入按行磁吸的可拖動分隔條。下面介紹它的定位、能力與安裝用法。
這是什麼¶
dsh-sidebar-left-split(目錄名 yhprime/dsh-sidebar-left-split)由維護者 yhPrime 發佈,分類爲客戶端插件。它不改 node_modules 裏的第三方包,也不改 DSH 本體;通過標記屬性與 CSS 變量驅動樣式,不往 React 管理的子樹裏插節點,避免上游重渲染沖掉分隔條。
插件在插件管理裏顯示爲「側欄工作區分隔 / Sidebar workspace splitter」。當前包版本爲 0.3.0,許可證 MIT,要求 Node.js ≥ 22。
核心功能¶
DSH 原生側欄裏,「更多」按鈕下方即是工作區上緣。本插件在交接處提供 2px 細分隔線與上下拖動光標,行爲要點如下。
拖動與高度記憶
- 按住交接處上下拖動時,面板列表以「一個按鈕」爲一格跳變:往下拖露一行,往上拖收一行,不停在半行上。
- 最小狀態只露一行,其餘靠
overflow-y: auto滾動;最大狀態爲全部按鈕可見,再往下拖不再增加。 - 記憶的是「留幾行」而非像素,刷新或重啓後仍按行對齊;窗口變矮時自動回收,保證工作區至少約 120px。
- 雙擊交接處恢復「按內容自適應」,清除記憶的行數。
滾動磁吸
面板列表被壓小後,滾輪一格對應一行;觸控板細碎滾動會先累積再跳行。拖滾動條或鍵盤操作停下後,自動對齊到最近整行。全部按鈕已露出時不攔截滾輪,頁面照常滾動。
與宿主 UI 的銜接
側欄收成窄軌(帶 *_collapsed 狀態時)自動讓開,不影響圖標列。滾動條外觀沿用宿主;分隔線使用 --dsw-alias-border-l1/-l2,不另設主題色。選擇器依賴上游 CSS Module 類名後綴 _regionArea、_panelList 及結構位置,不依賴哈希前綴。
安裝與啓用¶
插件以當前 DSH 進程權限在瀏覽器端注入邏輯(client.js,platform: web,immediately: true)。安裝前應自行瀏覽源碼與 MIT 許可證,確認可接受其行爲與依賴邊界。
官方 README 給出的獲取與安裝步驟如下。
- 將倉庫克隆到本地(安裝命令來自項目 README):
git clone https://github.com/yhPrime/dsh-sidebar-left-split.git
-
在 DSH 中通過插件管理安裝:使用
plugin_manager→install_bundle,target 填克隆目錄的絕對路徑。 -
刷新頁面;在插件管理中應能看到「側欄工作區分隔 / Sidebar workspace splitter」。
建議先在該目錄執行 pnpm pack 生成 tarball,再用 tarball 的絕對路徑作爲 target。直接傳目錄會建立 pnpm link(link:),卸載時可能連帶刪掉源碼目錄。若安裝新版本後 application 報 restart-required(清單層版本號變更),需重啓 DSH 纔會加載新 bundle。
典型用法¶
| 操作 | 效果 |
|---|---|
| 懸停在「更多」與工作區之間 | 出現分隔線與上下拖動光標 |
| 按住上下拖動 | 按行磁吸:一格對應一個按鈕;往下露一行、往上收一行 |
| 往上拖到底 | 只留一行,其餘靠滾動條 |
| 往下拖到底 | 所有按鈕顯示,不再下移 |
| 壓小後在列表裏滾動 | 一行一步;拖滾動條停下後對齊最近整行 |
| 雙擊交接處 | 恢復自適應(清除記憶行數) |
項目自帶自檢,可在克隆目錄執行:
node test/check.mjs
node test/client.test.mjs
或 npm test(等價於上述兩條串聯)。
適用場景與注意¶
適合誰
- 經常在矮窗口或多面板場景下使用 DSH,需要固定給會話樹留出可視高度的人。
- 希望面板列表與工作區邊界清晰、且調節粒度與「一行一個面板」一致的用戶。
實現邊界(README 已說明)
- 交接處爲幾何命中(距工作區上邊緣 ±5px),沒有可聚焦的 DOM 抓手,鍵盤無法直接操作分隔條;無障礙需依賴上游提供真控件。
- 磁吸格距按實測行高與行距計算,換主題或字號仍應對齊行;面板行數變化時,記憶行數會被夾到當前上限。
- 若上游重命名
regionArea/panelList相關 CSS Module 類名,插件會靜默不生效(不報錯、不改佈局)。
DSH 生態奉行「一切皆插件」;社區目錄站點與 DeepSeek / 幻方無官方從屬關係,本文介紹的是社區維護的客戶端擴展,非官方應用商店內置能力。
結尾¶
dsh-sidebar-left-split 用最小改動補上左側欄上下分區的手動調節:行級磁吸拖動、滾動對齊與高度記憶,解決窗口變矮時工作區被擠沒的常見問題。
- 社區目錄頁:https://www.skillhub.cn/plugins/yhPrime/dsh-sidebar-left-split
- 源碼與說明:https://github.com/yhPrime/dsh-sidebar-left-split