前言¶
DeepSeek Harness (DSH) 採用插件化架構,側欄通常會加載大量面板圖標(插件、自動化任務、上下文洞察等)。默認佈局下,這些圖標會佔據固定高度,導致「工作區」(會話列表)被擠壓,視覺重心下移。
dsh-sidebar-tidy 插件通過收納面板圖標至側欄底部的可摺疊入口,將「新會話」置於頂部,「工作區」居中顯示,從而恢復側欄的整潔與核心功能的可見性。
核心功能¶
- 收納與佈局:將面板圖標收進側欄底部的摺疊入口,讓新會話置頂、工作區居中。
- 交互方式:提供三種展開方式(懸停展開、懸停「更多」、點擊展開),支持鍵盤操作。
- 狀態指示:摺疊狀態下,若被隱藏的面板處於選中狀態,入口圖標右上角會顯示指示點。
- 定製化:支持在設置中逐個開關入口,將其移出摺疊區或保留在摺疊區內。
- 兼容性:跟隨 DSH 語言與原生主題樣式。
安裝與啓用¶
本插件通過手動鏈接方式安裝。請將倉庫放置在本地目錄,並執行以下步驟:
- 放置倉庫:將插件源碼放置到任意目錄,例如
~/dsh-plugins/dsh-sidebar-tidy。 - 鏈接到 node_modules:
- Windows:
mklink /J "%USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh-sidebar-tidy" "C:\path\to\dsh-sidebar-tidy"
* macOS / Linux:
ln -s ~/dsh-plugins/dsh-sidebar-tidy ~/.dsh/profiles/desktop/node_modules/dsh-sidebar-tidy
- 配置 package.json:
在~/.dsh/profiles/<profile>/package.json中添加依賴和 bundle:
{
"dependencies": {
"dsh-sidebar-tidy": "link:<源碼目錄>"
},
"dsh.profile.bundles": [
"dsh-sidebar-tidy"
]
}
- 生效:刷新頁面即可生效(desktop profile 通常無需重啓;若環境特殊,可重啓 DSH)。
使用方法¶
安裝完成後,進入 DSH 的設置頁面。
- 切換展開方式:
在「側欄收納」設置項中,選擇交互模式:- 懸停展開(默認):鼠標移入「⋯ 更多」行即展開,移開後約 220ms 收起。
- 懸停「更多」:只有指針靠近「更多」文字或圖標時才展開,掃過行內其他位置不展開。
- 點擊展開:點擊該行切換展開/收起狀態,支持「記住展開狀態」。
- 管理摺疊區內容:
在同一設置頁下方,可以查看當前所有面板圖標。逐個開關右側的按鈕,可以將對應的入口移出摺疊區,使其回到新會話下方、工作區上方,不再參與摺疊。
技術實現與限制¶
- 依賴機制:插件利用 CSS
order屬性調整 DOM 元素順序,使用display: contents拆解圖標組的外殼,從而實現逐行排序與摺疊。 - 兼容範圍:僅處理
sidebar.panellist面板圖標,不影響設置行等其它側欄元素。 - 潛在風險:依賴
display: contents,若上游 DSH 爲面板組添加了新建包含塊或裁剪相關的樣式(如transform、filter、overflow),移出功能可能失效。 - 清理機制:卸載時會自動移除插入的樣式表、事件監聽與 localStorage 鍵。
結語¶
dsh-sidebar-tidy 是一個輕量級工具,旨在解決 DSH 側欄圖標過多導致工作區擁擠的問題。通過摺疊非核心面板,它幫助開發者保持界面整潔,聚焦於會話與上下文管理。
- 維護者:hfbcwhy7gh-cpu
- 許可證:MIT
- GitHub:https://github.com/hfbcwhy7gh-cpu/dsh-sidebar-tidy
- 目錄頁:https://www.skillhub.cn/plugins/hfbcwhy7gh-cpu/dsh-sidebar-tidy