项目介绍:ai-pr-reviewer
概述
ai-pr-reviewer 是一个基于人工智能的代码审查和总结工具,专门用于 GitHub 的 pull request。它通过使用 OpenAI 的 gpt-3.5-turbo
和 gpt-4
模型,提供自动化的代码评审功能。该工具作为 GitHub Action 使用,可以配置为在每个 pull request 和评审评论时自动运行。
功能特色
- PR 总结生成:自动为 pull request 的代码更改生成摘要和发布说明。
- 逐行代码变更建议:对每一行代码进行审查,并提供变更建议。
- 持续增量评审:在 pull request 的每次提交中进行审查,而不是一次性地对整个 pull request 进行审查。
- 成本效益和减少噪音:增量评审通过跟踪提交之间和 pull request 基础之间的更改文件来节省 OpenAI成本,并减少噪音。
- 轻量级模型用于总结:推荐使用
gpt-3.5-turbo
用于轻量级总结任务,而使用gpt-4
用于更复杂的审查和注释任务。 - 与机器人对话:可以与机器人对代码行或整个文件的上下文进行对话,有助于提供背景、生成测试案例并降低代码复杂性。
- 智能跳过简单审查:默认情况下,会跳过对简单更改(如拼写错误修正)的详细评审及对大多数情况下不错的更改的深入审查。可以通过设置配置选项来禁用。
- 可定制提示:可以调整系统消息、总结和发布说明等提示,以专注于审查过程的特定方面或改变审查目标。
安装说明
ai-pr-reviewer 作为一个 GitHub Action 运行。用户需要将下述 YAML 文件添加到他们的代码库中,路径应为 .github/workflows/ai-pr-reviewer.yml
。配置所需的环境变量包括 GITHUB_TOKEN
和 OPENAI_API_KEY
。
使用的 AI 模型
推荐使用 gpt-3.5-turbo
进行较轻任务的总结,并使用 gpt-4
进行更复杂的审查任务。
会话与互动
用户可以通过在评论中标记机器人(例如 @coderabbitai
)来邀请它进入对话,并根据不同上下文获得响应。此外,可以通过在评论中与机器人进行交互以生成如测试计划等。
常见问题
- GitHub Actions 对来自分叉的仓库的机密访问有限。需要使用
pull_request_target
事件来启用该功能。 - 可以通过在工作流文件中设置
debug: true
来启用调试模式,从而显示消息。 - 使用时,代码将发送到 OpenAI 的服务器进行处理,请在使用前与合规团队确认。
免责声明
该工具并非与 OpenAI 专属合作。它使用 OpenAI 的 API 而不是直接通过其门户的 ChatGPT 会话进行通信,具有更保守的数据使用政策。用户在使用于私有代码库前应确保符合合规要求。