@cyber-moshen/dsh-plugin-market:DSH web GUI 的开源插件市场

前言

DSH 强调「一切皆插件」,web GUI 要接入社区插件时,常见的问题是:插件在哪里看,哪些已经安装,哪些有更新,安装坏了怎么办。@cyber-moshen/dsh-plugin-market 把这些问题集中在一个 Settings → Plugin Workshop 页面里处理。

它提供一个卡片式目录,展示社区插件的 tags、GitHub stars、last-commit freshness 和 installed version / update state,并支持搜索、过滤、安装、更新、卸载。需要明确,它是社区维护的目录方案,不应被理解成官方应用商店;插件会在当前 DSH 进程权限下运行,使用前要检查源码和许可证。

这是什么

@cyber-moshen/dsh-plugin-market 是面向 DSH web GUI 的开源插件市场,许可证为 MIT。仓库 owner / npm scope 为 cyber-moshen,GitHub 地址是:

https://github.com/cyber-moshen/dsh-plugin-market

它主要解决三类事情:

  • 发现:用卡片网格展示社区插件,显示 tags、GitHub stars、last-commit freshness、installed version / update state。
  • 操作:搜索、过滤、安装、更新、卸载,后台运行 dsh plugin CLI。
  • 安全:安装前进行 dependency audit,安装后执行 boot-composition check,失败时自动回滚。

目录数据来自本仓库的 data/plugins.json,支持通过 PR 上架插件。

核心功能

下面是仓库资料中明确列出的能力:

  • 提供 Settings → Plugin Workshop 页面。
  • 以卡片网格展示社区插件。
  • 卡片显示 tags、GitHub stars、last-commit freshness、installed version / update state。
  • 支持按插件名称、作者、标签搜索。
  • 点击卡片上的 #tag 可以按该标签搜索。
  • 提供 always-visible filter bar。
  • 可按 installed state、stars/commit 排序、maintenance state 过滤。
  • 支持一键安装和更新,后台运行 dsh plugin CLI。
  • 卡片提供 GitHub 图标按钮,跳转对应仓库。
  • 设置弹窗包含 GitHub Token 字段和 startup auto-update 开关。
  • 跟随应用语言,支持中文 / English。
  • 纯 JS 插件的安装、更新、卸载可热重载。
  • 携带 native modules 的插件会提示重启。
  • 安装前进行 dependency audit,安装后执行 boot-composition check,失败时自动回滚。
  • 目录数据来自本仓库 data/plugins.json,支持通过 PR 上架插件。

安装与启用

仓库给出的安装命令为:

dsh plugin --profile web add @cyber-moshen/dsh-plugin-market

安装后重启 web server,再打开 Settings → Plugin Workshop

后续如果安装、更新、卸载的是纯 JS 插件,可以热重载;如果插件携带 native modules,会提示重启。

需要注意,README 中的安装命令带有 “once published to npm” 的说明,已抓取资料未确认当前 npm 发布状态。

典型用法

1、打开 Settings → Plugin Workshop

2、按插件名称、作者或标签搜索;点击卡片上的 #tag 可以按该标签搜索。

3、使用 filter bar 切换 installed state、按 stars 或 commit 排序、按 maintenance state 过滤。

4、未安装时点击 Install;已安装且有新版本时点击 Update;已安装插件可点击 Uninstall

5、在 Settings 弹窗中填写 GitHub Token 并保存;要删除已保存 token 时点击 Clear

6、启用 Auto-update installed plugins on startup 后,web server 启动时会检查并更新已安装插件。

7、如果要上架插件,编辑 data/plugins.json 并创建 PR。

8、如果 profile 已经损坏,可运行离线修复脚本:

node <dsh-plugin-market checkout>/scripts/repair.mjs --profile web

GitHub Token 与自动更新

GitHub Token 是可选配置。填入后可将 API 限频从 60 requests/hour 提升到 5000 requests/hour

如果环境中设置了 GITHUB_TOKENGH_TOKEN,它们优先于保存在插件设置里的 token。

保存空的 Token 输入框不会清除已保存 token;需要删除时点击 Clear。Token 具有仓库写权限,需要保密。

安装安全

安装一个坏插件可能让 DSH 无法启动,这是市场类插件需要重点避免的情况。该插件在安装流程中加入检查:

  • 安装前:dependency audit。
  • 安装后:boot-composition check。
  • 检查失败:自动回滚。

目标是避免把 profile 留在不可启动状态。

对于已经损坏的 profile,可以使用前文的 offline repair script 做修复。

适用场景与注意

它比较适合 DSH web GUI 的日常使用:查看社区插件、比较插件状态、安装和更新已保存的插件,并通过 PR 参与目录维护。

使用前注意:

  • 许可证为 MIT。
  • 插件以当前 dsh 进程权限运行,安装前应检查源码、依赖和许可证。
  • 插件安装和更新通过 npm 包进行,不使用 GitHub installs。
  • 目录数据运行时实时获取本仓库 data/plugins.json,没有离线缓存或快照。
  • 仓库资料可见 peerDependencies 包含 react ^18.2.0 和多个 @deepseek-ai 包,实际兼容情况以 DSH 环境为准。

结尾

@cyber-moshen/dsh-plugin-market 的价值是把 DSH web GUI 的插件浏览、安装、更新和卸载集中在一个页面里,同时加入安装前后的安全检查和回滚。它是社区目录方案,适合需要管理 DSH web GUI 插件的开发者使用。

GitHub:

https://github.com/cyber-moshen/dsh-plugin-market
羽毛球分组比赛记分
小程序二维码

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

小夜