前言¶
DeepSeek Harness(DSH)右側欄的「開始」頁會把文件、代碼審查、上下文、終端、Git、瀏覽器、任務管理、側邊對話等能力渲染成一列工具卡片。插件裝得越多,或配合 dsh-better-sidebar 等同頁擴展時,列表很容易高於面板可視區域。原生這一頁沒有獨立滾動視口,上下會被裁切,滾輪也拖不動列表。
yhPrime 維護的客戶端插件 dsh-sidebar-guide-scroll 只針對這一問題:在卡片溢出時讓「開始」頁可縱向滾動,滾動條沿用宿主主題樣式,且僅在需要時出現。
這是什麼¶
dsh-sidebar-guide-scroll 是一個體量很小的 DSH 客戶端插件(dsh.client.platform: web,頁面加載時 immediately 註冊)。它不改 DSH 本體,也不改 node_modules 裏任何第三方包,而是給上游自帶的穩定 DOM 標記 [data-sidebar-right-guide] 加作用域樣式與視口測量,把這一頁變成自己的滾動容器。
與右側欄生態裏其他插件的關係:dsh-better-sidebar 等標籤也註冊在同一「開始」頁,本插件可與它們同頁協作,但不依賴它們;即便卸掉 better-sidebar,原生卡片溢出時修復仍生效。
核心功能¶
下面所列行爲均來自倉庫 README 與 client.js 側的設計說明。
- 溢出滾動:對
[data-sidebar-right-guide]設置overflow-y: auto,內容超出時出現縱向滾動;未溢出時不強行顯示滾動條。 - 保留居中觀感:上下各加彈性佔位,卡片不足一屏時仍接近原來的垂直居中佈局。
- 隨佈局變化同步高度:用
ResizeObserver把可視高度寫入該根節點,在面板尺寸、標籤切換、窗口變化時更新。 - 滾動條外觀隨宿主:不單獨定義顏色,沿用
dsh-client-ui-theme對全站::-webkit-scrollbar(約 5px、主題色、hover)的規則。 - 可乾淨卸載:通過插件上下文的
ctx.effect清理函數還原樣式、觀察器與內聯高度,無需手工清 DOM。
上游若更換內部哈希類名,只要仍保留 data-sidebar-right-guide 標記,插件就不受影響。
安裝與啓用¶
插件在 DSH 進程、當前 profile 對應的權限與沙箱策略下運行;安裝前建議瀏覽 GitHub 倉庫 源碼並確認 MIT 許可與 package.json 中的版本(資料中可見 0.1.0)。
方式一:插件管理器本地目錄
在 DSH 中通過 plugin_manager → install_bundle,將 target 設爲本插件目錄的絕對路徑,刷新頁面後,在插件管理裏應出現「側邊欄開始頁滾動 / Sidebar start page scrolling」,啓用即可。
方式二:從 GitHub 安裝到指定 profile
dsh plugin --profile <profile> add git+https://github.com/yhPrime/dsh-sidebar-guide-scroll.git
裝完後在插件管理裏啓用,再刷新頁面(客戶端插件在頁面加載時註冊)。
典型用法¶
本插件沒有額外配置項或 CLI 子命令,啓用並刷新後即生效。使用方式可以概括爲:
- 打開 DSH Web 客戶端右側欄,切到「開始」頁。
- 當工具卡片總高度超過面板時,在該頁內用滾輪或拖動滾動條瀏覽完整列表。
- 卡片較少、未溢出時,頁面外觀與未裝插件時接近,不應出現多餘滾動條。
倉庫提供 npm test(node test/check.mjs 與 node test/client.test.mjs)做靜態自檢,供維護者或二次打包時驗證,終端用戶通常不必執行。
適用場景與注意¶
適合誰
- 長期在 DSH 裏堆疊多個客戶端插件,右側「開始」頁卡片經常看不全的用戶。
- 使用
dsh-better-sidebar等同頁工具、又希望原生「開始」列表可滾動的用戶。
注意
- 分類爲客戶端插件,隻影響瀏覽器端 UI,不提供 Host 側
apply邏輯(index.js中apply爲空)。 - 安裝命令須使用 README 給出的
git+https://github.com/yhPrime/dsh-sidebar-guide-scroll.git形式,勿憑插件名自行拼接未在文檔中出現的地址。 - 卸載:在插件管理裏關閉或刪除
dsh-sidebar-guide-scroll即可,不必手動清理頁面。
結尾¶
dsh-sidebar-guide-scroll 用最小侵入的方式,把右側欄「開始」頁從「溢出即裁切」改成「需要時可滾動」,並依賴上游穩定的 data-sidebar-right-guide 標記,降低與 DSH 版本迭代的耦合。