ChatGPT-CodeReview

GitHub
4.4k 471 简单 1 次阅读 今天ISC语言模型
AI 解读 由 AI 自动生成,仅供参考

ChatGPT-CodeReview 是一款基于 ChatGPT 能力的自动化代码审查机器人,旨在帮助开发团队提升代码质量与协作效率。当开发者在 GitHub 上创建或更新拉取请求(Pull Request)时,它会自动分析代码差异,识别潜在的逻辑错误、规范不一致或可优化之处,并将详细的审查意见直接反馈在 PR 时间线或文件变更中。

这款工具有效解决了人工代码审查耗时费力、标准难以统一以及新手开发者缺乏即时指导等痛点。通过集成大语言模型,它能提供接近资深工程师的审查视角,让团队更专注于核心业务逻辑而非基础语法检查。

ChatGPT-CodeReview 特别适合软件开发者、技术团队负责人以及开源项目维护者使用。无论是个人开发者希望快速获得代码反馈,还是企业团队需要标准化审查流程,都能从中受益。其独特亮点在于高度灵活的部署方式:既支持通过 GitHub Actions 快速集成,也允许用户自建服务以规避公共服务的速率限制和成本问题;同时兼容 OpenAI、Azure 及 GitHub Models 等多种后端模型,并支持自定义提示词、文件过滤规则及多语言输出,满足不同项目的个性化需求。

使用场景

某电商初创团队的后端工程师正在紧急重构订单支付模块,需要在两天内合并多个开发分支并上线新功能。

没有 ChatGPT-CodeReview 时

  • 资深架构师需人工逐行审查数千行代码差异,耗时极长,导致合并请求(PR)在队列中积压超过 24 小时。
  • 疲劳的人工审查容易遗漏边界条件检查、空指针风险等隐蔽逻辑漏洞,直到测试环境报错才被发现。
  • 团队成员代码风格不统一,缺乏即时反馈机制,导致后续需要花费大量时间进行格式修正和规范化争论。
  • 新人开发者因等待反馈时间过长而被迫中断上下文切换,严重拖慢整体迭代节奏。

使用 ChatGPT-CodeReview 后

  • 每次提交代码后,ChatGPT-CodeReview 秒级自动在 PR 时间轴生成详细评审报告,将等待时间从“天”缩短至“分钟”。
  • 工具精准识别出潜在的并发竞争条件和未处理的异常分支,并在文件变更处直接标注修改建议,提前拦截了 3 个严重 Bug。
  • 自动依据团队配置的语言规范指出命名不一致和冗余注释问题,确保合入代码风格整齐划一,减少人为摩擦。
  • 新人开发者能立即获得具体的优化指导和解释,无需打断工作流即可快速修正代码,保持了高效的开发心流。

ChatGPT-CodeReview 通过将 AI 智能嵌入开发流程,把原本滞后的被动审查转变为实时的主动防御,显著提升了代码质量与交付速度。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes该工具基于 Node.js 运行,非本地大模型部署,因此无 GPU 和显存需求。主要运行方式有三种:1. 作为 GitHub App 安装;2. 通过 GitHub Actions 工作流运行(需配置 Ubuntu 环境);3. 自托管(需安装 Node.js 依赖并配置 .env 环境变量,可使用 PM2 或 Docker 部署)。核心依赖为 OpenAI API Key 或 Azure 部署配置。
python未说明
Node.js
npm
pm2
Docker (可选)
ChatGPT-CodeReview hero image

快速开始

代码审查机器人

由 ChatGPT 提供支持的代码审查机器人

翻译版本:英文 | 简体中文 | 繁體中文 | 韩语 | 日语

机器人使用说明

❗️⚠️ 由于成本考虑,BOT 目前仅用于测试目的,并且部署在 AWS Lambda 上,带有速率限制。因此,出现不稳定的情况是完全正常的。建议您自行部署应用。

安装

安装:apps/cr-gpt;

配置

  1. 前往您想要集成此机器人的仓库主页
  2. 点击 settings
  3. secrets and variables 下点击 actions
  4. 切换到 Variables 选项卡,创建一个名为 OPENAI_API_KEY 的新变量,其值为您的 OpenAI API 密钥(对于 GitHub Actions 集成,请将其设置在 secrets 中)image

开始使用

  1. 当您创建一个新的 Pull Request 时,机器人会自动进行代码审查,审查信息将显示在 PR 时间线或文件更改部分。
  2. git push 更新 Pull Request 后,cr 机器人会重新审查已更改的文件。

