dsh-plugin-mall:給 dsh 加一個 GitHub 插件市場

前言

在 DSH 中擴展智能體能力時,插件常常來自 GitHub 倉庫。手動找插件需要搜索 topic:dsh-plugin、逐個檢查 package.json、確認是否存在 dsh.bundle / dsh.client,再處理安裝、更新和兼容性問題。dsh-plugin-mall 把這些步驟收斂到 dsh 裏:搜索帶 topic:dsh-plugin 的倉庫,自動校驗 manifest,在設置頁提供插件市場入口,並提供五個可在任意會話使用的 agent 工具。

這是什麼

1e0zj/dsh-plugin-mall 是一個 dsh 插件市場,由 1e0zj 維護,許可證爲 MIT,已覈實資料中的 package.json 版本爲 0.4.17。它面向本地 dsh profile,用於發現、校驗、安裝和更新 GitHub 上的 dsh 插件倉庫。它不是 DeepSeek / 幻方官方應用商店,而是社區插件倉庫。

核心功能

  • 搜索 GitHub 上帶 topic:dsh-plugin 標籤的插件倉庫。
  • 自動抓取搜索結果的 package.json,並校驗 dsh.bundle / dsh.client manifest。
  • 在 dsh web UI 中提供 Settings → Plugins → Marketplace tab。
  • 提供五個可在任意會話使用的 agent 工具。
  • 支持一鍵安裝和更新插件;安裝來源 npm 優先,並與 registry latest 對比。
  • 瀏覽時靜態掃描兼容性徽章,包括聲明衝突、獨佔組、loader-id 衝突、宿主模塊遮蔽、peer/Node/OS 範圍。
  • 安裝前運行隔離 preflight:禁用 scripts 安裝到臨時目錄,並與 live profile 比對;硬衝突阻斷,警告需顯式確認。
  • 防 squatting:npm tarball 僅在 registry entry 的 repository URL 指回同一 GitHub repo 時優先,否則回退到顯式 github: spec。
  • 內置 rate-limit circuit breaker、GitHub 1000-result 搜索窗口處理、pnpm 自修復、loopback 一鍵 dsh 重啓。
  • 安裝過程中會快照 profile 的關鍵文件,pnpm 失敗後恢復。

安裝與啓用

從 npm 安裝:

dsh plugin --profile web add @1e0zj/dsh-plugin-mall

安裝後重啓 dsh。

從 GitHub 安裝:

dsh plugin --profile web add github:1e0zj/dsh-plugin-mall

安裝後重啓 dsh。

本地開發時,當前 link: 安裝不可用。已覈實資料給出的原因是上游框架包 dist-tags / peer ranges 衝突;可改爲先 npm pack 打本地 tarball,再用 file: spec 安裝 .tgz。示意如下:

npm pack
dsh plugin --profile web add file:./<你的 .tgz 文件名>

重新打包後直接 add 不會更新;先 remove 再 add,或給測試構建獨立版本,然後完全重啓 dsh。

典型用法

1、在 Settings → Plugins → Marketplace 中搜索帶 topic:dsh-plugin 的倉庫。

2、查看瀏覽時的兼容性徽章。徽章來自靜態掃描,覆蓋聲明衝突、獨佔組、loader-id 衝突、宿主模塊遮蔽、peer/Node/OS 範圍;這些徽章是 advisory,安裝前 preflight 纔是強制檢查。

3、安裝插件。安裝前會運行隔離 preflight,將候選插件禁用 scripts 安裝到臨時目錄,並與 live profile 比對;硬衝突阻斷,警告需顯式確認。

4、更新插件。已安裝插件可與 registry latest 對比,支持一鍵更新。

5、如需額外啓動保護,通過 guard launch 啓動,可增加 grace window,覆蓋 marketplace 之後條目的加載/應用失敗。

6、如使用一鍵 dsh 重啓,注意它僅限 loopback,可通過 allowRestart: false 禁用;在 Windows 交互終端中重啓會打開可見控制檯,關閉窗口會終止 guard/dsh 樹。

適用場景與注意

適合在本地 dsh profile 中管理插件的人:需要從 GitHub 找 dsh 插件、校驗 manifest、安裝更新,並在安裝前檢查衝突。

需要注意:

  • 瀏覽時的兼容性徽章只是 advisory,安裝 preflight 纔是強制檢查。
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證;當前倉庫許可證爲 MIT。
  • link: 安裝當前不可用,本地開發建議使用 npm pack 打 tarball 後用 file: spec 安裝。
  • 重新打包後再次 add 不一定更新,需要先 remove 或改版本,然後完全重啓 dsh。
  • 自 v0.3.4 起(含 v0.4.17)存在已知問題:普通 dsh web 啓動可能在 marketplace 插件加載後、後續 loader 條目加載完成前提交併刪除 pending snapshot。

結尾

dsh-plugin-mall 把 GitHub 插件搜索、manifest 校驗、安裝 preflight、更新管理和 dsh 重啓保護放進同一個 dsh 插件裏。使用前仍需檢查源碼和運行權限。

倉庫:

https://github.com/1e0zj/dsh-plugin-mall

目錄頁線索:

https://www.skillhub.cn/plugins/1e0zj/dsh-plugin-mall

該 URL 來自線索,未作爲已覈實正文直接出現;以 GitHub 倉庫信息爲準。

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

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

小夜