dsh-sidebar-tidy:DSH 側欄收納插件

前言

DeepSeek Harness (DSH) 採用插件化架構,側欄通常會加載大量面板圖標(插件、自動化任務、上下文洞察等)。默認佈局下,這些圖標會佔據固定高度,導致「工作區」(會話列表)被擠壓,視覺重心下移。

dsh-sidebar-tidy 插件通過收納面板圖標至側欄底部的可摺疊入口,將「新會話」置於頂部,「工作區」居中顯示,從而恢復側欄的整潔與核心功能的可見性。

核心功能

  • 收納與佈局:將面板圖標收進側欄底部的摺疊入口,讓新會話置頂、工作區居中。
  • 交互方式:提供三種展開方式(懸停展開、懸停「更多」、點擊展開),支持鍵盤操作。
  • 狀態指示:摺疊狀態下,若被隱藏的面板處於選中狀態,入口圖標右上角會顯示指示點。
  • 定製化:支持在設置中逐個開關入口,將其移出摺疊區或保留在摺疊區內。
  • 兼容性:跟隨 DSH 語言與原生主題樣式。

安裝與啓用

本插件通過手動鏈接方式安裝。請將倉庫放置在本地目錄,並執行以下步驟:

  1. 放置倉庫:將插件源碼放置到任意目錄,例如 ~/dsh-plugins/dsh-sidebar-tidy。
  2. 鏈接到 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
  1. 配置 package.json:
    在 ~/.dsh/profiles/<profile>/package.json 中添加依賴和 bundle:
    {
      "dependencies": {
        "dsh-sidebar-tidy": "link:<源碼目錄>"
      },
      "dsh.profile.bundles": [
        "dsh-sidebar-tidy"
      ]
    }
  1. 生效:刷新頁面即可生效(desktop profile 通常無需重啓;若環境特殊,可重啓 DSH)。

使用方法

安裝完成後,進入 DSH 的設置頁面。

  1. 切換展開方式:
    在「側欄收納」設置項中,選擇交互模式:
    • 懸停展開(默認):鼠標移入「⋯ 更多」行即展開,移開後約 220ms 收起。
    • 懸停「更多」:只有指針靠近「更多」文字或圖標時才展開,掃過行內其他位置不展開。
    • 點擊展開:點擊該行切換展開/收起狀態,支持「記住展開狀態」。
  2. 管理摺疊區內容:
    在同一設置頁下方,可以查看當前所有面板圖標。逐個開關右側的按鈕,可以將對應的入口移出摺疊區,使其回到新會話下方、工作區上方,不再參與摺疊。

技術實現與限制

  • 依賴機制:插件利用 CSS order 屬性調整 DOM 元素順序,使用 display: contents 拆解圖標組的外殼,從而實現逐行排序與摺疊。
  • 兼容範圍:僅處理 sidebar.panellist 面板圖標,不影響設置行等其它側欄元素。
  • 潛在風險:依賴 display: contents,若上游 DSH 爲面板組添加了新建包含塊或裁剪相關的樣式(如 transform、filter、overflow),移出功能可能失效。
  • 清理機制:卸載時會自動移除插入的樣式表、事件監聽與 localStorage 鍵。

結語

dsh-sidebar-tidy 是一個輕量級工具,旨在解決 DSH 側欄圖標過多導致工作區擁擠的問題。通過摺疊非核心面板,它幫助開發者保持界面整潔,聚焦於會話與上下文管理。

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

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

小夜