前言¶
DSH 的插件體系以「一切皆插件」爲目標,插件數量增多後,安裝過程往往不再只是一條命令:需要確認插件來源、選擇安裝位置、把它註冊到當前 profile,再驗證結果是否可用。對於 Web GUI 用戶來說,如果每次都要手動切換終端、查倉庫、改配置,體驗會比較割裂。
dsh-plugin-installer 是 zhang66633 維護的一個 DSH 插件包,把「插件目錄瀏覽」和「安裝排障技能」放在同一個包中:在 Web GUI 的插件商店頁籤裏瀏覽插件,點擊安裝後由當前會話 agent 執行安裝流程。下面介紹它的定位、安裝方式和適用場景。
這是什麼¶
dsh-plugin-installer 是 DSH 的插件商店 + 安裝排障技能一體包。
它包含兩部分:
1、Web GUI「插件商店」頁籤:用於瀏覽和搜索插件目錄,查看名稱、介紹、原鏈接等信息。
2、內置的 dsh-plugin-installer 技能:作爲安裝後端引擎,輔助 agent 校驗來源、選擇安裝路徑、註冊到 profile、校驗安裝結果。
它面向希望從 Web GUI 發現並安裝 DSH 插件的用戶,也適合希望讓 agent 參與安裝和排障流程的開發者。該插件許可證爲 MIT。
核心功能¶
下面列出的能力均來自插件資料:
1、在 Web GUI 中提供「插件商店」頁籤,可瀏覽和搜索插件目錄。
2、點擊安裝會先請求確認,然後向本地 /plugin-store/install 路由提交 JSON 請求。
3、實際安裝由當前會話 agent 執行,內置技能負責校驗來源、選擇安裝路徑、註冊到 profile、校驗安裝結果。
4、支持 dsh 0.1.0-rc.6、Windows / macOS / Linux、Node ≥ 22.19,並面向 Web GUI(dsh --profile web)。
5、提供刷新按鈕,用於重新計算插件目錄的已安裝 / 可更新狀態。
6、包內附帶 data/store.json 目錄快照;安裝請求只提交插件名和會話 ID,不包含其他配置、環境變量或密鑰。
7、支持 Route A 完整插件與 Route B 僅技能兩種使用方式。
安裝與啓用¶
Route A:完整插件¶
完整插件模式包含 Web GUI 插件商店頁籤和安裝助手技能。官方資料給出的安裝命令是:
dsh plugin --profile web add dsh-plugin-installer
執行後,重啓 dsh web,再打開任意 session,插件商店頁籤會出現在視圖環中。
本地開發場景下,如果還沒走 npm 發佈流程,也可以通過 link:<repo path> 依賴並運行:
pnpm install
Route B:僅技能¶
如果只需要安裝助手技能,不需要 Web GUI 商店頁籤,可以把倉庫克隆到 DSH skills 目錄:
git clone --depth 1 https://github.com/zhang66633/dsh-plugin-installer ~/.dsh/skills/dsh-plugin-installer
這種方式適合非 GUI profile,或只需要技能能力的場景。
禁用與卸載¶
禁用插件時,從 dsh.profile.bundles 中移除 dsh-plugin-installer。
卸載時,從 profile package.json 中移除依賴和 bundle 條目,然後運行:
pnpm install
Route B 的卸載方式是刪除技能目錄:
~/.dsh/skills/dsh-plugin-installer
典型用法¶
Route A 的完整流程可以按下面步驟理解:
1、先安裝插件:
dsh plugin --profile web add dsh-plugin-installer
2、重啓 Web 服務:
dsh web
3、打開任意 session,在視圖環中找到「插件商店」頁籤。
4、搜索插件,例如 vision。
5、點擊安裝,確認提示後由當前會話 agent 完成安裝。
6、安裝完成後重啓 dsh web。
資料中給出的最小復現示例是:
1、搜索 modlens。
2、點擊安裝。
3、確認提示。
4、等待 agent 報告成功。
5、重啓 dsh web。
6、發送圖片測試 OCR。
目錄刷新與數據邊界¶
目錄數據以 data/store.json 快照形式隨包附帶。頁面刷新按鈕用於重新計算插件目錄的已安裝 / 可更新狀態,不是用於引入新的配置或憑據。
宿主進程對 bundled data/store.json 只讀;catalog 和安裝路由僅綁定本地 web 服務。點擊安裝後,頁面只向本地 /plugin-store/install 路由提交 JSON 請求,請求內容是插件名和會話 ID,不包含其他配置、環境變量或密鑰。
目錄數據本身更新時,維護者可以運行 radar repo 的 scripts/refresh-catalog.ps1,或等待每日任務;普通用戶可以在維護者發佈時升級 npm 包。
適用場景與注意¶
適合以下場景:
1、希望從 DSH Web GUI 瀏覽插件目錄。
2、希望把插件安裝交給當前會話 agent 處理。
3、希望在非 GUI profile 中只使用安裝助手技能。
4、希望安裝流程每一步可見、可停止。
使用前需要注意:
1、安裝觸發後,agent 可能讀寫 dsh profile 和插件目錄,並可訪問 npm / GitHub。
2、該過程會以當前 dsh 進程權限運行,因此安裝前應檢查源碼與許可證。
3、插件聲明無遙測、無分析、無憑據訪問。
4、安全問題應通過 GitHub security advisory 私下報告,而不是公開 issue。
5、Route A 面向 Web GUI;非 GUI profile 更適合 Route B。
資源¶
插件目錄頁:https://www.skillhub.cn/plugins/zhang66633/dsh-plugin-installer
GitHub 倉庫:https://github.com/zhang66633/dsh-plugin-installer