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 nakedOpenCode
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
# 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