接入文档
商店地址 https://store.miao.os.kg功能简介
本站为 ILBB 插件市场提供标准化的插件安装与管理服务。它会按你的 GitHub 仓库生成插件条目, 并把作者、版本、时间与仓库地址整理成统一格式,供 ILBB 插件市场读取。
插件本身就放在你自己的 GitHub 仓库里,本站不保存插件代码。ILBB 客户端拿到仓库地址后, 用 Git 协议直接拉取:装最新版拉默认分支,装指定版本在 clone 时带上分支名。
开发者指南
把仓库地址填进提交页面即可。服务器会读出仓库的 README、版本号列表与
plugin-info.json,先跑一遍规范校验,通过后收录。
版本号按分支计算,不看 Release 发行版。要标出某个分支的版本号与更新内容,就在该分支根目录放
version.md;服务器会在提交与刷新时自动读取,取不到就退化成用分支名表示版本。
作者推送新分支后,在插件详情页点刷新就能同步;也可以用下面接口一节里的刷新接口, 带仓库名调用一次即可。
登录与归属
收录、刷新、移除都要先登录 GitHub。服务器会记住每条插件是谁收录的:只有收录它的作者本人 和站长能维护,别人打开详情页只能看,页面上不会出现维护按钮。
收录时还要校验仓库归属,登录账号必须就是仓库的主人,不能替别人收录。
站长持有 PSS_ADMIN_TOKEN,不受这条限制,也能强制收录还不合规的仓库。
归属以谁先收录为准。之后刷新、或者换个人重新提交同一条记录,提交者和收录时间都不会变,抢不走。
本站已经配好 OAuth 应用,点右上角的登录按钮会直接跳去 GitHub 授权,回来就登录好了。 本站只申请读取公开资料的权限,不碰你的任何仓库。
仓库开发规范
目录结构
仓库根目录需要包含:
- 主程序文件,main.py 或 index.py 或 plugin.py 之一。
- 依赖列表文件,requirements.txt 或 requirements.pip 或 dependencies.txt 或 pip.txt 之一。没有第三方依赖就建一个空文件。
- 插件信息文件
plugin-info.json。
仓库命名
仓库名要带前缀,两种写法都认:
ilbb-plugin-demo 或 ilbb_plugin_demo。
服务器取前缀之后的那一截作为插件标识,用于详情页地址与接口查询。
版本说明文件
在分支根目录放 version.md,内容随意,常见写法是第一行写版本号,
后面写这次改了什么。服务器会从前面几行里认出版本号,整段内容作为更新说明展示。
## v1.2.0 - 新增表情包搜索 - 修了一个定时任务重复触发的问题
这个文件不是必需的。没有它,插件依然能收录,只是版本号会显示成分支名。
配置文件字段
plugin-info.json 是一个 JSON 对象,放在仓库根目录。
| 字段 | 必填 | 说明 |
|---|---|---|
plugin-chinese-name | 必填 | 插件的中文名称 |
plugin-about | 必填 | 插件的简要介绍 |
plugin-author | 可选 | 插件作者 |
plugin-version | 可选 | 插件版本号 |
plugin-license | 可选 | 开源协议 |
plugin-homepage | 可选 | 插件主页 |
plugin-tags | 可选 | 标签(数组或逗号分隔) |
plugin-min-ilbb | 可选 | 要求的最低 ILBB 版本 |
一个最小可用的例子:
{
"plugin-chinese-name": "我的测试插件",
"plugin-about": "这是一个用于演示接入流程的插件",
"plugin-author": "你的名字",
"plugin-license": "MIT",
"plugin-tags": ["表情包", "工具"]
}
字段名大小写不敏感,多写的字段会被原样保留,暂不影响展示。
plugin-tags 用数组或逗号分隔都可以。
接口
ILBB 客户端从这里取插件列表:
GET https://store.miao.os.kg/api/plugins
返回体里的 plugins 数组,每个元素大致长这样:
{
"ok": true,
"total": 1,
"plugins": [
{
"name": "ilbb-plugin-demo",
"slug": "demo",
"chinese_name": "我的测试插件",
"about": "这是一个用于演示接入流程的插件",
"author": "你的名字",
"repo": "https://github.com/you/ilbb-plugin-demo",
"clone_url": "https://github.com/you/ilbb-plugin-demo.git",
"ssh_url": "git@github.com:you/ilbb-plugin-demo.git",
"latest_version": "v1.2.0",
"latest_branch": "main",
"version_count": 3,
"uploaded_at": "2026-09-26T14:03:11+08:00",
"updated_at": "2026-09-26T14:03:11+08:00",
"install": {
"latest": "git clone --depth 1 https://github.com/you/ilbb-plugin-demo.git",
"by_version": "git clone --depth 1 -b <分支名> https://github.com/you/ilbb-plugin-demo.git"
},
"versions": [
{
"name": "main",
"version": "v1.2.0",
"title": "v1.2.0",
"changelog": "## v1.2.0\n\n- 新增表情包搜索",
"sha": "a1b2c3d",
"is_default": true,
"clone": "git clone --depth 1 -b main https://github.com/you/ilbb-plugin-demo.git"
}
]
}
]
}
其他接口
| 方法 | 路径 | 鉴权 | 作用 |
|---|---|---|---|
| GET | /api/plugins | 无 | 插件列表,支持 q、tag、author 查询参数 |
| GET | /api/plugins/<插件名或后缀> | 无 | 单个插件详情 |
| GET | /api/meta | 无 | 本站的配置与规范说明 |
| GET | /api/stats | 无 | 插件数、版本数、作者数 |
| GET | /api/health | 无 | 存活检查 |
| POST | /api/inspect | 登录 | 只校验不收录,请求体 {"repo": "..."} |
| POST | /api/plugins | 登录 | 收录,请求体 {"repo": "..."},仓库要在自己名下 |
| POST | /api/plugins/<插件>/refresh | 收录者 | 重新抓取分支与版本 |
| DELETE | /api/plugins/<插件> | 收录者 | 从商店移除 |
网页上点提交、刷新、移除就够了,走接口的话,登录态由浏览器自动带上。
另外站长令牌 X-PSS-Token 也管用,值取自服务器的 PSS_ADMIN_TOKEN,带上它任何写操作都放行。