Back to home@baihejiangnan

dsh-settings-organizer

Customizable hierarchical DSH settings navigation organizer

Stars
1
Language
JavaScript
Created
Aug 18, 2026
Updated
Aug 18, 2026
GitHub repo

Introduction

dsh-settings-organizer

独立的 DSH Web 设置导航整理插件。它不属于插件安全网,不安装或修改其他插件,只整理设置侧栏的显示结构。

插件仅运行在浏览器端:通过 DSH 的 settings.section 插槽添加管理页面,并使用 MutationObserver 适配设置侧栏的动态渲染。插件不会移动、包裹或克隆 DSH 原生导航节点。

界面预览

导航管理

管理一级分组,并为 DSH 或插件提供的二级导航设置页面归属。

导航管理与页面归属

分组导航

一级分组可以独立展开或折叠,二级导航保留 DSH 原生页面交互。

展开后的分组导航

暗色模式

导航结构与管理界面跟随 DSH 的浅色或暗色外观。

暗色模式下的设置导航

当前版本提供:

  • 会话、工作区、插件安全、界面扩展等默认一级分组;
  • 设置页面首次迁移时自动识别已存在的页面;
  • 未识别页面保留,不删除、不隐藏;
  • 一级分组可新建、重命名、删除、隐藏和调整顺序;
  • 二级导航来自 DSH 和插件注册的设置页面,可修改其一级分组归属;
  • 点击一级分组可隐藏或显示所属二级导航,实现稳定的折叠效果;
  • 当前二级导航保持突出,切换页面后选中状态随 DSH 原生状态更新;
  • 侧栏滚动和安全模式;
  • 设置入口固定为“导航管理”,默认位于 Agent 预设之后;
  • prefers-reduced-motion 下关闭动画;
  • 页面归属编辑:把已发现的设置页面移动到任意默认分组;
  • 导航配置导入/导出和恢复默认布局;
  • 安全模式可一键恢复原始设置导航。
dsh plugin --profile web add github:baihejiangnan/dsh-settings-organizer

这是独立项目,与 dsh-plugin-safety-net 无关。

数据与行为

  • 配置保存在当前 DSH Web profile 中,重启启动器或重建浏览器窗口后仍会恢复;
  • 浏览器 localStorage(键名 dsh-settings-organizer:v2)仅用于旧版本迁移和服务暂不可用时的回退;
  • 配置包括一级分组、页面归属、折叠状态、是否显示空分组和安全模式状态;
  • 首次打开时会读取当前已渲染的设置页面,并按内置规则归类;
  • 未识别页面会归入“其他扩展”,不会被删除或隐藏;
  • “显示原始导航”会启用安全模式,停止重排并恢复原始 DOM 顺序;
  • 导入配置会覆盖当前导航配置,建议先使用“导出”备份。
  • 导入旧配置时,历史嵌套分组会自动提升为一级分组。

首次安装时会读取已经存在的设置页面并按默认规则归类。无法识别的页面不会被删除;用户可以在“页面归属”中重新选择分组。空分组默认不显示,但可以开启“显示空分组”。

已知限制

  • 页面识别依赖设置入口的可见文本;如果其他插件修改入口文字,可能需要手动重新归类;
  • 插件只整理设置侧栏,不会改变设置页面本身的内容或插件加载顺序;
  • 自定义分组仅支持一级;二级导航必须由 DSH 或插件实际注册;
  • 配置随当前 DSH profile 保存,不会自动同步到其他设备或其他 profile;
  • 真实 DSH Desktop 的窗口适配、截图和交互验收应在目标 profile 中完成。

开发

pnpm install
node --check lib/client.js

客户端入口为 lib/client.js,插件 host 入口为 lib/index.js(当前为空实现)。

License

MIT