凌晨兩點,手機跳了通知:有人在 PR 留言 @claude fix the TypeError in the dashboard component。你翻了個身繼續睡。早上起來打開 GitHub,Claude 已經改好了、推了 commit、還在 comment 裡解釋了根本原因。

這不是科幻。Claude Code GitHub Actions 就是在做這件事——把 Claude 塞進你的 CI/CD pipeline,讓它在 GitHub 上自動回應 PR、修 bug、寫測試、甚至從 issue 直接生出整個 PR。

它能幹嘛?

一句話:在 GitHub 的 issue 或 PR 裡 @claude 就能觸發 AI 幫你做事。

具體來說:

  • 從 issue 自動建 PR:描述需求,Claude 分析 codebase 後產出完整的 PR
  • 自動 code review:PR 開出來或更新時,Claude 自動分析 diff 並留下 review comments
  • 回應 @claude 指令:在任何 comment 裡 @claude,它會根據上下文回應
  • 修 bug:貼上錯誤訊息,Claude 定位問題並推送修復 commit
  • 寫測試:看到新 code,自動補上對應的測試案例
  • 排程任務:每天早上自動整理昨天的 commit 和 open issues

而且它會讀你 repo 根目錄的 CLAUDE.md,遵守你定義的 coding standards。不是那種亂槍打鳥的通用建議,是真的看過你的 codebase 之後給的。

五分鐘設定完成

方法一:自動安裝(推薦)

打開終端機,在 Claude Code 裡跑一行指令:

1
/install-github-app

它會引導你完成 GitHub App 安裝和 secret 設定。前提是你得是 repo admin。

方法二:手動設定

三個步驟:

1. 安裝 Claude GitHub App

github.com/apps/claude 安裝,給它 Contents、Issues、Pull requests 的讀寫權限。

2. 設定 API Key

到你的 repo Settings → Secrets and variables → Actions,新增一個叫 ANTHROPIC_API_KEY 的 secret,貼上你的 API key。

3. 加入 Workflow 檔案

.github/workflows/ 建立 claude.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

就這樣。現在去你的 PR 裡留言 @claude review this 試試看。

實戰 Workflow 範例

自動 Code Review

每次有人開 PR 或 push 新 commit,Claude 自動跑一輪 review:

1
2
3
4
5
6
7
8
9
10
11
12
13
name: Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Review this pull request for code quality, correctness, and security. Analyze the diff, then post your findings as review comments."
claude_args: "--max-turns 5"

每日摘要報告

用 cron schedule 每天早上九點產出昨天的開發摘要:

1
2
3
4
5
6
7
8
9
10
11
12
13
name: Daily Report
on:
schedule:
- cron: "0 9 * * *"
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "Generate a summary of yesterday's commits and open issues"
claude_args: "--model claude-opus-4-6"

用 Opus 跑複雜任務

預設是 Sonnet,但你可以透過 claude_args 切換模型:

1
claude_args: "--model claude-opus-4-6 --max-turns 10"

Opus 適合需要深度理解 codebase 的複雜任務——大型重構建議、跨模組 bug 追蹤、架構決策分析。Sonnet 則適合日常的 review 和簡單修改,速度快、成本低。

CLAUDE.md:教 Claude 你的規矩

在 repo 根目錄放一個 CLAUDE.md,Claude 在 CI/CD 裡也會讀。內容建議包含:

  • Coding style:命名慣例、縮排規則、import 排序
  • Review 標準:什麼程度的問題要 block、什麼可以 nit
  • 專案架構:核心模組在哪、utility 函數在哪
  • 測試慣例:用什麼 framework、覆蓋率目標、mock 策略

這東西的效果比你想像的大。沒有 CLAUDE.md 的時候,Claude 給的建議是通用的「你應該加 error handling」;有了之後,它會說「這裡應該用 AppError 而不是原生 Error,參考 src/utils/errors.ts 的模式」。

