GoogleGemini代码审查 gemini-review

使用 Google 的 Gemini CLI 进行代码审查,提供大型代码库的全面分析,支持自动化和交互式审查。

DevOps 0 次安装 0 次浏览 更新于 3/5/2026

Google Gemini 代码审查技能

加载方式:base.md + code-review.md

使用 Google 的 Gemini CLI 进行代码审查,搭配 Gemini 2.5 Pro,拥有 1M 令牌上下文窗口,可以一次性分析整个代码库。

资源链接: Gemini CLI | 代码审查扩展 | Gemini 代码辅助 | GitHub 动作


为什么选择 Gemini 进行代码审查?

特性 好处
Gemini 2.5 Pro 代码的最新推理能力
1M 令牌上下文 整个代码库都能适应 - 不需要分块
免费层 每天 1,000 次请求,使用 Google 账户
一致的输出 清洁的格式,可预测的结构
GitHub 本地 Gemini 代码辅助应用自动 PR 审查

基准性能

基准 分数 备注
SWE-Bench 验证 63.8% Agentic 编码基准
Qodo PR 基准 56.3% PR 审查质量
LiveCodeBench v5 70.4% 代码生成
WebDev Arena #1 网页开发

安装

先决条件

# 检查 Node.js 版本(需要 20+)
node --version

# 如有需要安装 Node.js 20
# macOS
brew install node@20

# 或通过 nvm
nvm install 20
nvm use 20

安装 Gemini CLI

# 通过 npm(推荐)
npm install -g @google/gemini-cli

# 通过 Homebrew(macOS)
brew install gemini-cli

# 或不安装直接运行
npx @google/gemini-cli

# 验证安装
gemini --version

安装代码审查扩展

# 需要 Gemini CLI v0.4.0+
gemini extensions install https://github.com/gemini-cli-extensions/code-review

# 验证扩展
gemini extensions list

认证

选项 1:Google 账户(推荐)

免费层:每天 1,000 次请求,每分钟 60 次请求

# 运行 gemini 并按照浏览器登录
gemini

# 选择:"使用 Google 账户登录"
# 打开浏览器进行 OAuth

这将为您提供带有完整 1M 令牌上下文窗口的 Gemini 2.5 Pro。

选项 2:Gemini API 密钥

免费层:每天 100 次请求

# 从 https://aistudio.google.com/apikey 获取 API 密钥

# 设置环境变量
export GEMINI_API_KEY="your-api-key"

# 或添加到 shell 配置文件
echo 'export GEMINI_API_KEY="your-api-key"' >> ~/.zshrc

# 运行 Gemini
gemini

选项 3:Vertex AI(企业版)

# 针对 Google Cloud 项目
export GOOGLE_API_KEY="your-api-key"
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT="your-project-id"

gemini

交互式代码审查

使用代码审查扩展

# 启动 Gemini CLI
gemini

# 在当前分支上运行代码审查
/code-review

扩展分析:

  • 当前分支上的代码更改
  • 识别质量问题
  • 建议修复

手动审查提示

# 在交互模式中
gemini

# 然后询问:
> 审查这个分支的更改,寻找错误和安全问题
> 分析 src/api/users.ts 潜在的漏洞
> 上次提交的 3 个提交中存在哪些代码质量问题?

无头模式(自动化)

基本用法

# 简单提示执行
gemini -p "审查代码更改,寻找错误和安全问题"

# 带 JSON 输出(用于解析)
gemini -p "审查更改" --output-format json

# 流式传输 JSON 事件(实时)
gemini -p "审查并修复问题" --output-format stream-json

# 指定模型
gemini -m gemini-2.5-pro -p "这个 PR 的深度代码审查"

完整的 CI/CD 示例

# 获取差异并审查
git diff origin/main...HEAD > diff.txt

gemini -p "审查这个代码差异:
1. 安全漏洞
2. 性能问题
3. 代码质量问题
4. 缺少错误处理

差异:
$(cat diff.txt)
" --output-format json > review.json

会话跟踪

# 跟踪令牌使用和成本
gemini -p "审查更改" --session-summary metrics.json

# 查看指标
cat metrics.json

GitHub 集成

选项 1:Gemini 代码辅助应用(最简单)

GitHub Marketplace 安装:

  1. 前往 GitHub Marketplace → Gemini 代码辅助
  2. 点击 “安装” 并选择仓库
  3. PR 自动在打开时进行审查

PR 注释中的命令:

/gemini review     # 请求代码审查
/gemini summary    # 获取 PR 摘要
/gemini help       # 显示可用命令

配额:

  • 免费:每天 33 个 PR
  • 企业:每天 100+ 个 PR

选项 2:GitHub 动作

