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
羽毛球分组比赛记分
小程序二维码

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

小夜