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 声明 version0.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.yamlallowBuilds 中放行。
  • 安装后插件列表的「已安装」标记基于包名匹配。未发布到 npm 的仓库以安装成功响应为准。

参考

GitHub 仓库:

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

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

小夜