DSH 的設計理念是「一切皆插件」。當你在本地安裝了多個自定義插件後,查看狀態、臨時關閉某個功能或徹底移除插件,通常需要重啓服務。dsh-plugin-manager 解決了這個問題。這是一個 Web 管理界面插件,提供插件列表、啓用/禁用開關以及刪除功能,支持熱插拔,操作即時生效。
是什麼¶
該插件由 Yolotd 維護。它本身不提供業務邏輯,而是作爲管理器,讓你在 DSH Web 設置頁面的「自定義插件」模塊中管理其他已安裝插件。
核心功能¶
- 插件列表:展示插件名稱、來源徽標(自建/第三方)及中文簡介。
- 熱插拔開關:一鍵啓用或禁用,熱插拔即時生效,服務不重啓、不崩潰。
- 安全刪除:點擊刪除後需二次確認,隨後移除依賴聲明與運行條目。
- 自動刷新與自保護:操作後自動輪詢刷新列表;關閉管理器自身需要二次確認。
安裝與啓用¶
在 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 的插件管理更加直觀和可控。源碼與目錄鏈接如下: