发布与更新
最方便的分发方式是放在 GitHub 上:别人粘贴一个链接就能安装,以后还能检查更新。这一页讲怎么放、别人怎么装,以及你发新版本时会发生什么。
1. 放到 GitHub
把插件或世界推到一个公开的 GitHub 仓库。两种放法都可以:
text
一个仓库只放一个包 一个仓库放好几个包
my-plugin/ my-covel-stuff/
├── PLUGIN.md ├── plugins/
├── README.md │ ├── tavern-rumors/
└── ... │ └── another-plugin/
└── worlds/
└── tidelamp/几条限制:
- 仓库必须是公开的。私有仓库装不了。
- 包里的代码必须拿来就能运行。Covel 安装时不装依赖、不运行构建。
- 插件可以没有
package.json。仓库只放一个插件、PLUGIN.md又没有写id时,插件 ID 是仓库名;放在子文件夹里时,是那个文件夹的名字。 - 插件的
package.json里不能有dependencies。用到的代码请直接放进包里。插件 SDK 和zod由 Covel 提供,开发时要装它们,就写进devDependencies。
2. 别人怎么装
对方打开 设置 → 安装与管理,粘贴链接。你给的链接决定了他装到的是什么:
| 你给的链接 | 他装到的是 | 以后能检查更新吗 |
|---|---|---|
| 仓库地址 | 默认分支上现在的内容 | 能,跟着默认分支走 |
| 指向某个分支的链接 | 那个分支上现在的内容 | 能,跟着那个分支走 |
| 指向某个标签或提交的链接 | 固定的那个版本 | 不能,它被锁定在这个版本 |
想让用户总能拿到最新版,给仓库地址。想让用户装一个确定的版本,给标签的链接。
链接可以一直写到子文件夹,这样对方只会看到那一个包。
3. 发新版本
用户那边不会自动更新。他要自己在已安装列表里点“检查更新”,看到改了哪些文件,确认之后,重启后端才生效。
更新时有两件事值得你知道:
- 更新包不会迁移存档。 更新只替换包里的文件,存档、插件数据和设置仍保留。修改不兼容的契约时使用新的版本 ID,并说明哪些开发数据或会话需要重建;当前阶段不要求为旧契约保留兼容读取。见插件契约。
- 用户改过的包不会被覆盖。 如果他动过包里的文件,更新会被拦下。
4. 让更多人找到它
想让你的作品出现在官方目录里,向对应的仓库提交一个条目:
你的代码仍然留在自己的仓库里,目录只是指向它。提交方法见各自仓库的贡献说明。
NOTE
被目录收录不代表经过了安全审核。用户安装你的插件时仍会看到代码风险提示,插件运行前仍需会话授权;符合可信来源策略的授权可以自动通过。
不想用 GitHub
把试装时打的 ZIP 直接发给对方就行。他在同一个页面导入。这样装的包没有来源记录,所以不能检查更新,新版本要重新发一次。
想了解更多
- 插件安装的全部规则:链接格式、大小限制、更新的细节。
- 世界包安装的全部规则
- 社区插件的信任边界
下一步
世界需要配套的插件一起发?见合集。