企業環境:AWS Bedrock 和 Google Vertex AI

直接用 Anthropic API 不是唯一選項。如果你的公司有資料駐留或計費需求,可以走 AWS Bedrock 或 Google Vertex AI:

AWS Bedrock 範例

1
2
3
4
5
6
7
8
9
10
11
12
steps:
- name: Configure AWS Credentials (OIDC)
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: us-west-2

- uses: anthropics/claude-code-action@v1
with:
github_token: ${{ steps.app-token.outputs.token }}
use_bedrock: "true"
claude_args: '--model us.anthropic.claude-sonnet-4-6 --max-turns 10'

用 OIDC 做認證,不需要存 AWS access key 到 GitHub secret 裡——credential 是臨時的、自動輪換的,比 static key 安全很多。

Google Vertex AI 範例

1
2
3
4
5
6
7
8
9
10
11
12
steps:
- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v2
with:
workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}

- uses: anthropics/claude-code-action@v1
with:
github_token: ${{ steps.app-token.outputs.token }}
use_vertex: "true"
claude_args: '--model claude-sonnet-4-5@20250929 --max-turns 10'

兩種雲端方案都需要先建立自己的 GitHub App(而不是用 Anthropic 官方的),因為認證流程不同。設定稍微複雜一點,但拿到的是完整的資料控制權。

跟其他工具比一下

Copilot CLI 上週剛加了 Critic agent,Cursor 3 可以從 GitHub 觸發 agent session。Claude Code GitHub Actions 的差異化在哪?

跟 Copilot 比:Copilot 的 CI 整合是 GitHub 原生的,設定更無腦,但模型選擇受限於 GitHub 提供的選項。Claude 這邊你可以用 Opus、Sonnet,透過 MCP 串接外部工具,自由度更高。

跟 Cursor 比:Cursor 3 的 agent 可以從 GitHub 觸發,但本質上是在 Cursor 的雲端跑,不是 GitHub runner 原生環境。Claude Code Action 跑在 GitHub 的 runner 上,repo 的 CI 環境一致,debug 更方便。

共通點:三家都在往「AI 不只是建議,是直接動手改」的方向走。差別在執行環境、模型選擇、和生態系整合。

成本要注意

兩筆帳要算:

GitHub Actions 費用:跑在 GitHub-hosted runner 上,吃你的 Actions minutes。免費額度用完後按 GitHub 的計費標準走。

API 費用:每次 Claude 互動都消耗 token。複雜任務(分析大 PR、跨模組修 bug)的 token 用量會顯著高於簡單 review。

省錢技巧

  • --max-turns 限制對話輪次,避免 Agent 陷入迴圈
  • 日常 review 用 Sonnet,只有複雜任務才切 Opus
  • 設 workflow 層級的 timeout,防止 runaway job
  • 用 GitHub 的 concurrency 控制限制平行執行數

常見問題排解

Claude 不回應 @claude:確認 GitHub App 有裝、workflow 有 enable、API key 有設對。注意是 @claude 不是 /claude

Claude 的 commit 不會觸發 CI:確認你用的是 GitHub App 或自建 App,不是 Actions 的預設 user。預設 user 的 commit 不會觸發後續 workflow。

認證失敗:API key 是否有效?Bedrock/Vertex 的 credential 設定是否正確?Secret 命名是否完全吻合?


Claude Code GitHub Actions 的核心價值不是「讓 AI 幫你寫 code」——那個 Claude Code CLI 就能做。它的價值是把 AI 嵌入團隊的 GitHub 工作流,讓每個 PR、每個 issue 都有一個不會下班的 reviewer 和 implementer 待命。設定五分鐘,之後每天省的時間遠超過這五分鐘。

原文來源:Claude Code GitHub Actions - Official Docs
參考來源:Claude Code in Action - Anthropic Academy
GitHub Repo:anthropics/claude-code-action