Claude Code GitHub Actions 配置实战
Anthropic 提供了官方的 GitHub Action @anthropic-ai/claude-code-action,可以让 Claude Code 自动参与你的 PR 审查、Issue 分析和代码质量检查。这篇文章记录了实际配置和使用过程中的经验。
基础:PR 自动审查
最常用的场景是让 Claude 自动审查每个 PR,在评论里给出反馈。
最小可用配置
# .github/workflows/claude-review.yml
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
issue_comment:
types: [created]
jobs:
review:
if: |
(github.event_name == 'pull_request') ||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude'))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
steps:
- uses: anthropic-ai/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}这个配置做了两件事:
- 每次 PR 创建或更新时自动触发 Claude 审查
- 在 PR 评论里
@claude可以和它对话(比如问它某个改动的影响)
配置步骤
- 在 GitHub 仓库的 Settings → Secrets and variables → Actions 中添加
ANTHROPIC_API_KEY - 创建
.github/workflows/claude-review.yml文件,粘贴上面的配置 - 提交后,下一个 PR 就会自动触发
⚠️
API Key 的费用是按调用量计算的。活跃的仓库可能产生不少 API 费用。建议先在一个小项目上试跑,观察单次 PR 审查的 token 消耗再决定是否大规模启用。
进阶:结合 CLAUDE.md 定制审查标准
Claude 在审查时会读取仓库根目录的 CLAUDE.md。你可以在里面指定审查重点:
# CLAUDE.md
## 代码审查重点
- 所有新增的 public 方法必须有 JSDoc 注释
- 不允许直接使用 any 类型
- React 组件必须使用 memo 或 useMemo 避免不必要的重渲染
- 所有 API 接口调用必须有错误处理
- 禁止使用 console.log,统一使用 logger 模块这样 Claude 的审查就不是泛泛的「这里可以优化」,而是针对你团队真正关心的标准来检查。
实用配置:自定义触发和过滤
只审查特定目录的改动
on:
pull_request:
paths:
- 'src/**'
- '!src/**/*.test.ts' # 排除测试文件在 Issue 中用 Claude 分析 Bug
on:
issues:
types: [opened, labeled]
jobs:
analyze:
if: contains(github.event.issue.labels.*.name, 'bug')
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: anthropic-ai/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
trigger_phrase: "/analyze"给 Issue 打上 bug 标签后,评论 /analyze 就会让 Claude 分析 bug 描述并在代码中定位可能的相关文件。
指定使用的模型
- uses: anthropic-ai/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
model: claude-sonnet-4-6 # 审查用 Sonnet 就够了,省费用对于代码审查这类不需要极致推理能力的场景,用 Sonnet 性价比更高。
踩坑记录
Token 消耗比预期高
Claude 审查 PR 时会读取完整的 diff 和相关文件上下文。一个大 PR(改动 20+ 文件)可能消耗几万个 token。控制成本的办法:
- 在
paths里限制触发范围 - 团队规范小 PR(单个 PR 控制在 300 行以内)
- 用 Sonnet 而非 Opus 做常规审查
权限配置不完整
最常见的报错是权限不够。确保 permissions 里包含:
contents: read— 读代码pull-requests: write— 在 PR 中评论issues: write— 如果你要用 Issue 功能
和其他 CI 工具的执行顺序
Claude 的审查是异步的,不会阻塞其他 CI 流水线。如果你想让 Claude 审查在 lint/test 之后运行(这样它能看到 CI 是否通过),用 needs 控制顺序:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm test
claude-review:
needs: test
runs-on: ubuntu-latest
steps:
- uses: anthropic-ai/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}适合的团队规模
根据使用经验,Claude Code Actions 最适合:
- 小团队(2-5 人):人手不够做充分的代码审查,Claude 补充覆盖
- 开源项目:社区贡献者的 PR 质量参差不齐,Claude 做第一轮筛查
- 快速迭代阶段:发版频率高,人工审查跟不上节奏
不太适合:
- 代码高度保密的项目(代码会发送到 Anthropic API)
- 已经有成熟 review 文化和充足人力的大团队
相关内容
- CLAUDE.md 编写指南 — 定制审查标准的关键
- 代码审查与质量保障 — 完整的审查工作流
- Claude Code 定价 — API 费用计算