dsh-settings-organizer:整理 DSH Web 设置侧栏的一级分组插件

前言

在 DSH 这类“一切皆插件”的环境中,设置入口可能来自 DSH 本体,也可能来自不同插件。随着设置项增多,侧栏里的导航入口也会跟着增加。

baihejiangnan/dsh-settings-organizer 是一个独立的 DSH Web 设置导航整理插件。它只整理设置侧栏的显示结构,不安装或修改其他插件,不改变设置页面本身内容,也不改变插件加载顺序。

这是什么

dsh-settings-organizer 面向 DSH Web profile,在浏览器端运行。

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

核心功能

下面介绍当前版本提供的主要能力:

  • 提供会话、工作区、插件安全、界面扩展等默认一级分组。
  • 首次迁移或安装时自动识别已存在的设置页面。
  • 未识别页面保留,不删除、不隐藏。
  • 一级分组可新建、重命名、删除、隐藏和调整顺序。
  • 可修改二级导航的一级分组归属。
  • 点击一级分组可隐藏或显示所属二级导航。
  • 切换页面后,选中状态随 DSH 原生状态更新。
  • 支持侧栏滚动和安全模式。
  • 设置入口固定为“导航管理”,默认位于 Agent 预设之后。
  • prefers-reduced-motion 下关闭动画。
  • 支持导航配置导入/导出和恢复默认布局。
  • 安全模式可一键恢复原始设置导航。

安装

先确认当前要使用的是 DSH Web profile,再执行下面的安装命令:

dsh plugin --profile web add github:baihejiangnan/dsh-settings-organizer

这个命令会把插件安装到指定的 web profile。插件以当前 dsh 进程权限运行,安装前建议先检查源码与许可证。

典型用法

首次安装

首次打开时,插件会读取当前已渲染的设置页面,并按内置规则归类。用户后续可以在页面归属中继续调整。

页面归属

使用页面归属,可以把已发现的设置页面移动到任意默认分组。

这适合其他插件新增设置入口后,希望把它们纳入现有一级分组的情况。

安全模式

使用“显示原始导航”可以启用安全模式,并恢复原始 DOM 顺序。

安全模式可一键恢复原始设置导航,适合需要临时停止重排时使用。

导入与导出

导入配置会覆盖当前导航配置,建议先导出备份。

导入旧配置时,历史嵌套分组会自动提升为一级分组。

空分组

开启“显示空分组”后,可以看到空的一级分组。

本地检查

如果需要本地开发或检查脚本,可以先执行:

pnpm install

再执行:

node --check lib/client.js

适用场景与注意

这个插件适合希望在 DSH Web 端整理设置侧栏的用户,尤其是已经安装了多个插件、设置入口较多、希望按一级分组管理显示结构的场景。

需要注意以下几点:

  • 插件只整理设置侧栏,不改变设置页面本身内容或插件加载顺序。
  • 自定义分组仅支持一级;二级导航必须由 DSH 或插件实际注册。
  • 页面识别依赖设置入口的可见文本;其他插件修改入口文字后,可能需要手动重新归类。
  • 配置保存在当前 DSH Web profile 中,不自动同步到其他设备或其他 profile。
  • 浏览器 localStorage 键名 dsh-settings-organizer:v2 仅用于旧版本迁移和服务暂不可用时的回退。
  • peerDependencies 包括 @deepseek-ai/dsh-host-webserver ^0.1.0-rc.6@deepseek-ai/dsh-settings ^0.1.0-rc.6schemastery ^3.18.1
  • 真实 DSH Desktop 的窗口适配、截图和交互验收应在目标 profile 中完成。
  • 这是独立项目,与 dsh-plugin-safety-net 无关。
  • 许可证为 MIT。

链接

  • 插件目录页:https://www.skillhub.cn/plugins/baihejiangnan/dsh-settings-organizer
  • GitHub 仓库:https://github.com/baihejiangnan/dsh-settings-organizer
羽毛球分组比赛记分
小程序二维码

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

小夜