一个面向 AstrBot 的 GitHub 仓库监控插件。它会定时读取 Repository Events,把新出现的 Push、Commit、Issue 和 Pull Request 活动整理后发送到指定会话。
首次轮询只建立基线,后续仅汇报新增活动;处理状态由 AstrBot 插件 KV 持久化,避免重复通知。
- 🔄 多仓库轮询 - 用统一间隔持续检查多个 GitHub 仓库。
- 🌿 分支筛选 - 默认仅监测
main,也可填写多个指定分支。 - 🎛️ 自由选择内容 - Push、Commit、Issue、PR 可以任意组合或全部关闭。
- 📝 文字汇报 - 按时间展示仓库、分支、SHA、作者、完整信息与直达链接。
- 🖼️ 卡片汇报 - 支持「简约暗色卡片」和「终端风格」,同轮活动合并为一张长图。
- 🤖 AI 变更摘要 - 根据 Commit、变更文件与 Patch 生成固定结构的简体中文变更摘要。
- 🛡️ 自动降级 - AI、Compare 或卡片渲染异常时保留可用信息并回退到文字消息。
- 💾 增量去重 - 记录已处理活动,插件重启后也不会重复推送旧消息。
- 打开 AstrBot WebUI,进入本插件的配置页面。
- 在
repositories中填写仓库,在notification_targets中填写接收消息的群号。 - 选择监测分支、汇报内容与展示方式,保存配置。
仓库示例:
openai/codex消息目标示例:
123456监测分支示例:
main、develop保存后首次轮询只记录当前活动;仓库出现下一条受支持的活动时,插件才会发送汇报。 管理员可发送
/github_check立即检查一次;新汇报仍按已配置的消息目标推送。
Commit 是一条具体的版本记录;Push 是把一个或多个 Commit 推送到远程仓库的动作。插件将两者拆成独立选项,方便按需控制信息密度。
| 选择方式 | 汇报内容 | 是否调用模型 |
|---|---|---|
仅 Push |
分支、操作者、提交数量、时间、链接和 AI 摘要 | 是 |
仅 Commit |
每条 SHA、作者、时间、完整信息、链接和 AI 摘要 | 是 |
Push + Commit |
Commit 明细,并在其后附加一次 Push AI 摘要 | 是 |
| 两者都不选 | 不处理 Push 汇报,但仍记录活动 | 否 |
🔔 GitHub仓库更新通知
📁 仓库:
owner/repository
🔗 链接:https://github.com/owner/repository1. 提交 SHA:
a1b2c3d
分支:main
作者:octocat
信息:feat: add repository monitor🤖 AI 变更摘要: 新增仓库监控能力,并完善活动通知流程。
摘要统一按以下纯文本结构生成,文字和卡片都会保留换行:
一句话总结:简短说明这次更新作用
主要更新:
- 更新了什么 1
- 更新了什么 2
一句话总结由模型控制在 30 个字内,主要更新通常输出 2–4 条;提示已要求不要输出 Markdown 加粗、编号或“主要影响”等额外章节。模型偶发不遵循时不会由程序强制截断。
| 配置项 | 说明 | 默认值 |
|---|---|---|
github_token |
GitHub Token;公开仓库可留空,私有仓库或高频轮询建议填写 | 空 |
poll_interval |
轮询间隔,范围为 1–86400 秒 | 300 |
report_mode |
文字汇报 或 卡片汇报 |
文字汇报 |
card_style |
简约暗色卡片 或 终端风格,仅卡片模式生效 |
简约暗色卡片 |
monitored_branches |
仅监测这些 Push 分支;配置值会去除首尾空白并区分大小写 | ["main"] |
report_event_types |
多选 Push、Commit、Issue、PR |
全部选择 |
notification_targets |
所有仓库共用的群号列表(运行时自动转换为 NapCat 群消息目标) | [] |
repositories |
仓库列表,每项使用 owner/repo 格式 |
[] |
Tip
全局目标每项只需填写群号,例如 123456;运行时会转换为 napcat:GroupMessage:123456。旧版 owner/repo | UMO 订阅格式仍然可用;配置了 notification_targets 时,以全局消息目标为准。
- 同一仓库、同一轮检测到的活动会合并为一条文字消息或一张卡片。
- Issue 与 PR 汇报支持新建、关闭、重新打开;PR 还会识别合并活动。
- Compare 或模型不可用时显示“AI 摘要暂不可用”,Commit 基础明细仍会尽量保留。
- AI 摘要使用“一句话总结 + 主要更新”格式;文字与卡片保留原始换行,摘要不做程序强制截断。
monitored_branches默认只匹配main;非字符串或空配置项会忽略,不支持通配符或正则。- 空
monitored_branches不监测任何 Push/Commit,但 Issue/PR 仍会汇报;被过滤 Push 会记为已处理,重新启用后不会补发。 - 卡片生成失败时全部目标回退为文字;单个目标发送图片失败时只降级该目标。
- 汇报类型全部取消后保持静默,但仍标记活动为已处理;重新启用不会补发旧活动。
AstrBot · 项目版本 v1.0.0
如果它让仓库动态更容易被看见,欢迎反馈与改进。