dsh-hotplug-engine:DSH 插件安装、启停、回滚与审计引擎

前言

DSH 的理念是「一切皆插件」。当插件管理界面、agent 会话或宿主插件需要执行插件变更时,安装、卸载、启停、回滚和审计如果散落在文件修改、命令调用和状态核对里,链路会比较难维护。下面介绍 dsh-hotplug-engine:它把 DSH 的插件管理操作包成服务,供调用方消费。它的定位是执行层,不是市场。

这是什么

dsh-hotplug-engineAnothetLoice 维护,许可证为 MITengines 要求 Node >=22.0.0

它给 DSH 提供插件安装、卸载、启停、回滚和审计能力,可被市场 / 插件管理界面、agent 会话、宿主插件调用。已核实的能力包括:

  • 安装、卸载、启停、回滚、审计
  • 改 profile 的 cordis.patch.yml,loader 反射后即时生效(mode:'hot');未反射则提示重启
  • 支持流式 / 块式 YAML patch 行启停
  • 提供 REST 写接口 install / uninstall / enable / disable / rollback
  • 提供 REST 读接口 snapshot / status / audit / operations / events(SSE)
  • 提供 hotplug_status / hotplug_install / hotplug_uninstall / hotplug_toggle / hotplug_rollback / hotplug_audit 工具
  • 支持 DSH 0.1.1-rc.2,并带 supportReport() 版本支持矩阵
  • 显式 dshPath 时走官方 dsh plugin CLI,否则 pnpm 直装 / 回退
  • DSH 默认禁用行不可修改:UI 显示锁定提示,API 返回 HOTPLUG.PATCH.DEFAULT_DISABLED
  • 客户端面板提供查看、启停、回滚、审计的最小管理面板

它明确不做:

  • 不是市场:没有目录、搜索、榜单、推荐;spec 由调用方提供,引擎不猜
  • 不改官方机制:HMR、loader、patch 语义都是官方的,只消费,不重写
  • 不另存状态:以官方组合树为唯一真源,引擎只投影和差分
  • 不带安装界面:UI 只有最小管理面板,没有 spec 输入

安装与启用

先确认环境满足 Node >=22.0.0,并按目标 DSH 版本准备 profile。常用安装命令:

pnpm --dir <profile-dir> add dsh-hotplug-engine
# 或
dsh plugin add dsh-hotplug-engine

安装或卸载后,重启 profile;bundle 包场景下,新客户端面板刷新页面加载。

安装路径上:若显式配置 dshPath,引擎走官方 dsh plugin CLI;否则使用 pnpm 直装 / 回退。

版本支持上:目标是 DSH 0.1.1-rc.2,并带 supportReport() 版本支持矩阵;0.1.0-rc.6 为 legacy,不再作为验收目标。

安全注意:插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。

典型用法

宿主插件注入

宿主插件可以注入服务:

inject: ['hotplugEngine']

随后调用 ctx.hotplugEngineinstall / rollback / enable 等方法。Promise resolve 即操作完成。

REST 接口

REST 前缀为 /api/dsh-hotplug,同源。

写接口:

install
uninstall
enable
disable
rollback

读接口:

snapshot
status
audit
operations
events(SSE)

读接口可供面板、agent 或宿主插件读取状态、审计、操作记录和事件流。

agent 工具

agent 会话中可使用以下工具:

hotplug_status
hotplug_install
hotplug_uninstall
hotplug_toggle
hotplug_rollback
hotplug_audit

写工具走审批。

DSH 默认禁用行

DSH 默认禁用的行位于 bundle 层,没有引擎可改的 patch 行。尝试修改或启停这类行时,UI 显示锁定提示(文案为「默认禁用」),API 返回 HOTPLUG.PATCH.DEFAULT_DISABLED

适用场景与注意

适合:

  • 插件管理界面需要统一调用安装、启停、回滚和审计
  • agent 会话需要通过工具完成受控插件变更
  • 宿主插件需要在 ctx 上调用 hotplugEngine
  • 需要查看状态、审计、操作记录和 events(SSE)

不太适合:

  • 期望它提供目录、搜索、榜单、推荐等市场能力
  • 期望它修改官方 HMR、loader、patch 语义
  • 期望它提供 spec 输入界面

注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证
  • REST 为同源接口,写操作会改变插件状态,接入时应按自身权限策略控制调用方
  • 社区目录是独立站点,与 DeepSeek / 幻方不存在官方从属关系,不要把它理解成官方应用商店

链接

GitHub:https://github.com/AnothetLoice/dsh-hotplug-engine

目录页线索:https://www.skillhub.cn/plugins/AnothetLoice/dsh-hotplug-engine(该 URL 在已核实资料中未完全确认,建议以 GitHub 仓库信息核对)

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

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

小夜