前言¶
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 倉庫信息覈對)