dsh-settings-tidy:把 DSH 設置頁裏的插件入口收成一塊

前言

在 DeepSeek Harness(DSH)裏,設置頁左側導航會隨你安裝的插件變長:每多一個帶「設置」入口的插件,側邊就多一行。原生區塊(賬號、通用、模型等)和各類插件設置混在同一列表裏,裝得多了就不太好掃。社區插件 dsh-settings-tidy(維護者 Twelve212,客戶端類)做的是一件事:在設置裏增加統一的「插件設置」總入口,把其餘插件的設置項收進去,原插件代碼不必改。

這是什麼

dsh-settings-tidy 把每個 DSH 插件在設置頁註冊的入口,摺疊進一個名爲「插件設置」的分區;點開總入口可列出所有插件設置頁,再點某一項會跳回該插件原來的設置界面。README 表述爲:Collapse every plugin’s settings entry into one tidy “Plugins” section — so the sidebar stops growing.

當前 package.json 版本爲 0.1.0,許可證 MIT。DSH 社區目錄頁:SkillHub - dsh-settings-tidy;源碼與說明:GitHub - Twelve212/dsh-settings-tidy。

它解決什麼問題

裝了幾個插件之後,設置頁左側常見形態類似:

賬號與餘額
通用設置
模型
內置插件
Agent 預設
──────────  ← 原生設置到此爲止
聲音提醒
快照
插件市場
本地模型
側邊卡片
Vision Router
起子插件設置
...

每裝一個插件就多一行。啓用本插件後,下面整段收進一個入口,並在原生設置與插件區之間用分隔線區分:

賬號與餘額
通用設置
模型
內置插件
Agent 預設
══════════════ ← 一條梭形分隔線
插件設置        ← 點進去是全部插件的列表

點「插件設置」會列出所有插件頁;點任意一項仍進入原頁面——原插件一行代碼都不用改。

核心功能(實現方式)

插件不重寫其他組件的設置 UI,大致三步:

  1. 註冊分區「插件設置」,列出 ctx.slots.entries('settings.section') 中除宿主原生 5 項以外的全部條目。
  2. 點擊轉發:調用設置外殼 store 的 actions.openSection(id),跳到對應原頁面。
  3. 隱藏原入口:用 MutationObserver 監聽設置彈層,導航出現後把插件項設爲 display:none,並在總頁繪製分隔線。

圖標、事件、狀態仍在原插件側,只是側欄入口位置變了。

安裝與啓用

在 DSH profile 目錄下,可用 CLI 安裝(命令來自官方 README):

# 在 DSH profile 目錄下
dsh plugin --profile desktop add dsh-settings-tidy

也可手動:用 pnpm add file:/path/to/dsh-settings-tidy 裝包,在 profile 的 package.json 裏向 dsh.profile.bundles 追加 "dsh-settings-tidy",然後重啓 DSH。

本插件屬於客戶端 bundle,在與你運行 DSH 的同一進程/Web GUI 環境中生效;安裝前建議瀏覽倉庫源碼並確認 MIT 許可證是否符合你的合規要求。

兼容性與環境

項 要求
DSH >=0.2.0-rc.2 <0.3.0(README 寫明含 0.2.1-rc.3 實測通過;package.json 另列 0.2.1-rc.1~rc.3)
Node >=20.18
平臺 Web GUI / 桌面版

典型用法

安裝並重啓 DSH 後,打開設置即可看到「插件設置」入口,無需額外配置文件或環境變量。使用方式即爲:從總入口瀏覽插件列表,再進入某一插件的原有設置頁進行操作。

適用場景與注意

適合:經常在 DSH 裏裝多個帶設置頁的社區插件、希望側欄保持「原生在上、插件在下」結構的開發者。

已知限制(來自 README):

  • 依賴設置頁導航的 DOM 結構(button[class*="_navCell"])。DSH 大改版可能需要適配。
  • 隱藏靠 display:none,不是從 DOM 刪除;若有插件假定「導航項必須可見」,可能衝突。
  • 分隔線爲 border-image 漸變(視覺梭形),不是幾何變細。

SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係;插件以當前 DSH 進程權限運行,安裝前請自行審閱源碼。

結尾

dsh-settings-tidy 用一個小型客戶端插件把設置側欄裏的插件入口收成一塊,原生設置與插件設置分層展示,且不要求各插件改代碼。若你在 0.2.x 系的 DSH 上插件越裝越多,可以按上文命令安裝試用。

  • 目錄頁:https://www.skillhub.cn/plugins/Twelve212/dsh-settings-tidy
  • 倉庫:https://github.com/Twelve212/dsh-settings-tidy
羽毛球分组比赛记分
小程序二维码

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

小夜