Skip to content

什么是 Hub

Hub 是一个托管在 GitHub 上的图片仓库,配合 koishi-plugin-hub-pusl 插件使用,可以实现:

  • Push:在 QQ 群内发送命令 + 图片,Bot 自动上传图片到 Hub 仓库并创建 Pull Request
  • Pull:在 QQ 群内发送命令,Bot 从 Hub 仓库随机拉取一张图片发送到群内

为什么需要 Hub

  1. 审核机制:图片通过 PR 提交,仓库管理员审核后才合入,确保内容合规
  2. 去重:同文件名的图片会被拒绝推送,避免重复
  3. 历史记录:所有图片的提交历史都在 GitHub 上可追溯
  4. 无重复拉取:Bot 按群记录已发送的图片,避免重复发送同一张图

工作流程

群友发送: nwtf-push 可爱小猫 [图片]

    Bot 下载图片

    检查上游仓库是否已存在同名文件 → 有则拒绝

    检查 Token 用户下是否有 Fork → 没有则自动 Fork

    同步 Fork 到上游最新

    在 Fork 上创建分支并上传图片

    从 Fork 向上游创建跨仓库 PR

    管理员审核 PR → 合入

    群友可通过 nwtf-pull 拉取到这张图片

仓库结构

一个标准的 Hub 仓库结构如下:

your-hub-repo/
├── images/
│   ├── 可爱小猫.png
│   ├── 风景照.jpg
│   └── ...
└── README.md

所有图片存放在 images/ 目录下,文件名即图片标题。