DSH 的设计理念是「一切皆插件」。当你在本地安装了多个自定义插件后,查看状态、临时关闭某个功能或彻底移除插件,通常需要重启服务。dsh-plugin-manager 解决了这个问题。这是一个 Web 管理界面插件,提供插件列表、启用/禁用开关以及删除功能,支持热插拔,操作即时生效。
是什么¶
该插件由 Yolotd 维护。它本身不提供业务逻辑,而是作为管理器,让你在 DSH Web 设置页面的「自定义插件」模块中管理其他已安装插件。
核心功能¶
- 插件列表:展示插件名称、来源徽标(自建/第三方)及中文简介。
- 热插拔开关:一键启用或禁用,热插拔即时生效,服务不重启、不崩溃。
- 安全删除:点击删除后需二次确认,随后移除依赖声明与运行条目。
- 自动刷新与自保护:操作后自动轮询刷新列表;关闭管理器自身需要二次确认。
安装与启用¶
在 Web Profile 中执行以下命令进行安装:
dsh plugin --profile web add git+https://github.com/Yolotd/dsh-plugin-manager.git
安装完成后,重启 DSH 服务,在 Web 设置页的「自定义插件」模块即可看到该管理器。
典型用法¶
- 启用/禁用:点击开关,热插拔即时生效(管理器自身除外,关闭需确认)。
- 删除:点击删除 → 确认删除 → 移除依赖声明与运行条目。
- 刷新:手动重新拉取列表。
工作原理¶
- Host 半:提供
/manager/*HTTP 路由,通过 cordis loader 的create、update、remove方法实现热插拔,manifest 负责跨重启持久化。 - Client 半:注册官方
settings.section槽位,集成进官方设置面板。
注:早期版本曾在操作后
process.exit(42),会直接杀死单进程部署的 DSH 服务;现改为 loader 热插拔,进程永不退出。
适用场景与注意¶
该插件适合需要频繁调整插件配置或调试的 DSH 用户。
注意:该插件以当前 DSH 进程权限运行,安装前请检查源码与许可证。
短结尾¶
dsh-plugin-manager 让 DSH 的插件管理更加直观和可控。源码与目录链接如下: