前言¶
DSH 插件生態裏,安裝、啓停和版本排查通常要組合命令行、倉庫地址和配置文件。webkong/dsh-plugin-manager 把這一過程放入 Web 設置頁:在 設置 → 插件 → 插件管理 中查看內置與第三方插件,執行安裝、卸載、啓用、停用,並跳轉到第三方插件的 GitHub 倉庫。
它屬於 DSH 插件生態中的社區管理工具,不等價於官方應用商店。
這是什麼¶
webkong/dsh-plugin-manager 由 webkong 維護,許可證爲 MIT。它的一句話定位是:
DSH 插件管理器:在 Web 設置頁列出內置/三方插件,支持安裝、卸載、啓動、停用,並直跳三方插件 GitHub 倉庫。
默認情況下,它管理 web profile。Host 通過 webServer 前綴路由提供 HTTP API,已覈實的路由前綴是:
/pmgr/*
該 API 僅限本機 loopback 訪問。
核心功能¶
查看插件清單¶
插件管理頁會列出插件清單,並展示以下信息:
- 插件狀態
- 來源標籤
- 版本
- GitHub 入口
它支持枚舉:
130+
個內置插件,並識別 profile dependencies 中的第三方插件。
頁面還支持:
- 狀態 Tab
- 來源篩選
- 模糊搜索
- 分組摺疊
安裝與解析¶
支持以下安裝源:
- npm 包名
github:owner/repo#main- 本地路徑
- tarball URL
輸入裸包名時,插件會嘗試智能解析,並列出 npm 包或 GitHub 倉庫候選。
它也支持按關鍵詞搜索 GitHub:
topic:dsh-plugin
用於發現 DSH 插件生態中的插件。
啓停與卸載¶
啓用和停用不是簡單的前端狀態切換。它會向目標 profile 的 cordis.patch.yml 寫入或移除:
disabled
標記,從而實現插件停用或啓動。
卸載插件時,它還會清理殘留的停用條目。
自動化與界面¶
支持可選的自動重啓:
dsh web
重啓後會倒計時刷新頁面。該開關默認關閉。
它支持:
GH_TOKEN
自動發現。
界面提供中文與英文,並跟隨 DSH 語言偏好切換。
安裝與啓用¶
從 GitHub 安裝時,執行:
dsh plugin --profile web add github:webkong/dsh-plugin-manager#main
本地路徑安裝,適合開發場景:
dsh plugin --profile web add /path/to/dsh-plugin-manager
安裝後,重啓:
dsh web
然後進入:
設置 → 插件 → 插件管理
如果需要在裝載行指定管理的 profile,可配置:
profile: web
自動重啓開關可在頁面上切換,配置持久化到:
~/.dsh/dsh-plugin-manager.json
典型用法¶
從 GitHub 安裝插件¶
在插件管理頁執行安裝時,可以使用:
github:owner/repo#main
這種安裝源形式。
例如安裝本插件:
dsh plugin --profile web add github:webkong/dsh-plugin-manager#main
使用裸包名解析¶
輸入裸包名後,插件會嘗試解析該名稱,並列出 npm 包或 GitHub 倉庫候選。
確認候選後,再執行安裝。
搜索 GitHub 插件¶
使用關鍵詞搜索 GitHub 上的 DSH 插件:
topic:dsh-plugin
適合在已有安裝源之外查找可用插件。
直接打開倉庫¶
點插件卡片上的版本號入口,可直接跳轉到對應倉庫,用於查看文檔、star 和代碼。
版本兼容¶
已覈實的兼容關係如下:
插件 0.6.x:兼容 dsh ≥ 0.1.1-rc.2
已驗證 dsh 0.1.1-rc.2 與 0.1.2-alpha.1
插件 ≤0.5.x:兼容 dsh ≤ 0.1.1-rc.x
dsh ≥ 0.1.2 上,舊版 client 可能因 dsh-client-runtime 不存在而無法加載
如果當前 DSH 版本較新,優先確認插件版本與 DSH 版本匹配。
適用場景與注意¶
適合以下場景:
- 希望在 Web 設置頁集中管理 DSH 插件
- 需要查看插件狀態、來源、版本和 GitHub 入口
- 需要在安裝、卸載、啓用、停用之間切換插件
- 希望減少命令行和手工配置之間的來回切換
使用前注意:
- 插件以當前 DSH 進程權限運行
- 安裝前應檢查源碼與許可證
- 安裝、卸載、停用、啓動均在重啓後生效
- 若當前進程 HMR 已激活,停用/啓動可能即時生效
自動重啓默認關閉,可按需在頁面打開。
鏈接¶
GitHub 倉庫:
https://github.com/webkong/dsh-plugin-manager