前言¶
在 DeepSeek Harness(DSH)裏,每裝一個會在左側邊欄註冊全局面板的插件,側邊欄就會多一行啓動器。自動化任務、任務看板、Skill Center、SSH、Context Insights、Agents 等插件各自佔位,工作區和會話列表能用的縱向空間會被擠佔。
dsh-sidebar-panel-fold 不改面板本身的功能,只調整「哪些面板在側邊欄露出行、哪些收進 More 菜單」。下面介紹它的定位、安裝方式和配置落盤位置。事實以 GitHub 倉庫 README 與 bundle 元數據爲準;社區目錄見 SkillHub 條目。
這是什麼¶
- 名稱:
@lisongjianustc/dsh-sidebar-panel-fold(bundle 名sidebar-panel-fold) - 維護者:lisongjianustc(GitHub:
lisongjian) - 分類:客戶端(Web GUI)
- 版本(package.json):1.2.0,許可證 MIT
- 一句話:DeepSeek Harness 插件——只保留你選中的全局面板在左側邊欄,其餘面板摺疊進側邊欄的 More 菜單。
插件無獨立 Host 業務能力、無第三方依賴,通過公開擴展點操作 @deepseek-ai/dsh-client-ui-sidebar。
核心功能¶
偏好開關¶
設置 → 側邊欄面板(Settings → Sidebar panels)爲每個已註冊的全局面板提供一行開關:
- 打開 → 側邊欄保留該面板的啓動器行(界面文案:Shown in the sidebar)
- 關閉 → 隱藏啓動器行,面板出現在側邊欄 More 中;點擊後照常打開面板(Folded into More)
Plugins 入口始終保留在側邊欄,屬於 Shell 自身,不受摺疊規則影響。
默認策略¶
尚未保存用戶偏好時:
- 保留:Context Insights、Agents
- 其餘已註冊面板:摺疊進 More
設置頁提供 Restore defaults,可恢復上述出廠默認。
行爲邊界(README Limits)¶
- 摺疊隻影響啓動器行;面板主體、主面板註冊、快捷鍵、當前選中項不變;摺疊的面板隨時可從 More 打開。
- 偏好按用戶存儲,不按 profile 或 workspace 區分。
- 若未來 Harness 改動側邊欄
nav/aria-label結構,摺疊用的 CSS 規則可能失效,啓動器行會重新顯示,其餘功能不受影響;大版本升級後建議複查本插件。
環境與依賴¶
- DeepSeek Harness 0.2.2-rc.1 或更高(側邊欄 More 菜單與設置頁分區依賴該版本能力)。
- 需在 Web GUI(
dsh web或桌面應用)中使用;bundle 的dsh.client.platform爲web。
安裝與啓用¶
從本機 checkout 目錄安裝,安裝後即啓用,對當前 profile 下所有會話生效。
命令行(路徑替換爲你的絕對路徑):
plugin_manager install_bundle target = /absolute/path/to/dsh-sidebar-panel-fold
圖形界面:Plugins → Add plugin,選擇該目錄並啓用。
卸載:同一頁面卸載,或:
plugin_manager remove_bundle @lisongjianustc/dsh-sidebar-panel-fold
卸載會移除全部摺疊規則與設置頁,不改動其他配置。
安裝前請自行查看倉庫源碼與 MIT 許可證;插件在 DSH 進程權限下運行,與裝任何社區插件一樣,應先確認來源與代碼範圍。
典型用法¶
- 打開 Settings(側邊欄底部賬戶菜單 → Settings)→ Sidebar panels。
- 按需撥動各面板開關,側邊欄即時更新;被摺疊項出現在 More 中。
- 需要時點擊 Restore defaults 恢復默認保留 Context Insights 與 Agents 的策略。
選擇會在應用重啓、Web GUI 端口變更、瀏覽器 profile 變更後保留。
偏好文件與 API¶
偏好寫在:
$DSH_HOME/plugin-state/sidebar-panel-fold/visible-panels.json
默認路徑示例:~/.dsh/plugin-state/sidebar-panel-fold/visible-panels.json
內容格式:
{ "visible": ["dsh-context", "agents"] }
visible 數組列出仍顯示在側邊欄的 panel id;未列出的已註冊面板一律摺疊。未安裝的面板 id 會被忽略。刪除該文件即回退到默認策略。
Host 半通過同源路由 /sidebar-panel-fold/api/state(GET/POST JSON)讀寫上述狀態;不註冊工具、不持有會話狀態。
實現要點(供排查與二次開發)¶
純 JavaScript,無構建步驟。主要文件:index.js(Host:偏好文件與 state 路由)、client.js(瀏覽器:摺疊規則、More 菜單行、設置頁)、locale/*.json、cordis.patch.yml。
客戶端使用的擴展點(摘自 README):
sidebar.panellist— 讀取各面板 id、順序、標籤;對摺疊項注入樣式隱藏對應啓動器行(按無障礙名稱匹配標籤);面板註冊/標籤變更/語言切換時重算規則。sidebar.panellist.actions— 在 More 中列出摺疊面板,onOpen(id)打開面板,onDismiss()關閉菜單。settings.section+settings.section.icon— 設置頁與導航圖標。
修改 Host 半後需在插件管理器中禁用再啓用 bundle 以重新加載模塊;修改瀏覽器半後刷新頁面即可。
適用誰¶
適合長期在 Web GUI 中裝多個側欄面板插件、希望固定保留少數常用入口(其餘從 More 進)的開發者。不適合指望按 workspace 保存不同側欄佈局的場景——當前設計是單用戶全局偏好。
社區插件目錄 SkillHub 與 DeepSeek / 幻方無官方從屬關係;DSH 生態是「一切皆插件」,本插件是客戶端側欄收納類小工具之一。
結尾¶
經過上面的步驟,你可以在不動各面板功能的前提下,把側欄收成「常用行 + More」。倉庫與說明:https://github.com/lisongjianustc/dsh-sidebar-panel-fold;目錄頁:https://www.skillhub.cn/plugins/lisongjianustc/dsh-sidebar-panel-fold。