dsh-sidebar-plugins-toggle:側邊欄插件區一鍵收起

前言

DeepSeek Harness(DSH)側邊欄頂部有一組與插件相關的入口:插件市場、自動化任務、上下文洞察、更多。日常用 Harness 時,會話列表往往更需要縱向空間,但這些入口默認始終佔着側欄上半截。官方側欄行組件目前沒有「行尾操作」插槽,單靠設置很難把整塊區域折起來又不丟返回路徑。下面介紹的 dsh-sidebar-plugins-toggle(列表顯示名:收起側邊欄,英文 Collapse Sidebar)在「插件」那一行最右側加一個小箭頭:點一下收起上述插件區,再點一下展開,並把摺疊狀態記在瀏覽器本地。

這是什麼

  • 倉庫:Hanice404/dsh-sidebar-plugins-toggle
  • 維護者:小黑(Hanice404)
  • 分類:客戶端插件(瀏覽器 / Electron 渲染層邏輯,index.js 爲空實現,實際工作在 client.js)
  • 許可:MIT(© 2026)
  • 當前包版本(package.json):0.1.1

插件在側邊欄「插件」行右側繪製箭頭控件;「插件」這一行始終保留,否則控件會隨 DOM 消失而無法展開。所謂「插件區」指「插件」行以下的面板入口(插件市場、自動化任務、上下文洞察、更多)。收起後只留「插件」一行,其下空間歸會話列表使用。

核心功能

資料中寫明的能力如下,安裝前可按需對照源碼覈對。

  1. 摺疊 / 展開:點擊行尾箭頭;默認展開,箭頭朝下(▾),收起後箭頭朝右(▸)。
  2. 狀態持久化:摺疊狀態寫入 localStorage,鍵名爲 dsh-sidebar-plugins-toggle:collapsed,刷新頁面後保持。
  3. 軌道模式:側欄折成約 56px 圖標軌道時,箭頭自動隱藏,且不收起任何入口(避免無箭頭時無法恢復)。
  4. 不誤觸面板:點擊箭頭在捕獲階段攔截事件,不會順帶打開「插件」面板。
  5. 多語言:提示文案覆蓋 DSH 支持的 8 種語言;支持 Tab 聚焦與 Enter / 空格操作。
  6. 自維護對齊:通過 MutationObserver 等在 React 重渲染、整行替換、切換語言、面板重新註冊後重新對齊;找不到側邊欄時不拋錯。
  7. 兼容性聲明:針對 DSH 0.2.2-rc.1(@deepseek-ai/dsh-client-ui-sidebar@0.2.2-rc.1)驗證;平臺爲 Web / Electron 渲染層。

安裝與啓用

README 要求先確認 DSH 版本爲 0.2.2-rc.1(按該版本側邊欄結構驗證過)。安裝命令須使用資料原文,不要自行拼接其他 CLI 形式。

1、進入你實際使用的 profile 目錄(示例爲桌面 profile):

cd ~/.dsh/profiles/desktop        # 換成你實際使用的 profile 目錄

2、用 pnpm 從 GitHub 安裝:

pnpm add github:Hanice404/dsh-sidebar-plugins-toggle

3、在同一目錄下的 package.json 中,把包名加入 dsh.profile.bundles:

{
  "dsh": {
    "profile": {
      "bundles": [
        "…",
        "dsh-sidebar-plugins-toggle"
      ]
    }
  }
}

4、刷新一次頁面(DSH 右上角刷新,或重新打開應用),箭頭應出現在「插件」行右側。

本地改插件源碼時,可用 link 免重裝(路徑改爲本機絕對路徑):

cd ~/.dsh/profiles/desktop
pnpm add "link:/absolute/path/to/dsh-sidebar-plugins-toggle"

改代碼後刷新頁面即生效。

典型用法

界面示意(來自 README,字符僅用於說明佈局):

展開(默認)

▣  插件                    ▾   ← 點這裏
▣  插件市場
⏱  自動化任務
▤  上下文洞察
⊞  更多

收起

▣  插件                    ▸   ← 再點一下展開
── 工作區 ──

操作只有兩步:點箭頭收起插件區;再點同一箭頭展開。需要長期保持收起時,依賴 localStorage 即可,無需額外配置項(資料未列出其他配置字段)。

卸載

1、從 dsh.profile.bundles 中刪除 dsh-sidebar-plugins-toggle。
2、在同一 profile 目錄執行:

cd ~/.dsh/profiles/desktop && pnpm remove dsh-sidebar-plugins-toggle

實現要點(便於審計)

插件未修改官方 @deepseek-ai/dsh-client-ui-sidebar 包,而是在面板行按鈕尾部追加原生 DOM 宿主節點 data-dsh-pst-host,用 CSS 隱藏除「插件」行以外的 nav 直接子節點。Host 端保持空實現,是爲避免桌面端將啓動失敗的插件條目視爲致命錯誤。若日後官方提供行尾操作插槽,README 稱可能改爲插槽實現並同步文檔。

客戶端插件在當前 DSH 進程對應的渲染環境中運行;安裝前建議閱讀 倉庫源碼 與 MIT 許可證,確認行爲符合你的環境策略。

適用場景與注意

  • 適合:經常在 Harness 里長會話列表、希望臨時收起插件相關入口、又不想改官方 UI 包的用戶。
  • 不適合或需留意:側欄結構若與 0.2.2-rc.1 差異較大,摺疊定位可能失效;軌道模式下本就不提供摺疊。
  • 生態說明:DSH 主張「一切皆插件」;社區目錄 SkillHub 插件頁 與 GitHub 爲獨立分發渠道,與 DeepSeek / 幻方無官方從屬關係。

倉庫另提供 npm test(Chrome/Chromium 端到端,25 項檢查),面向開發者自測,一般使用者按上文安裝即可。

結尾

dsh-sidebar-plugins-toggle 用一行箭頭收放側邊欄插件區,並把狀態留在本機瀏覽器,改動面限於客戶端 DOM 裝飾。需要安裝步驟與示意圖時,可查 SkillHub 目錄 與 GitHub README。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