dsh-settings-nav-fold
Verifieddsh-settings-nav-fold · v1.0.1 · MIT · Web UI
Fold plugin/extension settings entries in the DSH settings panel into one collapsible "Plugin entries" group row — one click to expand or collapse, auto-updating as plugins come and go.
Install
dsh plugin add dsh-settings-nav-fold Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Readme
dsh-settings-nav-fold
English | 中文
给 DeepSeek Harness 设置面板「减负」:插件装得越多,设置页侧边栏的入口就越乱。本插件把所有插件/扩展的设置入口折叠成一个可展开的 插件入口 分组行,就放在系统配置下方,带下拉箭头,点击即展开/收起。
功能
- 分组行放在系统配置正下方 —— 通用设置 / 模型 / 插件 / 预设保持平铺;其余入口(插件、扩展、附加页面)全部折叠进「插件入口 (N) ▾」。
- 一键展开/收起 —— 点击分组行,插件入口在其下方展开;再点即收起。
- 自动更新 —— 计数与折叠位置实时跟随
settings.section台账重算,插件注册/卸载设置页时自动增减,无需任何配置。 - 当前页不消失 —— 正在查看的插件设置页即使处于折叠状态也保持可见。
- 跟随界面语言 —— 中文 / English。
- 纯浏览器端插件 —— 无宿主端代码,host 进程零负担。
安装
dsh plugin --profile web add github:zhengjy01/dsh-settings-nav-fold
重启 dsh 后打开设置面板(侧边栏底部齿轮),导航即变为「系统配置各项 + 插件入口 (N) ▾」分组行。
原理
设置导航列表由面板内部渲染、并非 Slot,因此插件:
- 读取
settings.section台账(ctx.slots.entries),按与面板完全一致的排序算法计算行序; - 把分组行注入到导航列表 DOM 中最后一个系统配置项之后(幂等:位置正确时不改动 DOM);
- 用
data-snav-plugin标记插件按钮、data-snav-folded标记列表,通过一小段样式表折叠(当前激活的aria-current行保持可见); - 用
MutationObserver跟随台账变化与面板重渲染,插件增删时分组始终正确。
样式、订阅、观察器与注入行全部挂在插件 fiber 上,停止或卸载插件时自动清理、完全还原。
卸载
dsh plugin --profile web remove dsh-settings-nav-fold