示例:

ChatGPT-CodeReview/pull/21

image

使用 GitHub Actions

actions/chatgpt-codereviewer

  1. OPENAI_API_KEY 添加到您的 GitHub Actions 秘密中
  2. 创建 .github/workflows/cr.yml 文件,并添加以下内容:
name: Code Review

permissions:
  contents: read
  pull-requests: write
  models: true # 如果选择使用 GitHub 模型,请将其设置为 true

on:
  pull_request:
    types: [opened, reopened, synchronize]

jobs:
  test:
    # if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # 可选;仅在附加标签时运行
    runs-on: ubuntu-latest
    steps:
      - uses: anc95/ChatGPT-CodeReview@main
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

          # 如果使用 GitHub 模型 https://github.com/marketplace/models
          USE_GITHUB_MODELS: true
          MODEL: openai/gpt-4o

          # 如果使用 Azure 部署
          AZURE_API_VERSION: xx
          AZURE_DEPLOYMENT: xx

          # 否则使用标准 LLM 模型
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          OPENAI_API_ENDPOINT: https://api.openai.com/v1
          MODEL: gpt-3.5-turbo # https://platform.openai.com/docs/models

          # 共性
          LANGUAGE: Chinese
          PROMPT: # 示例:请检查以下代码差异中是否存在任何混淆或不规范之处:
          top_p: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-top_p
          temperature: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature
          max_tokens: 10000
          MAX_PATCH_LENGTH: 10000 # 如果补丁/差异长度大于 MAX_PATCH_LENGTH,则会被忽略,不会进行审查。默认情况下,如果没有设置 MAX_PATCH_LENGTH,则对补丁/差异长度没有限制。
          IGNORE_PATTERNS: /node_modules/**/*,*.md # 忽略文件的 glob 模式或正则表达式模式,用逗号分隔
          INCLUDE_PATTERNS: *.js,*.ts # 包含文件的 glob 模式或正则表达式模式,用逗号分隔

自托管

  1. 克隆代码
  2. .env.example 复制到 .env,并填写环境变量
  3. 安装依赖并运行
npm i
npm i -g pm2
npm run build
pm2 start pm2.config.cjs

有关更多详细信息,请参阅 probot

开发

设置

# 安装依赖
npm install

# 构建代码
npm run build

# 运行机器人
npm run start

Docker

# 1. 构建容器
docker build -t cr-bot .

# 2. 启动容器
docker run -e APP_ID=<app-id> -e PRIVATE_KEY=<pem-value> cr-bot

贡献

如果您对如何改进 cr 机器人有任何建议,或者想报告 bug,请提交一个问题!我们欢迎所有贡献。

更多信息,请查看 贡献指南

致谢

该项目受 codereview.gpt 的启发。

许可证

ISC © 2023 anc95

版本历史

v1.0.232026/02/07
v1.0.222025/08/04
v1.0.212025/03/16
v1.0.202024/12/11
v1.0.192024/11/22
v1.0.182024/11/08
v1.0.172024/11/08
v1.0.162024/11/05
v1.0.152024/11/05
v1.0.142024/10/25
v1.0.132024/03/01
v1.0.122024/02/26
v1.0.112023/09/05
v1.0.102023/06/14
v1.0.92023/06/14
v1.0.82023/05/27
v1.0.72023/05/26
v1.0.62023/05/13
v1.0.52023/04/28
v1.0.42023/03/26

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

155.4k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|1周前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|4天前
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|6天前
语言模型数据工具其他

gpt4all

GPT4All 是一款让普通电脑也能轻松运行大型语言模型(LLM)的开源工具。它的核心目标是打破算力壁垒,让用户无需依赖昂贵的显卡(GPU)或云端 API,即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。 对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说,GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点,让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者,还是单纯想体验私有化 AI 聊天的普通用户,都能从中受益。 技术上,GPT4All 基于高效的 `llama.cpp` 后端,支持多种主流模型架构(包括最新的 DeepSeek R1 蒸馏模型),并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端,支持 Windows、macOS 和 Linux 等多平台一键安装,还为开发者提供了便捷的 Python 库,可轻松集成到 LangChain 等生态中。通过简单的下载和配置,用户即可立即开始探索本地大模型的无限可能。

77.3k|★☆☆☆☆|3天前
语言模型开发框架