前言¶
DeepSeek Harness(DSH)的 Web 界面左側欄會列出會話、工具、以及各插件註冊的面板入口。插件裝得越多,rail 上的圖標越密,很多面板日常根本點不到,卻佔着固定位置。宿主本身沒有「按來源分組、一鍵收起、臨時展開全部」這類側欄管理能力;關掉某個插件也不等於從 UI 裏去掉它註冊過的面板項。下面介紹社區插件 dsh-panel-organizer(倉庫 Asterlyra/dsh-panel-organizer),維護者爲 Asterlyra,分類爲客戶端插件:在不動宿主源碼的前提下,用設置頁控制每個面板的顯隱,並把側欄「更多」改成展開/摺疊全部面板的開關。
這是什麼¶
dsh-panel-organizer(中文名「面板整理」)是一個純前端的 DSH 插件:把左側欄裏用不到的面板圖標收起來,按「內置 / 插件」分組管理;點側欄的「更多」可以把被隱藏或未固定在 rail 上的面板臨時全部鋪開,再點一次恢復原樣。配置保存在瀏覽器 localStorage,不發起網絡請求、不做遙測。
核心功能¶
逐面板顯隱¶
在 設置 → 插件 → 面板整理 中,每個面板有獨立開關。關閉後,該面板從左側欄固定區域消失;隱藏不等於刪除——在「展開全部」狀態下仍可點開被隱藏的面板。
按來源分組¶
內置面板(DSH 本體自帶)與插件面板(第三方插件註冊)分開展示,支持整組一鍵收起或展開。
「更多」= 展開全部¶
點擊側欄「更多」時,插件在 document capture 階段攔截默認菜單行爲,改爲切換 <html data-dsh-panels-expanded>:被隱藏的以及當前未固定在 rail 裏的面板會補成同尺寸按鈕,點擊走官方的 ctx.layout.selectPanel(id)。按鈕文案/圖標會變爲摺疊箭頭,再點一次恢復。過渡約 170ms,並尊重系統的「減少動態效果」設置。
實現邊界¶
插件只通過官方擴展點接入:註冊 settings.plugins.tab 設置頁,向 shell.overlay 注入 <style>(按面板 aria-label 精確隱藏已固定面板的行;同名面板不生成規則,避免誤傷兩個入口)。不 monkey-patch 宿主函數;宿主升級時最多是補丁失效,不會把界面弄壞。
當前 package 版本爲 0.4.0,許可證 MIT。
安裝與啓用¶
桌面 profile 下在終端執行(命令來自項目 README):
dsh plugin --profile desktop add Asterlyra/dsh-panel-organizer
或在 Harness 內打開 設置 → 插件 → 添加插件,填入倉庫地址 Asterlyra/dsh-panel-organizer。安裝後刷新頁面;配置入口在 設置 → 插件 → 面板整理。
README 說明:從 GitHub 源碼安裝;npm 包 dsh-panel-organizer 發佈後可直接 dsh plugin add dsh-panel-organizer,預構建 tarball 也可從 Releases 獲取。
典型用法¶
- 打開 設置 → 插件 → 面板整理。
- 關閉不想在左側欄常駐的面板;可按「內置 / 插件」整組收起。
- 需要臨時找某個被收起的面板時,在左側欄點「更多」展開全部,用完再點摺疊回去。
- 想恢復插件默認配置:設置頁頁腳的「恢復默認」按鈕。
適用場景與注意¶
適合誰:長期在 DSH 0.2.x Web UI(含桌面客戶端內置 Web 界面)上工作、裝了不少客戶端插件、希望側欄只保留常用入口的開發者。其他實現了官方 sidebar slot 與 layout.selectPanel 的客戶端理論上也可用。
安裝前請知悉:DSH 插件與當前 Harness 進程同權限運行;安裝前應自行查看 GitHub 倉庫 源碼與 MIT 許可證。社區插件目錄站點 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。
結尾¶
dsh-panel-organizer 用 localStorage 與官方 UI 擴展點解決「側欄面板過多」的問題:顯隱可控、分組清晰、「更多」一鍵展開再收回。需要細節時可查閱目錄頁與源碼:
- 目錄頁:https://www.skillhub.cn/plugins/Asterlyra/dsh-panel-organizer
- GitHub:https://github.com/Asterlyra/dsh-panel-organizer