SuperAPI AI 工具集

babysit-pr

编程与开发

查看项目

更新于 10-15 12:05

技能介绍

用途

babysit-pr 是一个自主 PR 监控技能,用于持续跟踪拉取请求(PR)的健康状况。它从当前分支自动检测 PR,并每 2 分钟轮询一次,检查合并冲突、CI/CD 失败、评审评论以及合并就绪状态。该技能无需设置问答,自动检测一切并应用合理默认值。

主要能力

  • 持续 PR 健康监控:合并冲突、CI 检查、评审评论、合并就绪状态。
  • 评论分类:在监控周期内自主运行,无需计划批准。
  • 跳过范围:已关闭或已合并的 PR、草稿 PR(除非明确要求)。
  • 多平台 CI/CD 检查:支持 GitHub Actions、Buildkite、Vercel、Fly.io。
  • 冲突检测与解决:自动检测合并冲突,尝试变基,安全文件自动解决,复杂冲突通知用户。
  • CI 失败诊断与修复:识别平台、获取日志、分类失败(不稳定测试、代码错误、基础设施、依赖问题),修复并推送。
  • 评论分类与修复:获取未解决线程、分类作者类型与严重性、去重、分类处置(修复或忽略),修复真实问题并推送。
  • 合并就绪评估:检查可合并状态、必需检查通过、评审批准、无未解决阻塞线程。
  • 状态变化通知:仅在状态转换时通知用户,如构建变绿、构建失败、新评审、冲突检测、全部就绪。

使用方式

该技能通过监控工作流运行,包含五个阶段:

  1. 初始化:自动检测 PR,快照当前状态,检测 CI 平台,创建每 2 分钟运行的 cron 任务。
  2. 冲突检查:检查可合并状态,尝试变基,安全文件自动解决,复杂冲突中止并通知。
  3. CI/CD 检查:轮询检查状态,分类通过、待定或失败,诊断失败并修复推送。
  4. 评论检查:统计未解决线程,检测新评论,自主运行评论分类。
  5. 就绪检查:评估合并就绪,通知用户阻塞项或就绪状态。

评论分类工作流在检测到新评论时内联运行,包括获取、分类、修复、验证步骤。

停止监控:用户说“停止 babysitting”或“取消 PR 监控”时删除 cron 任务;会话退出时任务自动清理;PR 合并或关闭时下次轮询自动检测并自行取消。停止时报告最终摘要。

适用场景

  • 需要持续监控 PR 状态、CI 检查和评审评论的开发工作流。
  • 希望自动解决噪声机器人评论、修复简单问题、减少手动干预的团队。
  • 使用 GitHub Actions、Buildkite、Vercel、Fly.io 等 CI/CD 平台的项目。

限制

  • 不自动合并,除非用户明确选择加入。
  • 绝不自动解决人类评论或关键/主要发现。
  • 轮询频率最低为 2 分钟。
  • 仅在状态变化时通知,避免无变化轮询通知。
  • 不使用 --force-with-lease 绝不强制推送。
  • 不在本地验证 lint/测试通过前推送。
  • 不在检查仍在运行时重新诊断失败。
  • 不将 github-actions[bot] 一律分类为噪声,需按内容分类。
  • 使用 bk CLI 前需检查认证,回退到 REST API 或 gh pr checks。

相关技能

  • review-pr:在推送修复前进行本地自审。