前言¶
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 pluginCLI。 - 安全:安装前进行 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 pluginCLI。 - 卡片提供 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_TOKEN 或 GH_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