dsh-plugin-installer:DSH Web GUI 插件商店与安装助手

前言

DSH 的插件体系以「一切皆插件」为目标,插件数量增多后,安装过程往往不再只是一条命令:需要确认插件来源、选择安装位置、把它注册到当前 profile,再验证结果是否可用。对于 Web GUI 用户来说,如果每次都要手动切换终端、查仓库、改配置,体验会比较割裂。

dsh-plugin-installer 是 zhang66633 维护的一个 DSH 插件包,把「插件目录浏览」和「安装排障技能」放在同一个包中:在 Web GUI 的插件商店页签里浏览插件,点击安装后由当前会话 agent 执行安装流程。下面介绍它的定位、安装方式和适用场景。

这是什么

dsh-plugin-installer 是 DSH 的插件商店 + 安装排障技能一体包。

它包含两部分:

1、Web GUI「插件商店」页签:用于浏览和搜索插件目录,查看名称、介绍、原链接等信息。
2、内置的 dsh-plugin-installer 技能:作为安装后端引擎,辅助 agent 校验来源、选择安装路径、注册到 profile、校验安装结果。

它面向希望从 Web GUI 发现并安装 DSH 插件的用户,也适合希望让 agent 参与安装和排障流程的开发者。该插件许可证为 MIT。

核心功能

下面列出的能力均来自插件资料:

1、在 Web GUI 中提供「插件商店」页签,可浏览和搜索插件目录。
2、点击安装会先请求确认,然后向本地 /plugin-store/install 路由提交 JSON 请求。
3、实际安装由当前会话 agent 执行,内置技能负责校验来源、选择安装路径、注册到 profile、校验安装结果。
4、支持 dsh 0.1.0-rc.6、Windows / macOS / Linux、Node ≥ 22.19,并面向 Web GUI(dsh --profile web)。
5、提供刷新按钮,用于重新计算插件目录的已安装 / 可更新状态。
6、包内附带 data/store.json 目录快照;安装请求只提交插件名和会话 ID,不包含其他配置、环境变量或密钥。
7、支持 Route A 完整插件与 Route B 仅技能两种使用方式。

安装与启用

Route A:完整插件

完整插件模式包含 Web GUI 插件商店页签和安装助手技能。官方资料给出的安装命令是:

dsh plugin --profile web add dsh-plugin-installer

执行后,重启 dsh web,再打开任意 session,插件商店页签会出现在视图环中。

本地开发场景下,如果还没走 npm 发布流程,也可以通过 link:<repo path> 依赖并运行:

pnpm install

Route B:仅技能

如果只需要安装助手技能,不需要 Web GUI 商店页签,可以把仓库克隆到 DSH skills 目录:

git clone --depth 1 https://github.com/zhang66633/dsh-plugin-installer ~/.dsh/skills/dsh-plugin-installer

这种方式适合非 GUI profile,或只需要技能能力的场景。

禁用与卸载

禁用插件时,从 dsh.profile.bundles 中移除 dsh-plugin-installer

卸载时,从 profile package.json 中移除依赖和 bundle 条目,然后运行:

pnpm install

Route B 的卸载方式是删除技能目录:

~/.dsh/skills/dsh-plugin-installer

典型用法

Route A 的完整流程可以按下面步骤理解:

1、先安装插件:

dsh plugin --profile web add dsh-plugin-installer

2、重启 Web 服务:

dsh web

3、打开任意 session,在视图环中找到「插件商店」页签。
4、搜索插件,例如 vision
5、点击安装,确认提示后由当前会话 agent 完成安装。
6、安装完成后重启 dsh web

资料中给出的最小复现示例是:

1、搜索 modlens
2、点击安装。
3、确认提示。
4、等待 agent 报告成功。
5、重启 dsh web
6、发送图片测试 OCR。

目录刷新与数据边界

目录数据以 data/store.json 快照形式随包附带。页面刷新按钮用于重新计算插件目录的已安装 / 可更新状态,不是用于引入新的配置或凭据。

宿主进程对 bundled data/store.json 只读;catalog 和安装路由仅绑定本地 web 服务。点击安装后,页面只向本地 /plugin-store/install 路由提交 JSON 请求,请求内容是插件名和会话 ID,不包含其他配置、环境变量或密钥。

目录数据本身更新时,维护者可以运行 radar repo 的 scripts/refresh-catalog.ps1,或等待每日任务;普通用户可以在维护者发布时升级 npm 包。

适用场景与注意

适合以下场景:

1、希望从 DSH Web GUI 浏览插件目录。
2、希望把插件安装交给当前会话 agent 处理。
3、希望在非 GUI profile 中只使用安装助手技能。
4、希望安装流程每一步可见、可停止。

使用前需要注意:

1、安装触发后,agent 可能读写 dsh profile 和插件目录,并可访问 npm / GitHub。
2、该过程会以当前 dsh 进程权限运行,因此安装前应检查源码与许可证。
3、插件声明无遥测、无分析、无凭据访问。
4、安全问题应通过 GitHub security advisory 私下报告,而不是公开 issue。
5、Route A 面向 Web GUI;非 GUI profile 更适合 Route B。

资源

插件目录页:https://www.skillhub.cn/plugins/zhang66633/dsh-plugin-installer

GitHub 仓库:https://github.com/zhang66633/dsh-plugin-installer

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

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

Xiaoye