Harness Plugin Store Optimized:dsh-plugin-hub 0.1.6 的定製優化版

前言

DSH 的理念是「一切皆插件」。在 web profile 中,插件商店通常用來瀏覽、搜索和安裝插件。dsh-plugin-hub 0.1.6 已經提供圖形化插件商店,包括本地評分評論、依賴拓撲圖、操作審計日誌、插件開發腳手架、安裝前質量門與安全掃描、健康度排行榜和信任徽章。

下面介紹 yiqizhuapangxiema/harness-plugin-store-optimized。它是 dsh-plugin-hub 0.1.6 的定製優化版,主要處理插件下載目錄、bundle 層入口 id 衝突、pnpm 尋路、重啓提示和若干上游 bug。

這是什麼

一句話定位:dsh-plugin-store-optimized 是面向 DSH web profile 的插件商店定製版。

  • 倉庫:yiqizhuapangxiema/harness-plugin-store-optimized
  • package.json 包名:dsh-plugin-store-optimized
  • 維護者:yiqizhuapangxiema
  • 許可證:MIT;上游許可見 LICENSE,二次開發需保留原作者版權聲明
  • 解決的問題:可配置插件下載目錄、bundle 層入口 id 衝突檢測、pnpm 自動尋路、準確的“重啓生效”提示、啓用超時透傳真實錯誤、scoped 包支持和上游 bug 修復

核心功能

可配置插件下載目錄

在設置頁或全局 DSH 設置中新增「插件安裝目錄」。默認目錄爲:

<DSH_HOME>/plugins

留空保存會恢復默認。商店初始化時會自動創建該目錄。商店安裝的插件以源碼文件夾形式落盤,並自動註冊部署;卸載時同步刪除插件文件夾和空的 scope 父目錄。

bundle 層入口 id 衝突檢測

安裝前會檢測新插件 bundle 層中的入口 id 是否與現有 bundle 層重複。若發現重複,會直接攔截並列出衝突 id,避免相同 loader 入口 id 導致插件樹崩潰。

pnpm 自動尋路

安裝鏈路會先查找 PATH 中的 pnpm。如果 pnpm 不在 PATH 上,會自動回退到 harness 本地的 pnpm shim。這樣在部分終端環境下也能繼續執行插件安裝。

準確的重啓生效提示

bundles 層插件只在啓動時組合。安裝回執會明確提示重啓 dsh 後生效,不再把安裝結果描述爲熱加載。對“已安裝但未加載”的插件執行啓用或禁用時,也會給出同樣的明確提示。

啓用超時透傳真實錯誤

插件啓用超時時,報錯會附上條目真實的初始化失敗原因,而不是隻返回“超時”。

scoped 包支持

@scope/name 形式的包可以正確暫存和卸載。scope 父目錄會自動創建,暫存目錄名扁平化。

上游 bug 修復

已覈實資料列出的修復包括:

  1. YAMLSeq 卸載誤判。
  2. 補丁完整性檢查誤報。
  3. pnpm 卸載後置失敗容忍。

安裝與啓用

前置條件

先安裝官方 dsh CLI:

npm install -g @deepseek-ai/dsh

需要準備 pnpm 10+。如果 pnpm 不在 PATH 上,商店安裝插件時會自動尋找 harness 本地的 pnpm shim。

package.json 的 engines 要求:

node ^22.19.0 || >=24.0.0

方式一:克隆本倉庫安裝

先卸載舊版 registry 版,避免兩者同時安裝:

dsh plugin --profile web remove dsh-plugin-hub

然後克隆本倉庫並安裝:

git clone https://github.com/yiqizhuapangxiema/harness-plugin-store-optimized.git
cd harness-plugin-store-optimized
dsh plugin --profile web add file:<本倉庫絕對路徑>

安裝後重啓 dsh web 使其生效。瀏覽器中按 Ctrl+F5 刷新頁面。

方式二:npm 安裝

npm 包 dsh-plugin-store-optimized 尚未發佈。發佈後可使用:

dsh plugin --profile web add dsh-plugin-store-optimized

方式三:給已裝的 registry 版打補丁

如果保留已安裝的 registry 版 dsh-plugin-hub,可以使用本倉庫提供的補丁。示例:

cd <DSH_HOME>/profiles/web/node_modules/dsh-plugin-hub
git apply --ignore-whitespace <本倉庫>/patches/installer.js.patch

其餘 4 個補丁按同法應用。上游發佈新版本後,升級並重新打補丁即可。

迴歸測試

運行:

node tests/verify-install.mjs

Windows 上建議帶 PATH 前綴以保證 pnpm 可用。

典型用法

  1. 檢查 Node 版本滿足 node ^22.19.0 || >=24.0.0,並確認已安裝官方 dsh CLI。
  2. 卸載舊版:
dsh plugin --profile web remove dsh-plugin-hub
  1. 克隆本倉庫,並執行:
dsh plugin --profile web add file:<本倉庫絕對路徑>
  1. 重啓 dsh web,在瀏覽器中 Ctrl+F5 刷新。
  2. 如需修改插件落盤位置,在設置頁或全局 DSH 設置中修改「插件安裝目錄」;留空保存會恢復默認。

適用場景與注意

適合需要穩定使用 DSH web 插件商店的開發者,尤其是以下幾類情況:

  1. 希望插件下載目錄可配置,而不是固定使用默認目錄。
  2. 需要避免 bundle 層入口 id 衝突導致插件樹異常。
  3. 終端 PATH 中沒有 pnpm,但仍希望安裝鏈路可繼續。
  4. 需要更明確的“重啓生效”提示和啓用超時錯誤。

注意:

  1. 不要與 registry 版的 dsh-plugin-hub 同時安裝。兩者插入相同的 loader 入口 id,會導致插件樹崩潰。
  2. bundles 層插件只在啓動時組合。安裝後需要重啓 dsh,不視爲熱加載。
  3. 插件會運行在當前 dsh 進程中。安裝前應檢查源碼、許可證和依賴,確認其功能與權限可接受。
  4. npm 包尚未發佈,當前可復現的方式是 file: 克隆安裝或補丁安裝。
  5. 本倉庫是社區定製版。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應作爲官方應用商店理解。

結尾

harness-plugin-store-optimized 把 dsh-plugin-hub 0.1.6 的幾個安裝痛點整理成更明確的鏈路:下載目錄可配置、bundle 層衝突可檢測、pnpm 尋路可回退、重啓提示更準確,並修復了已列出的上游 bug。

GitHub 倉庫:

https://github.com/yiqizhuapangxiema/harness-plugin-store-optimized

目錄頁 URL 未在已覈實資料中給出。

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

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

小夜