DSH 的理念是「一切皆插件」。在实际开发中,管理第三方插件、检查版本更新或重启桌面应用,往往需要频繁切换窗口或手动执行命令。这会打断开发流。我们需要一个在桌面端直接完成这些操作的能力。
是什么¶
这个插件为 DSH Desktop 提供了插件安装、管理及重启能力,由 deronghe 维护,采用 MIT 许可证。
核心功能¶
- 重启 Desktop 按钮:在设置面板右上角提供一键重启能力。
- 按地址安装插件:在「设置 → 插件 → 安装插件」标签页,输入仓库地址并选择目标 profile(
desktop/web)即可安装。 - 第三方插件管理:在「设置 → 插件 → 第三方插件」标签页,列出当前 profile 里从第三方安装的插件(内置 bundle 之外),并支持卸载、启用、停用及版本检测。
安装与启用¶
在终端执行以下命令安装该插件:
dsh plugin --profile desktop add github:deronghe/dsh-plugin-desktop-installer
安装后重启 Desktop 生效。
典型用法¶
- 安装完成后,重启 DSH Desktop。
- 在「设置」中点击右上角的「重启 Desktop」按钮。
- 在「设置 → 插件 → 安装插件」标签页中,输入仓库地址(支持
github:owner/repo或@scope/pkg格式)并选择目标 profile 即可完成安装。
技术结构¶
该插件采用前后端分离结构:
lib/index.js:作为 Host 端,注册了/api/dsh-plugin-installer/{profiles,install,restart,installed,uninstall,set-enabled,check-updates,update}八个 HTTP 接口。lib/client.js:作为浏览器端,负责设置界面的交互逻辑。cordis.patch.yml:负责将本插件注入到 profile 组合中。
适用场景与限制¶
适用场景:需要集中管理桌面端插件,或需要通过界面快速重启桌面应用的开发者。
注意事项:
* Profile 限制:安装、卸载和更新能力依赖桌面版独有的 desktopPnpmBootstrap。在纯 web profile 下运行会提示「缺少安装能力」。启用、停用和列表功能只需读写 profile 的 package.json,不依赖桌面服务。
* 网络要求:版本检测需要联网,npm 插件查询 registry.npmjs.org,github: 插件查询 GitHub API(配置 GITHUB_TOKEN 环境变量可避免限流)。
* 生效范围:操作写入的是 $DSH_HOME/profiles/<name>,仅对本机该 profile 生效。
总结¶
这个插件将插件管理的操作集中到了桌面端的设置面板中。更多细节可参考其 GitHub 仓库 或 SkillHub 目录页。