前言¶
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