核心用法
Rails CI Fixer 是一个自动化修复 Rails 项目 CI 失败的智能工作流,采用分级升级策略:前两轮使用快速/廉价模型处理常见错误,第三轮启动调试子代理并升级为更强模型,第四轮停止并通知人工。覆盖 RSpec 失败、RuboCop 违规、迁移错误、Factory 问题、前端构建失败(yarn/npm/Tailwind)及系统依赖缺失等场景。
执行流程:
1. 通过 gh run view 拉取失败日志,智能过滤噪音(排除 docker/postgres/network 无关信息)
2. 本地验证修复:bundle exec rspec + rubocop -A
3. 代码变更与格式修正分离提交
4. 推送至特性分支并监控 CI,循环直至绿色或触发人工介入
显著优点
- 全自动化闭环:从日志分析到验证、提交、推送、监控无需人工干预
- 成本优化:优先使用廉价模型,复杂问题才升级,降低 AI 调用成本
- 调试深度:第三轮引入调试子代理,注入
pp/raise inspect捕获运行时状态 - 安全边界清晰:明确禁止合并、禁止主分支推送、禁止注释测试
潜在局限
- 本地执行风险:
bundle exec rspec会执行任意代码,仅限可信仓库 - 日志信任边界:CI 日志视为不可信输入,需防范日志投毒攻击
- 模型能力天花板:第四轮强制停止,复杂架构问题仍需人工
- 环境依赖:要求
ghCLI、完整 Ruby 工具链及GH_TOKEN配置
适合人群
Rails 开源维护者、需要批量处理 PR CI 的中小型团队、希望减少机械性调试工作的开发者。不适用于缺乏 CI 日志访问权限或需复杂架构决策的场景。
常规风险
- 供应链安全:
bundle install可能引入恶意 gem,与项目现有风险等同 - Token 泄露:
GH_TOKEN需严格限制reposcope,避免过度授权 - 数据残留:调试子代理注入的
pp/raise可能意外提交,需审查第三轮输出