dsh-community-plugins:爲 DSH 會話註冊社區插件發現與安裝指南

前言

在 DSH 的插件化場景中,社區插件的來源通常不止一個:已安裝的市場工具、目錄索引、GitHub topic、npm 等。對 agent 來說,單純存在市場工具並不等於它會優先使用市場工具,也不等於它知道如何覈對本機已安裝內容、如何評估插件來源、如何按 DSH 的安裝機制執行安裝並驗證結果。

dsh-community-plugins 要解決的問題就是這個上下文缺口:它註冊一個全局 skill,把社區插件的查找、評估、安裝規則寫入每個會話的可用技能目錄,讓 agent 在給出插件安裝建議時,先依據本機 profile manifest 和已安裝工具,而不是假設或推廣未安裝插件。

這是什麼

dsh-community-plugins 由 HubaKing 維護,許可證爲 MIT。它不是一個獨立插件商店,而是一個 DSH 插件:將社區插件生態指南註冊爲 skill。

安裝後,dsh-community-plugins 會出現在每個會話的 <available_skills> 目錄中。agent 讀取該 skill 後,會知道本機已內置 dshmarket / dsh-plugin-marketplace 等市場相關能力,並學習如何查找、評估、安裝社區插件。

核心功能

下面列出的能力均來自已覈實資料:

1、註冊全局 skill:dsh-community-plugins 出現在每個會話的 <available_skills> 目錄中。

2、教 agent 驗證本機實際已安裝內容:讀取 profile manifest,不假設或推廣未安裝插件。

3、提供中立發現渠道:已安裝市場工具、目錄索引(Oh-My-DSH data/plugins.jsonawesome-dsh-plugin)、GitHub dsh-plugin topic、npm。

4、記錄官方安裝方式及加速方式:dsh plugin 命令、npm-first、批量安裝、按插件形式選擇 hot-mount 或重啓。

5、記錄 pnpm 供應鏈策略(minimumReleaseAge)及其規避方式。

6、聲明約束:不修改官方自帶預設、重啓規則、構建授權邊界。

安裝與啓用

前提

需要可用的 dsh CLI。如果 dsh 不在 PATH,可以使用 dsh 安裝根目錄下的 CLI 入口。

GitHub 直接安裝

先通過 GitHub 直接添加插件:

dsh plugin --profile web add github:HubaKing/dsh-community-plugins

該方式適合能直接訪問 GitHub 的環境。資料說明其爲 pure JavaScript、無 build scripts;GitHub direct install 需要時無需 prepare 腳本或 allowBuilds 授權。

Gitee 鏡像

如果使用 Gitee 鏡像倉庫:

dsh plugin --profile web add https://gitee.com/HubaKing/dsh-community-plugins.git

tarball

使用 release tarball 時,先下載文件,再本地添加:

curl -LO https://github.com/HubaKing/dsh-community-plugins/releases/download/v0.1.2/dsh-community-plugins-0.1.2.tgz
dsh plugin --profile web add ./dsh-community-plugins-0.1.2.tgz

開發模式

開發模式下先 clone 到插件目錄,再使用 link: 方式添加:

git clone https://github.com/HubaKing/dsh-community-plugins.git "${DSH_HOME:-~/.dsh}/plugins/dsh-community-plugins"
dsh plugin --profile web add link:${DSH_HOME:-~/.dsh}/plugins/dsh-community-plugins

安裝後重啓與驗證

安裝完成後,重啓 dsh。資料說明 bundle layers 在啓動時組合,因此安裝後需要重啓。

驗證方式是查看新會話:當 dsh-community-plugins 出現在 <available_skills> 中,表示安裝成功。

如果 dsh 不在 PATH,可改用 dsh 安裝根目錄中的 CLI 入口:

node <dsh install root>/apps/cli/lib/bin.js plugin --profile web add <spec>

典型用法

1、新會話中確認 skill 可用。

<available_skills> 中查找 dsh-community-plugins。如果存在,說明該會話可讀取該指南。

2、讓 agent 查找社區插件。

agent 應按 skill 指引優先覈對已安裝市場工具、目錄索引、GitHub dsh-plugin topic、npm 等渠道,並結合 profile manifest 確認本機實際安裝內容。

3、按插件形式選擇安裝路徑。

資料中記錄的安裝方式包括 dsh plugin 命令、npm-first、批量安裝,以及按插件形式選擇 hot-mount 或重啓。

4、修改 skill 內容。

編輯:

skills/dsh-community-plugins/SKILL.md

保存後生效。如果需要共享給其他用戶,執行:

git push

適用場景與注意

適合以下場景:

1、使用 DSH,並希望在 agent 會話中穩定查找社區插件。

2、希望 agent 先驗證本機 profile manifest,再給出安裝建議,而不是假設未安裝插件已經存在。

3、需要把市場工具、目錄索引、GitHub topic、npm 等發現渠道統一納入 agent 的上下文。

4、需要記錄 npm-first、批量安裝、hot-mount 或重啓、pnpm minimumReleaseAge 及其規避方式等安裝規則。

注意以下幾點:

1、插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證。dsh-community-plugins 的許可證爲 MIT。

2、資料列出了多個安裝方式,無法從已覈實資料唯一確認哪一個爲唯一官方安裝命令。實際使用時任選其一,並以新會話中 <available_skills> 是否出現 dsh-community-plugins 作爲驗證依據。

3、不要把社區插件目錄理解成官方應用商店。資料中提到的 dshmarket / dsh-plugin-marketplaceOh-My-DSH data/plugins.jsonawesome-dsh-plugin、GitHub dsh-plugin topic、npm 等,應作爲發現渠道使用。

4、該插件會聲明不修改官方自帶預設、遵守重啓規則,並記錄構建授權邊界。使用時應遵守這些約束。

鏈接與結尾

dsh-community-plugins 的價值在於把“發現插件、評估插件、安裝插件、驗證插件”寫入 agent 會話上下文,減少 agent 因缺少 DSH 上下文而回退到通用搜索的情況。

相關鏈接:

  • GitHub 倉庫:https://github.com/HubaKing/dsh-community-plugins
  • 目錄 / 市場入口:dshmarket / dsh-plugin-marketplace
  • 目錄頁 URL:已覈實資料中未確認具體 URL,建議通過已安裝市場工具或相關文檔入口查看。
羽毛球分组比赛记分
小程序二维码

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

小夜