夜雨聆风学习资料网

ARTICLE · 1159201

给 DSH 装个应用商店:4400 多个插件一键安装

给 DSH 装个应用商店:4400 多个插件一键安装

dshmarket 是 DSH 的第三方插件市场(非官方),里面已经有 4481 个插件(awesome-dsh-plugin 目录)。装上之后,DSH 设置里会多出一个「插件市场」,分类、星数、截图、评论、一键安装都在界面上,不用再按插件名去猜。

安装方式

最省事的是走界面:侧边栏点开「插件」,在添加插件的搜索框里填 dshmarket,点安装,装完重启,设置 → 插件市场就出来了。搜索框认的是包名,一个词 dshmarket,跟仓库名 dsh-market/dsh-market 不一样,按仓库名去搜是搜不到的。

image

习惯敲命令的话,README 给的是这条:

dsh plugin --profile web add dshmarket

Web 版照抄。桌面版把 --profile 后面换成 desktop:

dsh plugin --profile desktop add dshmarket

版本要求两条:

  1. 1. dsh 得是 0.1.0-rc.6 以上。宿主太旧时市场会自我禁用,并在浏览器控制台里说明原因。设置里根本没出现「插件市场」这一项,通常就是这个原因。桌面版要留意,它可能内置了比 npm 能装到的更旧的 dsh(官方仓库 issue #139)。我的桌面版是 0.2.0-rc.2,满足要求
  2. 2. 系统里得有 pnpm。缺了不用翻文档,市场自己会发现,给个一键安装,全程不见命令行

名字上的事还有一桩:npm 上有人专门抢注占位,裸名看着能装,装下来是个空壳。这个系列后面会碰到,到时候细说。

插件的浏览与筛选

插件目录来自 awesome-dsh-plugin,每次打开都实时拉,不做本地缓存。

浏览时有几个地方用得上:

  1. 1. 分类和最热/最新排序,卡片上带星数
  2. 2. App Store 式的截图轮播,装之前先看长相
  3. 3. 评论就地展开,跟目录站、官网共用同一条 GitHub Discussions,一个插件只有一处对话,只看不用登录

卡片上还标着插件声明的 DSH 版本要求,明确不匹配当前宿主的一键滤掉。

插件装多了,可以用收藏、分组、备注来整理:备注会顶替作者简介显示,四十个插件的列表也能自己回答「我当初为什么装它」,三样都只存本地。

之前写过的 OpenViking 记忆插件也挂在市场里,按星数排在 4400 多个插件的前三(星数算的是 volcengine/OpenViking 整个仓库)。

OpenViking

插件的更新与维护

装好只是开始,插件一多,后面的维护才是重点。

  1. 1. 更新。逐插件检测新版本,一键更新;每条待更新的行上挂着「更新内容」链接,升不升先看改了什么
  2. 2. 热禁用/启用。开关写进 profile 的 cordis.patch.yml,一秒左右生效,不用重启,想批量关几个插件试效果比卸载轻
  3. 3. 备份与恢复。插件清单和配置导出成一份 JSON,存 WebDAV 每天自动备份,走私有 Gist 能跨机器同步;恢复是合并式的,新装的插件不会丢
  4. 4. 诊断页。加载顺序、依赖冲突、残留目录一页看全,还能一键生成修复 prompt 交给 Agent 处理

与自带插件面板的分工

dshmarket 不是替掉自带面板,是叠在它上面一层:

自带插件面板
dshmarket
入口
每台 DSH 自带,设置 → 插件
装出来才有,设置 → 插件市场
管什么
按名字装、启停、卸载、插件配置
浏览目录、看截图和评论,再决定装不装
装完之后
启停、卸载照旧在这里
更新提醒、备份恢复、诊断在这边

分工这么记:官方面板管已经装好的,市场管装哪个、装完怎么维护。dshmarket 的安装和开关最终走的还是 DSH 自己的插件体系,连停用标记都写在官方补丁层上。哪天想卸掉市场,可以勾选一并清掉它写进补丁层的停用行,被它关掉的插件会恢复运行。

安全机制

第三方市场,安全最要紧。README 里能核实的有三条:

  1. 1. 只允许装精选目录(awesome-dsh-plugin)里的来源,目录外一律拒绝
  2. 2. 构建脚本默认不跑(pnpm 10 以上),要放行也是你按包一个个点头
  3. 3. 收录不等于背书。README 原话,插件是第三方代码,只装你信得过的

安装接口只接受同源请求,市场自己不往任何地方上报数据。国内网络也不用担心,目录会自动改走 npm 镜像读,实在不行用环境变量 DSHM_REGISTRY_URL 指一个自己的镜像。GitHub 下载做了多线路容错,全部失效时可以在设置里填自定义加速前缀。

版本与来源

npm 上叫 dshmarket,MIT 协议,维护者 fkysly,仓库在 https://github.com/dsh-market/dsh-market

相关学习资料