这里是 Pallas-Bot 控制台 插件商店 → 社区插件 使用的索引仓。
如果你只是想看看现在有什么社区插件可装,先看下面的 插件列表。 如果你想把自己的插件加入商店,再看后面的 提交你的插件。
Bot 安装时读取 index.json;下表由 CI 根据 JSON 自动生成,请勿手工改表格。
| 名称 | ID | 作者 | 说明 |
|---|---|---|---|
| 牛牛互动 | interact |
@TogetsuDo | 名片点赞、戳一戳回图与群主设置专属头衔。社区插件开发示范。 |
这份仓库只保存“商店条目”,不保存插件代码本体。
| 层级 | 实际内容 | 放在哪里 |
|---|---|---|
| 社区插件索引 | 插件名称、说明、仓库地址、最低版本等元数据 | 本仓 index.json |
| 插件源码 | 真正的 NoneBot 插件代码 | 各作者自己的仓库 |
| 安装结果 | Bot 拉取后的本地插件目录 | local/plugins/<id>/ |
控制台安装社区插件时,Bot 会按索引里的仓库地址去拉代码,不会直接从这个仓库下载 zip。
如果你想把自己的插件加入社区插件商店,按这个顺序做:
- 准备一个公开可访问的插件仓库。
- 确认插件目录本身可以作为标准 NoneBot 插件加载。
- Fork 本仓,只修改
index.json,把你的条目追加到plugins数组。 - 本地运行
python tools/validate_index.py做校验。 - 发起 PR,说明插件是做什么的、仓库地址是什么、你自己怎么测过。
合并后,控制台刷新社区插件列表时就能看到新条目。README 里的插件表会由 CI 自动同步,你不需要手工改。
为避免商店里出现装不上、找不到、说明不清的条目,至少满足这些要求:
- 仓库公开可访问,常见 Git 平台可以正常 clone。
- 插件
id以小写字母开头,只包含a-z、0-9、_,并且和目录名一致。 - 仓库里提供标准插件目录,根目录含
__init__.py。 index.json里写明min_pallas_version,当前建议从4.0.0起填。- 插件用途要能用一句人话说明清楚,不要只写仓库名或技术名词。
- 仓库长期失效、无法安装或明显无人维护的条目,后续可能会被移除。
推荐(非强制):维护版本与更新日志,给用户更好的「更新日志」分栏体验:
- 遵循语义化版本,发布版本打
vX.Y.Zgit tag,可在条目填可选字段version。 - 仓库根目录维护
CHANGELOG.md(Keep a Changelog 格式)。商店「更新日志」分栏优先展示它;缺失时只能按 git 提交历史兜底。 - 写法见 Pallas-Bot · 社区插件开发者指南 · 版本与更新日志。
无需手工改 README 插件表:同源 PR 与合并到 main 后,CI 会运行 tools/sync_readme.py 并自动提交表格更新。
{
"id": "my_plugin",
"name": "示例插件",
"description": "一句话说明功能。",
"repository": "https://github.com/ORG/pallas-plugin-my-plugin.git",
"ref": "main",
"version": "0.1.0",
"author": "作者名",
"homepage": "https://github.com/ORG/pallas-plugin-my-plugin",
"tags": ["工具"],
"min_pallas_version": "4.0.0"
}字段约束见 schema/index.schema.json。
如果你在维护自己的站点,也可以不使用默认社区索引,改成自己的私有列表。
| 方式 | 路径 / 键 | 说明 |
|---|---|---|
| 环境变量 | COMMUNITY_PLUGIN_INDEX_URL |
最高优先级,直接指定远程 JSON |
| 默认远程 | 本仓 main/index.json |
联网时默认使用 |
| 本地覆盖 | data/pallas_config/community_plugin_index.json |
远程失败或未设 URL 时使用 |
| 内置兜底 | Bot 主仓 config/community_plugin_index.json |
最后的保底列表 |
私有站点可以自建一个索引仓或静态 JSON,再把 [env] 里的 COMMUNITY_PLUGIN_INDEX_URL 指过去。