Claude Code Action:把 Claude 装进 GitHub,PR 和 Issue 里的全自动工程师
Claude Code Action:把 Claude 装进 GitHub,PR 和 Issue 里的全自动工程师
在 PR 里 @ 一下 claude,它读完上下文、给出审查意见、顺手把 bug 修了。
你是否想过:GitHub 的 PR 和 Issue 里如果能直接喊 Claude 来干活会怎样——问它"这个函数在干嘛"、让它"审查这个 PR"、贴张 bug 截图让它修、甚至让它每天定时巡检仓库?
Claude Code Action(anthropics/claude-code-action,9095 stars,MIT)就是 Anthropic 官方给出的答案:一个通用 Claude Code GitHub Action,能回答问题、实现代码变更、审查 PR。它跑在你自己的 GitHub runner 上,已在 v1.0 稳定化——配置大幅简化,还支持 Workload Identity Federation 免静态密钥。
这篇文章讲清楚三件事:它是什么、怎么用起来、以及怎么按你的需求配置。
本文提纲
- 它是什么:GitHub 里的一等公民工程师
- 如何使用:五分钟上手
- 怎么配置:触发方式、prompt 与 claude_args
- 认证:API key、OAuth、OIDC 免密钥
- 进阶玩法:结构化输出、MCP、插件
- 安全边界:这些配置要小心
它是什么:GitHub 里的一等公民工程师
Claude Code Action 是 Anthropic 官方维护的 GitHub Action,把 Claude Code 完整地装进 GitHub 的工作流。它的工作模式是"智能模式检测"——根据触发上下文自动选择执行方式,无需配置 mode:
- 交互模式:有人在 PR/Issue 里
@claude,它读取完整上下文(代码、diff、全部评论)后响应 - 自动化模式:workflow 里给了显式
prompt,它按指令自主执行(如"审查这个 PR 的安全问题") - 分配/打标模式:issue 被分配给特定人或打上特定标签时触发
核心能力:
- 交互式代码助手:回答代码、架构、编程问题
- 代码审查:分析 PR 变更并建议改进
- 代码实现:实现简单修复、重构,甚至新功能
- 进度跟踪:任务执行时用 checkbox 动态更新进度
- 结构化输出:验证过的 JSON 结果自动成为 GitHub Action outputs
- 跑在你的基础设施:action 在你自己的 GitHub runner 执行,API 调用发到你选的提供商
如何使用:五分钟上手
最快路径:一条命令
如果你是直接 Anthropic API 用户且是仓库管理员,最快的方式是用 Claude Code 终端:
claude
# 然后在 Claude Code 里运行:
/install-github-app这条命令会引导你完成 GitHub App 安装和 secrets 配置,全程不用手写。
手动安装三步
- 安装 Claude GitHub App 到你的仓库:https://github.com/apps/claude
- 添加认证到仓库 secrets(二选一):
ANTHROPIC_API_KEY:API key 认证CLAUDE_CODE_OAUTH_TOKEN:OAuth token(Pro 和 Max 订阅用户可在本地跑claude setup-token生成——意味着可以用订阅额度而不是按量 API 计费)
- 复制 workflow 文件:把官方
examples/claude.yml放进你仓库的.github/workflows/
装完之后,去任意 PR 或 Issue 里试试:
@claude What does this function do and how could we improve it?
@claude Can you add error handling to this function?
@claude Please review this PR and suggest improvements
@claude Here's a screenshot of a bug I'm seeing [截图]. Can you fix it?最后一个很实用:Claude 能看图——贴 UI bug 截图让它修视觉问题,这在移动端和前端场景里是杀手级用法。
触发事件
workflow 监听这些 GitHub 事件:
on:
issue_comment:
types: [created] # PR/Issue 评论
pull_request_review_comment:
types: [created] # PR review 评论
issues:
types: [opened, assigned, labeled] # issue 新建/分配/打标
pull_request_review:
types: [submitted] # PR review 提交怎么配置:触发方式、prompt 与 claude_args
v1.0 的配置哲学是两根杠杆:prompt(告诉 Claude 做什么)+ claude_args(直传 Claude Code CLI 参数,控制怎么做)。v0.x 的一堆独立输入(mode、direct_prompt、custom_instructions、max_turns、model、allowed_tools、mcp_config……)全部废弃,统一收编到这两根杠杆下。
最小可用配置(交互模式)
jobs:
claude-response:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}零额外配置——@claude 即插即用。
自动化模式配置
给 prompt 一段指令,Claude 就自主执行而不是等 @:
- uses: anthropics/claude-code-action@v1
with:
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ github.event.pull_request.number }}
Update the API documentation to reflect changes in this PR
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
claude_args: |
--model claude-4-0-sonnet-20250805
--allowedTools Edit,Read,Write常用输入速查
| 输入 | 作用 | 默认 |
|---|---|---|
trigger_phrase |
自定义触发词 | @claude |
assignee_trigger |
issue 分配给谁时触发 | - |
label_trigger |
issue 打上什么标签时触发 | - |
claude_args |
直传 CLI 参数(--max-turns/--model/--allowedTools 等) | "" |
base_branch |
Claude 新建分支的基底分支 | - |
branch_prefix |
Claude 分支前缀 | claude/ |
use_sticky_comment |
PR 评论只占一条(持续更新而非刷屏) | false |
track_progress |
强制跟踪评论模式(checkbox 进度) | false |
plugin_marketplaces / plugins |
安装 Claude Code 插件市场/插件 | "" |
结构化输出:让 Claude 的结果驱动后续步骤
v1.0 最有价值的新能力之一。用 --json-schema 定义 schema,Claude 的结果经校验后自动成为 Action output:
- name: Detect flaky tests
id: analyze
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Check the CI logs and determine if this is a flaky test.
Return: is_flaky (boolean), confidence (0-1), summary (string)
claude_args: |
--json-schema '{"type":"object","properties":{"is_flaky":{"type":"boolean"},"confidence":{"type":"number"},"summary":{"type":"string"}},"required":["is_flaky"]}'
- name: Retry if flaky
if: fromJSON(steps.analyze.outputs.structured_output).is_flaky == true
run: gh workflow run CI这个模式打开了"Claude 分析 → 代码决策"的自动化空间:flaky test 检测自动重跑 CI、按置信度分流 issue、自动打标分类……官方 Solutions Guide 提供了九大现成场景(自动 PR 审查、路径特定审查、外部贡献者特殊处理、定时仓库巡检、issue triage、文档同步、OWASP 安全审查等)。
认证:API key、OAuth、OIDC 免密钥
三种认证路径,按你的环境选:
1. API key(最简单):ANTHROPIC_API_KEY 进 secrets。
2. OAuth token(订阅用户友好):claude setup-token 生成 CLAUDE_CODE_OAUTH_TOKEN,Pro/Max 订阅额度直接用。
3. Workload Identity Federation(WIF)(企业推荐):不存任何静态密钥——Action 用 workflow 的 GitHub OIDC token 换取短期 Anthropic 访问令牌。一次性在 Claude Console 注册 issuer、创建 service account 和 federation rule,然后 workflow 里只放标识符(不是凭据,可以直接明文写):
permissions:
id-token: write # 必需:获取 GitHub OIDC token
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_federation_rule_id: fdrl_xxxxxxxxxxxx
anthropic_organization_id: 00000000-...
anthropic_service_account_id: svac_xxxxxxxxxxxx密钥永不落地、无需轮换、规则可精确匹配到 repo:your-org/your-repo: 前缀——这是企业级的安全姿势。
云厂商:AWS Bedrock、Google Vertex AI、Microsoft Foundry 均支持(use_bedrock / use_vertex 输入,OIDC 认证),适合数据驻留有要求的组织。
进阶配置:MCP、插件与自定义 App
加自定义 MCP server:通过 claude_args 的 --mcp-config,与内置 GitHub MCP server 合并:
- name: Create MCP Config
run: |
cat > /tmp/mcp-config.json << 'EOF'
{
"mcpServers": {
"custom-api-server": {
"command": "npx",
"args": ["-y", "@example/api-server"],
"env": { "API_KEY": "${{ secrets.CUSTOM_API_KEY }}" }
}
}
}
EOF
- uses: anthropics/claude-code-action@v1
with:
claude_args: |
--mcp-config /tmp/mcp-config.json装插件:plugin_marketplaces(市场 Git URL)+ plugins(插件名),在 Claude Code 执行前安装。
自定义 GitHub App:不想装官方 App(权限更严、组织政策限制、用云厂商)时,用官方提供的 manifest 一键创建自己的 App,配合 github_token 输入使用。
安全边界:这些配置要小心
几个安全要点,配置前值得想清楚:
- allowed_bots 默认为空:机器人(dependabot 等)默认不能触发。设
*时要特别小心——公有仓库上外部 App 可能借此调用你的 action(烧你的 API 额度)。 - allowed_non_write_users 是危险开关:允许无写权限用户触发,只配
github_token时可用,README 明确标了 ⚠️。 - 提交签名两选一:
use_commit_signing(GitHub API 签名,简单但不支持 rebase 等复杂 git 操作)或ssh_signing_key(SSH 签名,完整 git 能力,需配bot_id/bot_name)。 - runner 在你自己这边:代码不经过第三方服务器(Anthropic API 调用除外),这比"把仓库授权给 SaaS"的模式干净得多。
参考链接
- GitHub: anthropics/claude-code-action - 官方仓库,9095 stars,TypeScript,MIT
- Usage Guide - 全部输入参数与迁移指南
- Setup Guide - 手动安装、WIF、自定义 App
- Solutions Guide - 九大现成自动化场景
- Security 文档 - 访问控制、权限、提交签名
- Claude GitHub App - 一键安装入口
你会让 Claude 替你审 PR 还是跑定时巡检?评论区聊聊你的用法,觉得有用点个赞让更多开发者看到。
作者: itech001 来源: 公众号:AI人工智能时代(the-ai-era) 网站: https://www.theaiera.top/ 关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top
本文首发于 AI人工智能时代,转载请注明出处。