插件开发
发到插件中心
下载 Markdown改 version,推 vX.Y.Z tag。第一次上架联系 Dex Buddy,之后只推 tag。
作者只推 tag。发布用的插件 zip 由 Dex Buddy 从源码打出来。作者不打这份额外的 zip,也不上传对象存储,也不在插件仓库里添加调用 Dex Buddy 的工作流。
同事从 Dex Buddy 的插件市场安装。不要把下载地址发给他们。清单里的 category 会写进版本说明,插件市场按它分段。
每个插件都要做
- 用自己的仓库开发。不要把源码复制进 Dex Buddy。打开已经装好的 Dex Buddy,用插件页「加载本地目录」。
- 发一版时,把
plugin.manifest.json的version改成新的X.Y.Z(三位数字,不要前导 0)。 - 提交并推送,然后打 tag 并推送:
git tag vX.Y.Z
git push origin vX.Y.Zv 后面的数字必须和清单里的 version 相同。
- 仓库第一次上架,联系 Dex Buddy。之后每次只推 tag,不用再通知。
只有页面和 index.js、不需要额外解释器的插件,做到这里就结束。
需要 Python 或自己的 Node 依赖时,在 plugin.manifest.json 写 runtime。Python 提交 requirements.txt。有 uv 工程时再在仓库根提交 uv.lock,没有锁也能发布。Node 必须提交和 package.json 同目录的 package-lock.json。装依赖的规则见 运行。不要再放 dex-buddy-plugin-pack.json。发布时如果仓库根上还有这份文件,这次发布会失败。
插件中心的 zip 从这次 tag 里取文件。要收窄内容,用 打包 里的 dex-buddy-plugin.pack 和 dex-buddy-plugin.ignore。两份都没有时,不该装给同事的文件不要提交进 tag。同事安装之后,Dex Buddy 在那台机器上准备环境。
密钥继续放在 Dex Buddy 的设置页,不要写进仓库,不要打进包。
现在先不要做
- 不要在插件仓库添加
.github/workflows去调用 Dex Buddy。 - 不要把对象存储密钥放进插件仓库。
- 不要把编好的二进制提交进 git。