跳到主要内容

dsh-settings-nav-fold

已验证

dsh-settings-nav-fold · v1.0.1 · MIT · Web 界面

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.

安装

dsh plugin add dsh-settings-nav-fold

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

标签

说明文档

dsh-settings-nav-fold

English | 中文

给 DeepSeek Harness 设置面板「减负」:插件装得越多,设置页侧边栏的入口就越乱。本插件把所有插件/扩展的设置入口折叠成一个可展开的 插件入口 分组行,就放在系统配置下方,带下拉箭头,点击即展开/收起。

Awesome DSH Plugin

功能

  • 分组行放在系统配置正下方 —— 通用设置 / 模型 / 插件 / 预设保持平铺;其余入口(插件、扩展、附加页面)全部折叠进「插件入口 (N) ▾」。
  • 一键展开/收起 —— 点击分组行,插件入口在其下方展开;再点即收起。
  • 自动更新 —— 计数与折叠位置实时跟随 settings.section 台账重算,插件注册/卸载设置页时自动增减,无需任何配置。
  • 当前页不消失 —— 正在查看的插件设置页即使处于折叠状态也保持可见。
  • 跟随界面语言 —— 中文 / English。
  • 纯浏览器端插件 —— 无宿主端代码,host 进程零负担。

安装

dsh plugin --profile web add github:zhengjy01/dsh-settings-nav-fold

重启 dsh 后打开设置面板(侧边栏底部齿轮),导航即变为「系统配置各项 + 插件入口 (N) ▾」分组行。

原理

设置导航列表由面板内部渲染、并非 Slot,因此插件:

  1. 读取 settings.section 台账(ctx.slots.entries),按与面板完全一致的排序算法计算行序;
  2. 把分组行注入到导航列表 DOM 中最后一个系统配置项之后(幂等:位置正确时不改动 DOM);
  3. data-snav-plugin 标记插件按钮、data-snav-folded 标记列表,通过一小段样式表折叠(当前激活的 aria-current 行保持可见);
  4. MutationObserver 跟随台账变化与面板重渲染,插件增删时分组始终正确。

样式、订阅、观察器与注入行全部挂在插件 fiber 上,停止或卸载插件时自动清理、完全还原。

卸载

dsh plugin --profile web remove dsh-settings-nav-fold

License

MIT