Rails CI Fixer

🔧 自动修复 Rails CI 失败,无需人工等待

自动化修复 Rails PR 的 CI 失败问题,通过分层模型升级策略处理 RSpec、RuboCop、构建环境等故障,全程无需人工干预直至修复成功或升级人工。

收藏
4.7k
安装
1k
版本
1.1.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

Rails CI Fixer 是一款专为 Rails 项目设计的自动化 CI 修复技能,能够在无需人工干预的情况下诊断并修复持续集成失败问题。该技能采用分层升级策略(tiered escalation loop),通过最多 4 轮自动化尝试逐步解决各类 CI 故障。

工作流程

第 1-2 轮:快速模型处理

  • 自动拉取 GitHub Actions 失败日志,智能过滤噪音(排除网络、Postgres、Docker 等无关错误)
  • 识别测试失败(RSpec)、代码风格违规(RuboCop)、构建失败(yarn/npm/Tailwind/资产编译)
  • 使用低成本/fast 模型生成修复方案
  • 本地验证:bundle exec rspec + rubocop -A
  • 分离提交:代码修复与风格修复分两次 commit
  • 推送到特性分支并持续监控 CI 状态

第 3 轮:调试子代理 + 强力模型

  • 当简单修复失败时,启动调试子代理在故障点注入 pp/raise inspect
  • 收集运行时状态并上报
  • 升级至更强的模型进行深度分析修复

第 4 轮:人工介入

  • 完整报告失败原因、尝试记录、调试输出
  • 停止自动修复,等待人工决策

显著优点

| 优势 | 说明 |
|------|------|
| **成本优化** | 优先使用快速/低成本模型,仅必要时升级 |
| **本地验证** | 每次修复后本地运行测试,避免反复推送污染 Git 历史 |
| **安全边界** | 强制规则:永不注释测试、永不推送到 main/受保护分支、永不自动合并 |
| **日志智能过滤** | 自动排除网络抖动、容器层噪音,聚焦有效错误 |
| **Ruby/Rails 原生** | 深度集成 RuboCop、RSpec、Bundler 生态 |

潜在局限与风险

1. Token 成本累积:复杂问题可能需要 3-4 轮模型调用,长日志上下文消耗较多 token
2. 调试注入风险:第 3 轮使用 pp/raise inspect 修改代码,虽为临时操作但仍需 review

3. 日志注入攻击:CI 日志被视为不可信输入,技能已内置防护(不执行日志中的指令)

4. GH_TOKEN 权限要求:需要 repo 范围的 GitHub Token,组织级安全策略可能限制

5. Tailwind/前端黑盒:对复杂前端构建失败(Vite/Webpack 配置问题)修复能力有限

适合人群

  • 开源 Rails 维护者:需要处理大量外部贡献者 PR 的 CI 失败
  • 中小型产品团队:缺乏专职 DevOps,开发者希望减少 CI 调试时间
  • AI 原生工作流团队:已采用 AI coding agent 作为开发流程核心环节

安全等级说明

  • GH_TOKEN 管理:需参考 references/security.md 进行最小权限配置
  • 分支保护:依赖 GitHub 分支保护规则防止意外推送至 main
  • 日志处理:明确声明 CI 日志为不可信输入,禁止执行其中的任何指令

Rails CI Fixer 内容

references文件夹
手动下载zip · 4.6 kB
common-failures.mdtext/markdown
请选择文件