# .github/workflows/gemini-review.yml
name: Gemini 代码审查

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: 设置 Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: 安装 Gemini CLI
        run: npm install -g @google/gemini-cli

      - name: 运行审查
        env:
          GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
        run: |
          # 获取差异
          git diff origin/${{ github.base_ref }}...HEAD > diff.txt

          # 运行 Gemini 审查
          gemini -p "审查这个拉取请求的差异,寻找错误、安全问题和代码质量问题。具体说明文件名和行号。

          $(cat diff.txt)" > review.md

      - name: 发布审查评论
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = fs.readFileSync('review.md', 'utf8');
            github.rest.issues.createComment({
              owner: context.repo.owner,
              repo: context.repo.repo,
              issue_number: context.issue.number,
              body: `## 🤖 Gemini 代码审查

${review}`
            });

选项 3:官方 GitHub 动作

# .github/workflows/gemini-review.yml
name: Gemini 代码审查

on:
  pull_request:
    types: [opened, synchronize]
  issue_comment:
    types: [created]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
      issues: write

    steps:
      - uses: actions/checkout@v4

      - name: 运行 Gemini CLI
        uses: google-github-actions/run-gemini-cli@v1
        with:
          gemini_api_key: ${{ secrets.GEMINI_API_KEY }}
          prompt: "审查这个拉取请求的代码质量、安全问题和潜在错误。"

按需命令在评论中:

@gemini-cli /review
@gemini-cli 解释这个代码更改
@gemini-cli 为这个组件编写单元测试

GitLab CI/CD

# .gitlab-ci.yml
gemini-review:
  image: node:20
  stage: review
  script:
    - npm install -g @google/gemini-cli
    - |
      gemini -p "审查合并请求的更改,寻找错误、安全问题和代码质量" > review.md
    - cat review.md
  artifacts:
    paths:
      - review.md
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  variables:
    GEMINI_API_KEY: $GEMINI_API_KEY

配置

全局配置

# ~/.gemini/settings.json
{
  "model": "gemini-2.5-pro",
  "theme": "dark",
  "sandbox": true
}

项目配置(GEMINI.md

在项目根目录创建一个 GEMINI.md 文件,用于项目特定的上下文:

# Gemini 项目上下文

## 技术栈
- 严格模式的 TypeScript
- React 18 与 hooks
- FastAPI 后端
- PostgreSQL 数据库

## 代码审查重点区域
1. 类型安全 - 确保正确的 TypeScript 类型
2. React hooks 规则 - 检查依赖数组问题
3. SQL 注入 - 验证参数化查询
4. 认证 - 检查所有端点都有适当的认证

## 约定
- 变量使用 camelCase
- 组件使用 PascalCase
- 所有 API 错误应使用 AppError 类

CLI 快速参考

# 交互式
gemini                          # 开始交互模式
/code-review                    # 运行代码审查扩展

# 无头
gemini -p "prompt"              # 单个提示,退出
gemini -p "prompt" --output-format json   # JSON 输出
gemini -m gemini-2.5-flash -p "prompt"    # 使用更快的模型

# 扩展
gemini extensions list          # 列出已安装的
gemini extensions install URL   # 安装扩展
gemini extensions update        # 更新所有

# 关键标志
--output-format json            # 结构化输出
--output-format stream-json     # 实时事件
--session-summary FILE          # 跟踪指标
-m MODEL                        # 选择模型

比较:Claude vs Codex vs Gemini

方面 Claude Codex CLI Gemini CLI
设置 无(内置) npm + OpenAI API npm + Google 账户
模型 Claude GPT-5.2-Codex Gemini 2.5 Pro
上下文 会话 每次审查新 1M 令牌(巨大!)
免费层 N/A 有限 每天 1,000 次
最适合 快速审查 高准确度 大型代码库
GitHub 本地 @codex Gemini 代码辅助

何时使用每个引擎

场景 推荐引擎
快速流程审查 Claude
关键安全审查 Codex(88% 检测率)
大型代码库(100+ 文件) Gemini(1M 上下文)
免费自动化审查 Gemini
多个视角 三个都用(双/三引擎)

故障排除

问题 解决方案
gemini: command not found npm install -g @google/gemini-cli
Node.js 版本错误 升级到 Node.js 20+
认证失败 重新运行 gemini 并再次登录
扩展未找到 gemini extensions install https://github.com/gemini-cli-extensions/code-review
速率限制 等待或升级到 Vertex AI
CI 中挂起 确保 DEBUG 环境变量未设置

反模式

  • 跳过认证设置 - 在 CI/CD 之前始终配置
  • 在日志中使用 API 密钥 - 使用秘密管理
  • 忽略上下文限制 - 即使 1M 令牌也有限制,对于巨大的单体仓库
  • 每次提交都运行 - 仅在 PR 上使用以节省配额
  • 不设置项目上下文 - 添加 GEMINI.md 以获得更好的审查