dsh-panel-control:側欄頂欄入口的排序、隱藏與分組

前言

DeepSeek Harness(DSH)側欄頂部有一列全局面板導航:插件、插件市場、自動化任務、靈樞、工作區管理等。插件裝得越多,這一列越長。官方佈局裏導航列表佔滿剩餘高度時,下方的會話與工作區區域可能被壓到無法滾動(社區討論 #12083)。若你只想調整入口順序、臨時隱藏某幾項,或按「創作 / 系統」之類分組展示,單靠默認 UI 往往不夠。

下面介紹社區插件 dsh-panel-control(維護者 QIUZAIYOU,GitHub:QIUZAIYOU/dsh-panel-control)。它在不改宿主源碼的前提下,管理側欄頂欄入口的排序、可見性、分組與摺疊,並把佈局持久化在本機;同時給導航列表加上限高與滾動,爲下方區域保留最小高度。

這是什麼

dsh-panel-control 面向 DSH 桌面 profile 用戶:接管側欄頂部那一列面板入口的展示方式。排序、隱藏、分組隻影響本機這份安裝的導航呈現,不會卸載插件,也不會改寫各插件自己的配置。配置寫在 Host 側 ~/.dsh/panel-control/prefs.json(~ 對應當前 profile 的用戶目錄),不跟隨單個工作區。

管理界面有兩處入口:側欄導航裏的「面板管理」行,以及 設置 → 面板管理(同一套界面嵌在設置頁)。「面板管理」自身不可隱藏,避免把自己鎖在門外;宿主未接管的節點(例如「更多」)始終排在最後。

核心功能

排序與隱藏

  1. 排序:拖動行首把手任意換位;支持一鍵按名稱 A→Z,以及一鍵恢復註冊時的默認順序。
  2. 隱藏:行右側眼睛圖標切換可見性。隱藏項仍留在管理列表裏,可隨時放回;不影響插件是否加載。

分組與摺疊

  1. 分組:新建命名分組(如「創作」「系統」),把入口分進去。側欄在組與組之間插入帶標題的分隔線;組的先後順序由設置裏分組列表的拖動決定,與插件註冊順序無關。
  2. 分組摺疊:點擊分組標題收起該組,只留標題與計數;Enter / 空格同樣可切換,狀態寫入配置。側欄收成圖標條時不顯示標題,也不折疊。

側欄佈局兜底

插件通過 data-dpc-list、data-dpc-unbounded、data-dpc-region 等屬性注入 CSS:導航列表 overflow-y: auto 並設高度上限(默認與 45vh 等相關檔位),下方會話/工作區區域保留最小高度。設置頁「側欄佈局」卡片可調高度兜底開關、35 / 45 / 55 / 不限 四檔上限,以及分組摺疊總開關與「全部收起 / 全部展開」。

自動分類(可選)

使用當前 profile 默認模型讀取入口名稱,自動分成 2–4 組;只處理尚未見過的入口,不會打亂你已排好的順序。可隨時手動「重新分類」。分類會把入口名稱發給模型服務商——不需要時可關掉開關,分組仍可純手工編輯。分類結果只是建議,可整體重排或改名。

安裝與啓用

推薦從 npm 安裝到當前使用的 profile 目錄(示例路徑爲 Windows 桌面 profile,Linux/macOS 請將路徑換成你的 ~/.dsh/profiles/<name>):

cd C:/Users/<you>/.dsh/profiles/desktop
npm install dsh-panel-control@0.7.2

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

"dsh": { "profile": { "bundles": [ ..., "dsh-panel-control" ] } }

npm install 會把包(含 client.js 與 cordis.patch.yml)放進 profile 的 node_modules,無需再建目錄鏈接。裝好後需要一次頁面重載(界面刷新或重啓 DSH)纔會加載新 bundle。

本地開發時,可用 link: 指向工作副本並建立目錄聯接(README 以 Windows mklink /J 爲例;免管理員權限場景見倉庫說明)。

典型用法

  1. 打開 設置 → 面板管理(或側欄「面板管理」),在列表裏拖動把手調整入口順序;對暫時不用的入口點眼睛隱藏。
  2. 新建分組並拖入入口,回到側欄查看帶標題的分隔線;需要時可摺疊某一組,只保留標題與計數。
  3. 導航項很多時,在「側欄佈局」裏開啓高度兜底並選擇合適上限,確認下方會話/工作區列表仍可滾動。
  4. 若希望快速分桶,可開啓自動分類,再按需改名、重排或「重新分類」。

存儲說明:頁面 origin 隨 Host loopback 端口變化,localStorage 可能看起來每次清空;真實數據在 Host 側 prefs.json,讀不到 Host 時纔回退到鏡像。

適用場景與注意

適合誰:長期安裝較多 DSH 插件、希望側欄頂欄可讀性更好,或需要分組摺疊與佈局兜底的智能體 / 工具開發者。

運行與信任:插件以當前 DSH 進程權限運行;自動分類會向 profile 配置的模型服務商發送入口名稱。安裝前請閱讀 倉庫源碼 與 MIT 許可證,自行判斷是否滿足環境要求。

邊界:實現依賴宿主側欄 DOM(如 [class*="panelList"] 與面板按鈕的 aria-label),官方側欄大改版時可能需要插件跟進。插件只改 style.order、style.display 與 data-dpc-* 屬性,不移動 React 節點。

排錯:側欄沒有「面板管理」時先重載頁面;仍無則查看 ~/.dsh/panel-control/host.log 與 client.log。插件管理顯示運行但界面無變化,多半是舊 bundle revision,重載即可。

結尾

dsh-panel-control 把 DSH 側欄頂欄的全局入口當成可編排的導航:排序、隱藏、命名分組與摺疊本地持久化,並緩解導航過長時下方列表被壓扁的問題。社區目錄頁:skillhub.cn/plugins/QIUZAIYOU/dsh-panel-control;源碼與完整說明:github.com/QIUZAIYOU/dsh-panel-control。

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

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

小夜