dsh-hotplug-engine:DSH 插件安裝、啓停、回滾與審計引擎

前言

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 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.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 倉庫信息覈對)

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

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

小夜