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 不会更新;先 removeadd,或给测试构建独立版本,然后完全重启 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 仓库信息为准。

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

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

Xiaoye