# CodeRouter 代理與模型

本頁說明每個代理在 Mac 和 cmux Cloud 機器上如何連到 CodeRouter，以及每個代理如何選擇模型。

| 代理 | 在你的 Mac 上 | 在 Cloud 機器上 |
| --- | --- | --- |
| Codex | `cr codex` | 自動 |
| OpenCode | `cr opencode` | 自動 |
| Pi | `cr pi` （實驗性） | 自動 |
| Claude Code | CodeRouter API 金鑰 | 自動 |

## 在你的 Mac 上

cr 會啟動你已安裝的代理，並在該次執行中讓它指向 CodeRouter。代理必須位於你的 PATH 中。代理名稱之後的所有內容都會原樣傳遞。

### Codex

cr codex 會使用 CodeRouter 模型供應商執行 Codex。exec、review 和 resume 等子指令的用法相同。cr naked 會略過 CodeRouter，執行一般的 Codex。

```
cr codex
cr codex exec "fix the failing test"
cr codex -m <model>
cr naked
```

### OpenCode

cr opencode 會載入團隊 OpenCode Go 帳號的模型，除非傳入 --model，否則使用第一個模型。--model 的值必須是這些模型之一；若要使用其他供應商，請執行一般的 opencode。

```
cr opencode
cr opencode --model <model>
```

### Pi

cr pi 會為 Pi 加入一個 coderouter 供應商，其模型與 Codex 相同，除非傳入 --model，否則使用第一個模型。供應商是固定的，因此 --provider 會被拒絕。Pi 支援仍屬實驗性。

```
cr pi
cr pi --model <model>
```

### Claude Code 與其他 API 用戶端

cr 沒有 Claude Code 啟動器。若要在 Mac 上路由 Claude Code，或任何使用 Anthropic Messages API 或 OpenAI Responses API 的工具，請建立 CodeRouter API 金鑰，並讓該工具指向 coderouter.dev。

在 CodeRouter 儀表板的 API 金鑰區段建立金鑰。金鑰以 crk\_ 開頭，只會顯示一次。建立或撤銷金鑰需要該團隊的 API 金鑰管理權限，在你的個人團隊中你一定擁有此權限： [cmux.com/dashboard/coderouter](https://cmux.com/zh-TW/dashboard/coderouter)

```
# Claude Code and Anthropic Messages API clients
export ANTHROPIC_BASE_URL=https://coderouter.dev
export ANTHROPIC_API_KEY=crk_...
claude

# OpenAI Responses API clients
export OPENAI_BASE_URL=https://coderouter.dev/v1
export OPENAI_API_KEY=crk_...
```

組織的 API 金鑰只會使用團隊的共用帳號。個人團隊中的金鑰還能使用你的私人帳號。CodeRouter 提供的是 OpenAI Responses API，而不是 Chat Completions。

在無法開啟瀏覽器的機器上，cr login --api-key 會用金鑰登入 cr，CODEROUTER\_API\_KEY 則可為單一指令提供金鑰。若要撤銷金鑰，請在儀表板中操作，或在使用該金鑰的機器上執行 cr logout。

```
cr login --api-key <key>
CODEROUTER_API_KEY=<key> cr codex exec "run the tests"
```

## 在 cmux Cloud 機器上

Cloud 機器不需要任何設定。每個代理會透過 CodeRouter 的私人位址使用你團隊的 CodeRouter 帳號，cmux 會在 shell 或代理第一次啟動時寫入它的設定：

-   Claude Code 會在每次啟動時取得 ANTHROPIC\_BASE\_URL 和預留位置的 ANTHROPIC\_API\_KEY，而不是從每個 shell 取得，因此它們永遠不會蓋過你自己的登入。它的首次執行提示已經預先回答。
-   Codex 會在 ~/.codex/config.toml 中取得 cmux 模型供應商。
-   Pi 會在 ~/.pi/agent/models.json 中取得供應商覆寫設定。
-   OpenCode 第一次啟動時會從 CodeRouter 下載供應商清單，儲存到 ~/.config/cmux/opencode-team.json，並在每次執行時將其加入你自己的設定。

cmux 只在檔案不存在時才會寫入，因此你的修改會被保留。已經指定其他模型供應商的 Codex 設定不會被變更。

若要改用你自己的帳號，請在機器上執行 cr use own，然後依代理平常的方式登入：在 Claude Code 中使用 /login，或使用 codex login、opencode auth login。cr use team 會切換回團隊帳號，cr use own codex 只變更一個代理，cr use 會顯示每個代理的登入方式。如果沒有做選擇，你已在機器上登入的代理會使用你自己的帳號，而你的團隊沒有對應帳號的代理會顯示其一般登入。變更會在代理下次啟動時生效。

照常執行代理即可。cmux coderouter agent 會把單獨的提示轉換為代理的一次性執行形式；在機器內部，它會在目前的終端機中執行；在 Mac 上，它會像 cmux vm agent 一樣在你指定的機器上啟動代理。

```
# Inside a Cloud machine
claude
codex
cmux coderouter agent claude "summarize the current checkout"

# From your Mac
cmux coderouter agent codex --machine brave-otter -- "run the tests"
```

Cloud 機器會使用擁有它的團隊的帳號。如果代理回報沒有可用的帳號，請加入一個帳號，或將現有帳號共用給該團隊。

## 模型

Codex 和 Pi 會使用 CodeRouter 所選帳號的模型目錄，此目錄透過 /v1/models 提供，因此 Codex 的模型選擇器會顯示你的帳號能使用的模型。請使用 Codex 的 -m 旗標或 /model 指令選擇模型。對於 OpenRouter 金鑰，CodeRouter 會把不帶前綴的 OpenAI 模型 ID 以 openai/<model> 的形式傳送。

OpenCode 會列出團隊 OpenCode Go 帳號的模型。

Claude Code 會傳送你以 --model 或 /model 選擇的模型，CodeRouter 再將其轉送到所選帳號。訂閱帳號和 API 金鑰帳號會提供 Anthropic 允許該帳號使用的模型。

Bedrock 帳號會使用內建對照表將 Claude 模型 ID 轉換為 Bedrock 模型 ID，Bedrock ID 則原樣通過。沒有對照的模型會回傳 not\_found\_error。若要對照其他模型，請使用 --model 加入帳號：

```
cmux coderouter claude add bedrock --region us-east-1 \
  --model <claude-model-id>=<bedrock-model-id>
```

在 Cloud 機器內部，cmux coderouter models 會以 JSON 格式輸出 Codex 模型目錄。

```
# Inside a Cloud machine
cmux coderouter models
```

Canonical: https://cmux.com/zh-TW/docs/coderouter/agents

Documentation index: https://cmux.com/llms.txt
