接入文档

商店地址 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,带上它任何写操作都放行。