EasyBot 的官方插件市场索引仓库。本仓库只维护目录索引(catalog.json);
每个插件的版本元数据与产物由插件作者自己的仓库通过 GitHub Releases 发布
(easybot-plugin.json asset),客户端按宿主 target triple 下载并校验
ed25519 签名后落位加载。
{
"schemaVersion": 1,
"plugins": [
{
"name": "hello-adapter",
"publisher": "EasyIndie",
"owner": "EasyIndie",
"repo": "EasyBot-hello-adapter",
"displayName": "Hello Adapter",
"description": "入门示例适配器",
"tags": ["example"],
"verified": true
}
]
}| 字段 | 说明 |
|---|---|
name |
插件名(唯一,与 publisher 组成 publisher/name 限定名) |
publisher |
发布者标识(对应主程序 trusted_publishers / 用户 plugin trust) |
owner / repo |
插件源码仓库(其 Releases 携带 easybot-plugin.json 版本元数据) |
displayName / description |
市场展示信息 |
tags |
分类标签 |
verified |
官方验证徽标(只证身份,不证安全) |
- 发布插件:在插件仓库配置
.github/workflows/plugin-publish.yml(脚手架easybot plugin new已生成),6-target 交叉编译 + gitleaks 扫描 + ed25519 签名 + 打 tag 推送,Release 即带上easybot-plugin.json与各平台产物。 - 登记目录:向本仓库提 PR,在
catalog.json追加一条目录项 (owner/repo指向插件仓库)。 - 登记公钥:把发布者公钥(
easybot-plugin-sign gen-keypair输出的PUBLIC_KEY)通过 PR 提交到 EasyBot 主仓库的trusted_publishers(crates/easybot-core/src/config/mod.rs默认配置),maintainer 审核后内置。
客户端即可 easybot plugin install <publisher>/<name>。
- ed25519 签名只证「作者 + 完整性」,不证代码安全。插件以宿主权限进程内
运行、无沙箱——只装可信发布者的插件,生产环境用容器化兜底
(见 EasyBot
docs/SECURITY.md)。 - 信任按发布者粒度:
--yes不自动写入.trust;用户显式easybot plugin trust <publisher> --public-key <k>才信任。 - 本目录被篡改不构成信任信号——客户端安装时校验的是下载产物自身的 sha256 + ed25519 签名(与目录无关)。
catalog.json每次变更保持合法 JSON;schemaVersion恒为1。- 目录项只读发布者/源码仓库信息,版本相关字段一律放在插件仓库的
easybot-plugin.json(避免本仓库成为发布瓶颈)。 - 欢迎以 PR 提交社区插件;maintainer 审核源码 + 公钥登记后合入。