> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 /code-review 在本機審查

> 在 Claude Code 工作階段中執行 `/code-review`，找出分支變更中的錯誤、將審查指向 pull request 或路徑，並讓 Claude 套用修正。

`/code-review` 是在您工作的工作階段中，於 Claude Code 提示詞輸入處輸入的命令。Claude 會審查您分支上的變更、尋找正確性錯誤，並在對話中回報發現的問題。視您的模型與 effort 等級而定，審查也會涵蓋重複利用、簡化與效率方面的整理。

此命令適用於任何方案。審查在您自己的工作階段中執行，因此會與工作階段的其餘部分一樣，計入您方案的使用量或 API 計費。

<Note>
  若要在 GitHub 上自動審查儲存庫中的每個 pull request，請參閱 [Code Review](/docs/zh-TW/code-review)，這是由 Owner 為您的組織啟用的託管服務。
</Note>

`/review` 是 `/code-review` 的別名。在 v2.1.223 之前，`/review` 是一個獨立的命令，會對 GitHub pull request 執行單次、唯讀的審查。

<Steps>
  <Step title="執行 /code-review">
    執行命令：

    ```text theme={null}
    /code-review
    ```

    未指定目標時，審查會涵蓋您目前分支上的變更。若要改為將審查指向 pull request、其他分支、路徑或提交範圍，請參閱[選擇要審查的內容](#choose-what-to-review)。

    您也可以加入旗標：

    * `--fix`：同時要求 Claude 在審查後將發現的問題套用到您的工作樹。其編輯會經過您的[權限模式](/docs/zh-TW/permission-modes)。
    * `--comment`：將發現的問題以行內留言的形式張貼到 GitHub pull request，或以單一備註的形式張貼到 [GitLab merge request](#post-findings-to-a-gitlab-merge-request)
  </Step>

  <Step title="繼續工作">
    審查會以背景 [subagent](/docs/zh-TW/sub-agents) 的形式執行，擁有自己的上下文視窗，因此不會填滿您的對話。審查完成時，發現的問題會出現在您的對話中。
  </Step>

  <Step title="處理發現的問題">
    請 Claude 修正審查發現的問題。使用 `--fix` 或 `--comment` 時，Claude 會在審查過程中套用或張貼發現的問題，且可能會請您核准其編輯。
  </Step>
</Steps>

<h2 id="choose-what-to-review">
  選擇要審查的內容
</h2>

若要審查目前分支以外的內容，請在 effort 等級與任何旗標之後輸入目標。Claude 會將該文字作為審查目標接收。目標可以是 pull request 編號、分支名稱、檔案路徑或 Git 修訂範圍。在第一欄找到您要審查的內容，並輸入第二欄所示的內容：

| 要將審查指向 | 輸入 |
| :- | :- |
| 您目前的分支與未提交的變更 | `/code-review` |
| 您最近的 15 個提交 | `/code-review HEAD~15..HEAD` |
| 一個分支對照另一個分支 | `/code-review main...my-feature` |
| 單一提交，其中 `abc1234` 為該提交的雜湊值 | `/code-review abc1234^..abc1234` |
| 依編號指定的 pull request | `/code-review 1234` |
| 檔案或目錄路徑 | `/code-review src/auth` |

未指定目標時，`/code-review` 會審查您分支中領先其上游分支的提交，以及您未提交的變更。若分支沒有上游，Claude 會與 `main` 或前一個提交進行比較。

使用 `ultra` 時，Claude Code 會以不同方式解讀目標，如 [effort 等級與旗標之後的文字](#text-after-the-effort-level-and-flags)所述。

<h2 id="what-the-review-reads-and-edits">
  審查會讀取與編輯的內容
</h2>

執行審查前請先確認以下事項，特別是使用 `--fix` 時：

* **編輯**：未使用 `--fix` 時，審查的指令只要求 Claude 提供報告。使用 `--fix` 時，指令還會要求它將發現的問題套用到您的工作樹。無論哪種情況，任何編輯都會經過您的權限模式。
* **倒回**：背景審查會在您工作階段的[檢查點](/docs/zh-TW/checkpointing#subagent-edits-not-restored)之外套用其 `--fix` 編輯。之後，`/rewind` 只會還原 Claude 先前已在您的對話中編輯過的檔案。審查對其他檔案的編輯會保留，因此請使用 git 將其還原。當審查[在前景執行](#run-in-the-foreground)時，它會在您自己的回合中編輯工作樹，因此 `/rewind` 會照常還原其編輯。
* **指令**：審查會遵循您的 `CLAUDE.md`，包括在非互動的 `-p` 執行中。它不會讀取 `REVIEW.md`。該檔案用於設定 GitHub pull request 上的託管 [Code Review 服務](/docs/zh-TW/code-review-customize#use-review-md-for-review-only-rules)。

<h2 id="how-findings-are-reported">
  發現的問題如何回報
</h2>

在以下兩種執行方式中，Claude 都會以回覆中的文字回報發現的問題：

* 在終端機工作階段中，`/code-review` 會以 [forked subagent](/docs/zh-TW/skills#run-skills-in-a-subagent) 的形式執行審查
* 在使用文字或 JSON 輸出的 `-p` 執行中

在會請求發現問題清單的主機應用程式中（例如[桌面應用程式](/docs/zh-TW/desktop#review-your-code)），Claude 會改為透過 [`ReportFindings` 工具](/docs/zh-TW/tools-reference)回報審查發現的問題。報告會以發現問題清單的形式呈現，每個項目會顯示檔案位置、一句話摘要，以及該問題若帶有類別標籤時所顯示的標籤（例如 `correctness`）。主機請求適用於所有 effort 等級，且需要 Claude Code v2.1.218 或更新版本。

當 Claude 在工作階段稍後修正已回報的問題時，會再次回報這些問題。接著 Claude Code 會在更新後的發現問題清單中，將每個問題標記為已修正、已略過或無需變更。

<h2 id="tune-effort-and-arguments">
  調整 effort 與引數
</h2>

除了 `--fix` 與 `--comment` 之外，此命令還接受以下旗標：

* `--post`：在針對 `github.com` pull request 的 `ultra` 雲端審查中，於啟動對話框中預先選取將完成的發現問題張貼到 PR。請參閱[將發現的問題張貼到 pull request](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更新版本。
* `--max-findings <n>`、`--max-findings all` 或 `--max-findings default`：回報最多 `n` 個發現的問題，或使用 `all` 回報所有問題，以取代審查的一般上限。當審查透過發現問題工具回報時，上限為 32。之後的審查會沿用您輸入的值，直到您傳入 `--max-findings default` 為止，但在非互動的 `-p` 執行中傳入的值不會被記住。需要 Claude Code v2.1.288 或更新版本。

傳入 [effort 等級](/docs/zh-TW/model-config#adjust-effort-level)，可在涵蓋範圍與信心程度之間取捨。在 `low` 時，審查會回報它最有把握的問題，因此您看到的誤判會較少。從 `medium` 到 `max`，審查會擴大涵蓋範圍。

若您未輸入等級，審查會沿用您上次輸入的 `low` 到 `max` 之間的等級，即使是在先前的工作階段中輸入的。Claude Code 會顯示如 `Reusing high effort, the level you typed last time` 的通知。以下規則決定每次執行使用哪個等級：

* **輸入等級**：您輸入的等級（例如 `/code-review high`）會改變之後執行所沿用的等級
* **非互動執行**：您在非互動 `-p` 執行中傳入的等級不會更新記住的等級
* **`ultra`**：審查既不使用也不更新記住的等級
* **從未輸入過等級**：審查會使用工作階段目前的 effort

在 v2.1.223 之前，未指定等級的 `/code-review` 一律使用工作階段目前的 effort。

<h3 id="post-findings-to-a-gitlab-merge-request">
  將發現的問題張貼到 GitLab merge request
</h3>

當您為 GitLab merge request 傳入 `--comment` 時，Claude Code 會透過 GitLab 的 `glab` CLI 張貼發現的問題。需要 Claude Code v2.1.257 或更新版本。若未安裝 `glab`，Claude 會改為在終端機中印出發現的問題。

請以 URL 或 `!123` 參照的形式傳入 merge request。只有當檢出的 origin 位於 `gitlab.com` 時，Claude Code 才會將單純的數字或分支名稱視為 merge request。在自行管理的 GitLab 執行個體上，請傳入 URL 或 `!123` 形式。

<h3 id="text-after-the-effort-level-and-flags">
  effort 等級與旗標之後的文字
</h3>

在 effort 等級與旗標之後，Claude Code 會將該行的其餘部分讀取為審查目標。`ultra` 引數會改變這種解讀方式：

* **使用 `ultra` 時**：Claude Code 會將單一字詞讀取為基底分支或 PR 編號。未指明分支或 PR 的較長文字會成為[附加到審查的備註](/docs/zh-TW/ultrareview#pass-a-request-in-plain-words)。`/code-review ultra check my auth changes` 會審查您目前的分支，而 Claude 會將發現的問題與您的備註相關聯。
* **未使用 `ultra` 時**：剩餘的所有內容都是審查目標，即使它以另一個命令名稱開頭也一樣。`/code-review /fix-issue 123` 會以 `/fix-issue 123` 作為目標文字進行審查，而不是將 `/fix-issue` 載入為第二個[堆疊的 skill](/docs/zh-TW/skills#pass-arguments-to-skills)。在 v2.1.218 之前，堆疊在 `/code-review` 之後的命令會展開為其自己的 skill。

<h2 id="run-in-the-foreground">
  在前景執行
</h2>

若要讓審查在前景執行，請執行下列其中一項：

* 以非互動模式執行，使用 `-p` 旗標或 Agent SDK。Claude Code 會等待審查完成，並在回應中包含發現的問題，但 `ultra` 除外，它[不會等待雲端審查](/docs/zh-TW/ultrareview#run-ultrareview-non-interactively)。
* 將 [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/zh-TW/env-vars) 設為 `1`，這也會關閉所有其他背景任務功能
* 在先前的審查仍在進行時，再次執行 `/code-review`

在 v2.1.218 之前，審查會在您的對話中執行。

<h2 id="let-claude-start-the-review">
  讓 Claude 啟動審查
</h2>

Claude 可以自行啟動 `/code-review`，無需您輸入命令：

* **當您以一般語言提出要求時**：請 Claude 審查您的變更，它就可以執行此 skill
* **從排程任務**：以 `/code-review` 作為提示詞的[排程任務](/docs/zh-TW/scheduled-tasks)會執行審查

排程任務永遠不會啟動[雲端審查](#escalate-to-ultrareview)，因此請排程不帶 `ultra` 引數的 `/code-review`。

若要阻止 Claude 與排程任務啟動審查，同時保留 `/code-review` 供您自行輸入，請在[設定檔](/docs/zh-TW/settings#where-settings-live)（例如 `~/.claude/settings.json`）中加入 [`skillOverrides`](/docs/zh-TW/skills#override-skill-visibility-from-settings) 項目：

```json theme={null}
{
  "skillOverrides": {
    "code-review": "user-invocable-only"
  }
}
```

在 v2.1.246 之前，只有在從 Anthropic 取得的功能旗標將其開啟時，Claude 才會自行啟動 `/code-review`。在[不取得功能旗標的工作階段](/docs/zh-TW/env-vars#features-that-need-feature-flag-fetching)中，`/code-review` 只有在您輸入時才會執行，而排程的 `/code-review` 會以純文字形式傳送給 Claude。

<h2 id="escalate-to-ultrareview">
  升級至 ultrareview
</h2>

`/code-review ultra --fix` 會在雲端執行更深入的 [ultrareview](/docs/zh-TW/ultrareview)，然後在發現的問題傳回您的工作階段時，要求 Claude 將其套用到您的工作樹。

Ultrareview 使用自己的範圍：

* **比較的內容**：您目前的分支對照儲存庫的預設分支，加上工作樹中未提交與已暫存的變更
* **敏感檔案**：對於名稱類似憑證或金鑰的檔案（例如 `.env` 與 `*.tfvars` 檔案）的未提交變更，Claude Code 會遵循[將本機儲存庫上傳至雲端工作階段](/docs/zh-TW/claude-code-on-the-web#send-local-repositories-without-github)的規則
* **不同的基底**：傳入分支名稱（例如 `/code-review ultra develop`），即可與不同的基底進行比較

當目標是 `github.com` pull request 時，您可以讓 Claude 以您的 GitHub 帳戶，將[完成的發現問題以留言形式張貼到 PR](/docs/zh-TW/ultrareview#post-findings-to-the-pull-request)。需要 Claude Code v2.1.227 或更新版本。

<Note>
  Ultrareview 需要使用 claude.ai 帳戶進行身分驗證。它不適用於 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry，也不適用於已啟用 Zero Data Retention 或已套用 [HIPAA 設定](/docs/zh-TW/hipaa-setup)的組織。在這些情況下，`/code-review ultra` 會改為在您的工作階段中執行本機審查。使用[客戶管理加密金鑰](https://platform.claude.com/docs/en/manage-claude/cmek)（CMEK）的組織無法執行 ultrareview。若要在本機審查您的變更，請執行 `/code-review`。
</Note>

若要從指令碼或 CI 作業執行雲端審查，請使用 [`claude ultrareview` 子命令](/docs/zh-TW/ultrareview#run-ultrareview-non-interactively)，它會等待發現的問題並將其印出到 stdout。

<h2 id="change-or-build-on-the-review">
  變更或擴充審查
</h2>

`/code-review` 是一個[隨附 skill](/docs/zh-TW/skills#bundled-skills)：其指令內建於 Claude Code 中，因此磁碟上沒有可開啟或編輯的 `SKILL.md` 檔案。若要讓每次審查都遵循專案規則，請將規則加入您的 `CLAUDE.md`。若要更進一步，請從以下其中一個頁面開始：

* **取代命令**：名為 `code-review` 的專案或個人 skill 會取代隨附的 skill 執行，而 `/review` 別名則會繼續執行隨附的審查。請參閱[解決名稱相同的 skill](/docs/zh-TW/skills#resolve-skills-that-share-a-name)。
* **打造您自己的審查者**：撰寫審查者 [subagent](/docs/zh-TW/sub-agents) 或審查 [skill](/docs/zh-TW/skills)
* **使用相關命令**：[`/simplify`](/docs/zh-TW/commands) 僅審查整理方面的問題並套用其修正，而 [`/verify`](/docs/zh-TW/commands) 會執行您的應用程式以確認變更是否有效

此命令在 v2.1.147 之前名為 `/simplify`，當時預設會套用修正。若您曾為了找出錯誤而在指令碼中使用 `/simplify`，請改用 `/code-review --fix`。

<h2 id="related-resources">
  相關資源
</h2>

* [Code Review](/docs/zh-TW/code-review)：為您的組織審查 GitHub 上每個 pull request 的託管服務
* [Ultrareview](/docs/zh-TW/ultrareview)：更深入的雲端審查的設定、限制與費用
* [命令](/docs/zh-TW/commands)：`/code-review`、`/review`、`/simplify` 與 `/verify` 的單行參考
* [Skills](/docs/zh-TW/skills)：隨附 skill 的運作方式，以及如何撰寫您自己的 skill
