READMESource: main@e1c97bfa
dsh-plugin-desktop-installer
在 DSH Desktop 的「设置」里提供三个能力:
- 重启 Desktop 按钮 —— 显示在设置面板右上角(关闭按钮旁),一键重启 Electron 桌面版。
- 按地址安装插件 —— 在「设置 → 插件 → 安装插件」标签页里,输入仓库地址并选择目标 profile(
desktop/web)即可安装,装完可直接重启。 - 第三方插件管理 —— 在「设置 → 插件 → 第三方插件」标签页里,列出当前 profile 里从第三方安装的插件(内置 bundle 之外),并支持一键卸载、启用、停用,以及版本检测(已是最新则提示,有新版可确认更新到最新)。
底层复用 DSH Desktop 已有的原生能力:重启走 desktopRuntime.requestRestart();安装/卸载走权威命令 dsh plugin --profile <name> add|remove <spec>(等价于 pnpm add/remove + 自动把 bundle reconcile 进 dsh.profile.bundles)。启用/停用直接编辑 profile 的 package.json 里的 dsh.profile.bundles 列表(加入/移除插件名),重启后生效。
安装
dsh plugin --profile desktop add github:deronghe/dsh-plugin-desktop-installer
地址支持两种格式:
- GitHub:
github:owner/repo或github:owner/repo#ref - npm:
包名或@scope/包名(可选@version)
安装后重启 Desktop 生效。
结构
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 组合。
限制
- 安装/卸载/更新能力依赖桌面版独有的
desktopPnpmBootstrap;纯webprofile(dsh --profile web)下没有这些服务,会提示「缺少安装能力」。启用/停用与列表只需读写 profile 的package.json,不依赖桌面服务。 - 版本检测需要联网:npm 插件查
registry.npmjs.org,github:插件查 GitHub API(有GITHUB_TOKEN环境变量时会带上,避免匿名限流)。 - 操作写入的是
$DSH_HOME/profiles/<name>,只对本机该 profile 生效。
No comments yet. Be the first to write one.