前言¶
DSH 的理念是「一切皆插件」。当插件管理界面、agent 会话或宿主插件需要执行插件变更时,安装、卸载、启停、回滚和审计如果散落在文件修改、命令调用和状态核对里,链路会比较难维护。下面介绍 dsh-hotplug-engine:它把 DSH 的插件管理操作包成服务,供调用方消费。它的定位是执行层,不是市场。
这是什么¶
dsh-hotplug-engine 由 AnothetLoice 维护,许可证为 MIT,engines 要求 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 pluginCLI,否则 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.hotplugEngine 的 install / 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 仓库信息核对)