前言¶
在 DeepSeek Harness(DSH)裏裝多個帶側邊欄入口的插件時,sidebar.panellist 註冊項會連在一起變長,佔掉左側縱向空間,下面的工作區 / 會話瀏覽器容易被擠小。官方 0.2.x 側邊欄本身沒有「整塊面板列表一鍵收起」的交互。下面介紹社區插件 dsh-sidebar-fold:在面板列表上方加一行可摺疊標題,單擊收起全部入口、再單擊展開,把縱向空間還給工作區區域。
這是什麼¶
dsh-sidebar-fold(GitHub:Yazzyk/dsh-sidebar-fold,維護者 Yazzyk)是面向 DSH 客戶端(web) 的插件:讓左側邊欄中 插件 / global-panel 入口所在的那一段列表 可摺疊。無 host 側邏輯、無工具、無存儲、無網絡,純瀏覽器端行爲。許可證爲 MIT(見倉庫 README)。
核心功能¶
資料中可覈實的能力如下。
- 摺疊區目標:針對側邊欄裏插件與 global-panel 的入口列表;在列表上方插入緊湊的區段標題,一次點擊收起全部條目,再點擊恢復。
- 與現版側邊欄共存:面向隨 DSH 發佈的 0.2.x 側邊欄(抽屜、固定、more 菜單、快捷鍵仍可用);通過觀察
nav[aria-label]地標實現,不引入或替換其他插件組件。 - 顯示條件:僅在 展開態 側欄列生效;列表 至少 2 個入口 時纔出現摺疊標題。56px 窄軌仍只顯示圖標列;僅 1 個入口時不增加額外 UI。
- 無障礙與文案:摺疊標題在收起時顯示數量徽標,帶
aria-expanded/aria-controls;標籤本地化(中文「面板」、英文Panels)。 - 狀態:摺疊爲瞬時視圖狀態,頁面重載後恢復,與 shell 自身摺疊行爲一致。
安裝與啓用¶
倉庫已提交 lib/,Git 安裝無需額外構建依賴。將 web 換成你實際使用的 profile 名(例如 desktop):
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Yazzyk/dsh-sidebar-fold
安裝本地目錄時:
npx -p @deepseek-ai/dsh dsh plugin --profile web add /path/to/dsh-sidebar-fold
完成後 重啓對應 profile 的 DSH 進程,客戶端纔會加載 lib/client.js。
插件通過 cordis.patch.yml 插入一行(config 爲空對象,無額外配置項):
- insert:
- id: sidebar-fold
name: dsh-sidebar-fold
config: {}
典型用法¶
安裝並重啓後,無需改配置:當側欄展開且面板類入口 不少於 2 個 時,列表上方會出現摺疊標題。點擊即可收起整塊入口列表(收起時標題旁有數量徽標);再點一次展開。單入口或側欄處於窄軌圖標模式時不會出現該標題。
維護者在倉庫中給出的本地校驗命令(面向插件開發者自測,非終端用戶必做步驟):
npm run build # 從 src/ 重新生成 lib/
npm run verify # 檢查 exports、模塊協議、patch、工廠約定
npm test # 在最小 DOM stub 上跑行爲測試
適用場景與注意¶
適合:經常在 DSH web 客戶端掛多個帶側邊欄面板的插件,希望列表可一鍵收起、給工作區 / 會話列表騰空間的開發者。
注意:
- 插件在 當前 DSH 進程的客戶端上下文 中運行;安裝前建議瀏覽倉庫源碼與 LICENSE,確認符合你的環境與合規要求。
- 摺疊狀態不持久化,刷新頁面後回到默認展開邏輯。
- 社區目錄 SkillHub 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 生態主張「一切皆插件」,目錄站是獨立聚合,不是官方應用商店。
package.json聲明engines.node:>=22,開發與跑測試時需滿足 Node 版本;peer 依賴@deepseek-ai/cordis>=0.1.0。
結尾¶
dsh-sidebar-fold 用一行摺疊標題緩解「插件面板列表過長擠佔側欄」的問題,實現方式輕量、不改變 host,也不動已有側邊欄組件。需要安裝命令與細節時,可看目錄頁與倉庫 README。
- 目錄頁:https://www.skillhub.cn/plugins/Yazzyk/dsh-sidebar-fold
- GitHub:https://github.com/Yazzyk/dsh-sidebar-fold