dsh-plugin-manager:DSH 自定义插件热插拔管理

DSH 的设计理念是「一切皆插件」。当你在本地安装了多个自定义插件后,查看状态、临时关闭某个功能或彻底移除插件,通常需要重启服务。dsh-plugin-manager 解决了这个问题。这是一个 Web 管理界面插件,提供插件列表、启用/禁用开关以及删除功能,支持热插拔,操作即时生效。

是什么

该插件由 Yolotd 维护。它本身不提供业务逻辑,而是作为管理器,让你在 DSH Web 设置页面的「自定义插件」模块中管理其他已安装插件。

核心功能

  1. 插件列表:展示插件名称、来源徽标(自建/第三方)及中文简介。
  2. 热插拔开关:一键启用或禁用,热插拔即时生效,服务不重启、不崩溃。
  3. 安全删除:点击删除后需二次确认,随后移除依赖声明与运行条目。
  4. 自动刷新与自保护:操作后自动轮询刷新列表;关闭管理器自身需要二次确认。

安装与启用

在 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 的插件管理更加直观和可控。源码与目录链接如下:

羽毛球分组比赛记分
小程序二维码

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

小夜