indada/repopilot
# 学习卡:RepoPilot
一、一句话定位
RepoPilot 是一个验证驱动的 AI 代码迭代助手,基于 OpenAI Codex SDK 将 GitHub Issue/PR 转化为“测试生成→故障复现→代码修复→独立验证”的可控闭环,让开发者保留最终决策权。
二、核心技术/架构亮点
1. Codex 智能体集成:使用 `@openai/codex-sdk` 实现自然语言规则审查、测试设计和修复提案,输出 JSON 结构化结果。
2. 独立 Docker Runner 验证:修复候选代码在隔离容器中执行冻结测试,通过后方可生成修复分支和草稿 PR。
3. 快照与可复现性:提交 SHA 固定、测试文件冻结、失败指纹比对,确保环境波动不干扰修复判定。
4. 多语言/多环境支持:支持 Node/Vitest、pytest、Go test、JUnit XML,以及 Monorepo 和数据库/Redis 等依赖服务。
5. 可配置工作流:支持 `check`(本地验证)、`watch`(GitHub 轮询)、`publish`(自动生成草稿 PR),修复尝试次数、调用次数、超时均可限制。
三、适用场景与目标用户
- 开源维护者:自动化审查同仓库 PR,检查贡献规则,生成回归证据。
- 小型开发团队:在不构建自定义 Agent 控制器的情况下获得测试覆盖和修复建议。
- QA/工具工程师:维护 JS/Python/Go/Java 测试套件和 monorepo 环境。
- Codex 开发者:参考 SDK 编排、结构化输出、独立验证和有限修复的实现范式。
四、可动手动作
1. Clone 并运行:`git clone https://github.com/indada/repopilot.git`,安装依赖,设置 `OPENAI_API_KEY` 和 GitHub Token。
2. 本地试用:对本地仓库执行 `node dist/cli.js check --repo-path ./my-repo` 进行规则审查和测试生成。
3. 接入 Issue 修复:`node dist/cli.js fix --issue 123 --config config.local.json`,自动复现 bug 并尝试修复。
4. 借鉴思路:在自己的 CI/CD 中引入“测试冻结+独立验证”阶段,先验证再合并,减少人工回查成本。
五、学习优先级:P1(排期学习)
理由:项目架构和验证驱动的思想对提升代码质量有直接价值,但需要 OpenAI API 密钥和一定配置成本,适合计划一周内动手尝试。P0 需零门槛快速上手,P1 更适合有明确使用场景时排期实践。⌂