自托管AI DevOps管道:在隔离Docker中测试并自动修复PR
该项目是一个完全自托管的AI DevOps管道,能够接收GitHub webhook,通过大语言模型生成代码补丁,在无网络的Docker沙箱中运行测试,并将验证通过的修复作为PR评论发布。它强调零数据留存、多租户隔离和直接支付AI提供商,无需SaaS费用。
近日,一个名为“AI-DEVOPS-ENGINE”的开源项目在GitHub上发布,它提供了一套完全自托管的AI DevOps管道,能够自动修复代码问题并提交PR评论。该项目由多个微服务组成,包括webhook接收网关、Celery任务队列、FastAPI AI引擎、空气隔离Docker沙箱、Django仪表板以及PostgreSQL数据库。
其核心工作流程是:当GitHub仓库收到PR事件时,webhook经HMAC签名验证后,由网关过滤出默认分支的事件,并将任务放入Redis队列。Celery工作进程随后调用AI引擎,该引擎首先使用正则表达式在内存中清除敏感信息(如AWS密钥、GitHub令牌),然后向OpenRouter发送请求,利用GPT-4o-mini等模型分析代码并生成补丁。生成的补丁被送入空气隔离的Docker沙箱(预装了Pytest或Jest)中运行测试。如果测试通过,机器人会将该修复作为PR评论发布,供开发者审查。整个过程在仪表板上实时记录。
安全性是该项目的重中之重。代码从不持久化存储——PostgreSQL仅保存操作元数据。每个OpenRouter请求都设置“data_collection: deny”,法律上阻止AI提供商利用代码进行训练。沙箱容器无网络访问、内存上限512MB、CPU硬限制为2核,且不挂载主机文件系统。多租户通过PostgreSQL行级安全实现,绕过应用层的过滤机制。此外,后台定期清理孤儿容器。
对于希望快速上手的用户,项目提供了简洁的启动脚本。在macOS或Linux上,只需依次运行make setup、make sandbox和make up即可启动完整堆栈。Windows用户可使用PowerShell脚本。之后通过ngrok暴露webhook地址,并在GitHub App中配置即可。项目还附带了CLI工具,方便直接对文件发起修复请求。
该项目采用Apache-2.0许可证,主要使用Python和HTML编写,并包含少量JavaScript、Shell和TypeScript代码。开发者强调,用户只需直接支付AI提供商的Token费用,无需任何SaaS订阅费。这一设计特别适合对代码隐私和成本控制有严格要求的团队。