dsh-plugin-library-search:在 DSH 設置頁搜索插件庫並安裝

前言

DSH 的理念是「一切皆插件」。在 dsh web 中找插件時,通常需要離開設置頁,去 GitHub 搜索倉庫、看說明、確認安裝方式,再回來執行安裝命令。dsh-plugin-library-search 把這個過程放進「設置 → 插件」頁:它新增一個「插件庫搜索」標籤,展示 GitHub 上帶 topic:dsh-plugin 的倉庫,支持瀑布流瀏覽、關鍵詞過濾、安裝和跳轉倉庫頁。

它對接的是 GitHub 上帶 topic:dsh-plugin 的倉庫集合,不是 DeepSeek 或幻方官方的應用商店。

這是什麼

dsh-plugin-library-search 是一個 DSH 插件。安裝後,它會在 DSH「設置 → 插件」頁新增「插件庫搜索」標籤頁,位置在「插件列表」右側。

基本信息如下:

  • 倉庫:AiLi1337/dsh-plugin-library-search
  • 維護者:AiLi1337
  • 許可證:MIT
  • package.json 聲明 version 爲 0.1.0
  • engines.node 要求 >=18

核心功能

下面介紹已覈實的幾項能力。

  • 在 DSH「設置 → 插件」頁新增「插件庫搜索」標籤頁。
  • 對接 GitHub topic:dsh-plugin 倉庫集合,經 GitHub Search API 按 Star 排序,並支持搜索。
  • 瀑布流卡片展示插件圖片、插件名稱、插件描述。
  • 每張卡片提供「安裝」按鈕與「跳轉 GitHub 插件頁」鏈接。
  • 搜索框支持輸入名稱、描述、作者關鍵詞過濾。
  • 滾動到列表底部時自動加載下一頁。
  • 模型可通過 tools 服務調用以下工具:
  • plugin_library_search
  • plugin_library_install
  • plugin_library_installed
  • GitHub Search API 被限流或失敗時,自動回退抓取 github.com/topics/dsh-plugin 頁面。
  • 支持 bundle 插件安裝後寫入 dsh.profile.bundles 層棧,並重啓 dsh web 生效。
  • 支持純 cordis 插件安裝後寫入 profile 的 cordis.patch.yml insert 行,並配置 HMR 即時掛載。

安裝與啓用

先安裝插件。資料中給出的推薦安裝命令是:

dsh plugin --profile web add dsh-plugin-library-search

也可以直接從 GitHub 倉庫安裝:

dsh plugin --profile web add "github:AiLi1337/dsh-plugin-library-search"

安裝完成後,重啓 dsh web,刷新瀏覽器,進入「設置 → 插件 → 插件庫搜索」。

這個插件聲明 dsh.bundle,會進入 dsh.profile.bundles 層棧。

典型用法

使用步驟可以按下面順序來。

1、打開「設置 → 插件」,點擊右側「插件庫搜索」標籤。

默認展示官方插件庫按 Star 排序的倉庫列表。也可以在搜索框輸入關鍵詞過濾,關鍵詞可以是名稱、描述或作者。

2、滾動瀏覽列表。

滾動到列表底部會自動加載下一頁。資料說明每頁約 100 個,最多加載 500 個。

3、點擊卡片上的「安裝」按鈕。

安裝時會解析倉庫 package.json 裏的 npm 包名。如果倉庫已發佈到 npm,優先執行類似:

pnpm add <npm包名>

如果未發佈到 npm,則回退爲類似:

pnpm add github:<owner>/<repo>

4、根據插件類型完成掛載。

  • bundle 插件安裝後寫入 dsh.profile.bundles 層棧,需要重啓 dsh web 後生效。
  • 純 cordis 插件安裝後寫入 profile 的 cordis.patch.yml insert 行,配置 HMR 即時掛載,刷新頁面即可看到。

5、點擊「GitHub ↗」在新標籤頁打開插件倉庫。

6、在對話中讓模型調用插件工具。

例如可以輸入:

幫我搜索一下插件庫裏的 xxx 插件

或:

安裝 vlln/plugin-registry

模型會調用對應工具。重啓後,新會話即可看到這些工具。

適用場景與注意

這個插件適合使用 dsh web、希望直接在設置頁瀏覽和安裝 topic:dsh-plugin 插件的人,也適合希望讓模型直接搜索或安裝插件的場景。

使用前需要注意以下幾點。

  • 插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證。
  • GitHub Search API 未認證限流爲 10 次/分鐘,超限返回 HTTP 403。
  • 限流或失敗時,插件會自動回退抓取 github.com/topics/dsh-plugin 頁面。結果一致,但排序爲 topic 默認順序,不是按 Star。
  • 推薦在啓動 dsh 的環境裏設置以下變量之一:
GITHUB_TOKEN
GH_TOKEN

設置後,搜索配額提升到 30 次/分鐘。宿主端另有 5 分鐘緩存,用於減少請求。

  • 一鍵安裝依賴 pnpm 在 web 服務進程的 PATH 中。
  • 從 git 源安裝的倉庫若帶 prepare 腳本,pnpm 可能需要先在 pnpm-workspace.yaml 的 allowBuilds 中放行。
  • 安裝後插件列表的「已安裝」標記基於包名匹配。未發佈到 npm 的倉庫以安裝成功響應爲準。

參考

GitHub 倉庫:

https://github.com/AiLi1337/dsh-plugin-library-search
羽毛球分组比赛记分
小程序二维码

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

小夜