# CodeRouter CLI 與疑難排解

CodeRouter 有兩組指令。cr（也會以 coderouter 名稱安裝）負責登入、管理訂閱和啟動代理。cmux coderouter 透過已登入的 cmux 應用程式管理團隊的 Claude 帳號和 Cloud 機器用量，並把其他所有指令交給 cr。

## 安裝與登入

安裝程式會將經過總和檢查碼驗證的二進位檔下載到 ~/.coderouter/bin，把 cr 連結到它，並將該目錄加入 shell 的 PATH。再次執行即可更新。支援 arm64 和 x64 架構的 macOS 與 Linux。同一個 CLI 也發佈在 npm 和 PyPI 上。

```
curl -fsSL https://cmux.com/coderouter/install.sh | sh
npm install -g coderouter
uv tool install coderouter
```

cr login 會開啟瀏覽器並印出備用連結。沒有本機瀏覽器時，請使用 --device-auth 並在其他裝置上開啟連結，或使用 cr login --code 貼上代碼或魔術連結。

```
cr login
cr login --device-auth
cr login --code [code-or-url]
cr logout
```

## cr

不帶指令時，cr 會顯示你的帳號及其用量。代理路由一律是明確指定的：一般的 codex、opencode 和 pi 不經過 CodeRouter 也能繼續使用。

```
cr                             # account and usage summary
cr codex [arguments...]
cr opencode [arguments...]
cr pi [arguments...]           # experimental
cr naked [arguments...]        # plain Codex, CodeRouter bypassed (alias: direct)
cr add                         # choose a provider
cr add codex
cr add claude [--label <name>] [--stdin]
cr add opencode
cr remove [account] [--yes]
cr transfer [account] [--to <team>] [--yes]
cr accounts [--watch] [--json] # aliases: list, ls, usage
cr org current | list | switch <name-or-id>
cr login [--api-key <key>] [--device-auth] [--code [code-or-url]]
cr logout
cr doctor
cr upgrade
```

個人和團隊的 ChatGPT 工作區可能使用同一個電子郵件。請為每個工作區各執行一次 cr add codex，並在瀏覽器中選擇工作區；CodeRouter 會把它們保存為不同的帳號。

## cmux coderouter

這些指令會透過 cmux 應用程式執行，應用程式必須正在執行並已登入（cmux auth login）。加上 --json 可取得機器可讀的輸出，加上 --team <id> 可指定目前所選團隊以外的團隊。

```
cmux coderouter status
cmux coderouter machines
cmux coderouter claude list
cmux coderouter claude add oauth-token [--label <name>] [--stdin]
cmux coderouter claude add api-key [--label <name>] [--stdin]
cmux coderouter claude add bedrock [--label <name>] [--region <region>] [--model <claude-id>=<bedrock-id>]...
cmux coderouter claude disable <account>
cmux coderouter claude enable <account>
cmux coderouter claude remove <account>
cmux coderouter claude clear
cmux coderouter agent <claude|codex|opencode|pi> [vm-agent-options] -- <prompt>
```

claude add oauth-token 會讀取 CLAUDE\_CODE\_OAUTH\_TOKEN 或 --stdin。在兩者都沒有的終端機中，它會執行 claude setup-token 並讀取該指令印出的權杖。claude add api-key 會讀取 ANTHROPIC\_API\_KEY、--stdin 或隱藏的提示。claude add bedrock 會讀取 AWS\_ACCESS\_KEY\_ID、AWS\_SECRET\_ACCESS\_KEY 和選用的 AWS\_SESSION\_TOKEN，並從 --region、AWS\_REGION 或 AWS\_DEFAULT\_REGION 取得區域。

<account> 可以是帳號的 ID、標籤或遮蔽後的識別碼。disable 會將帳號移出輪替，直到你再次 enable 它。

其他所有 cmux coderouter 指令以及每個 cmux cr 指令都會原樣執行 cr。缺少 cr 時，cmux 會提議執行安裝程式。cmux 不會把自己的環境變數或登入狀態傳給 cr。

```
cmux cr accounts
cmux coderouter login
```

## 在 Cloud 機器內部

每台 Cloud 機器都有自己的 cmux，其 CodeRouter 指令不需要登入。帳號管理只在你的 Mac 上進行，因此在機器內部 claude、login 和 logout 會被拒絕。

```
cmux auth status [--json]
cmux coderouter status [--json]
cmux coderouter usage [--json|--tsv] [--days <n>]
cmux coderouter models
cmux coderouter accounts [--json]
cmux coderouter org current [--json]
cmux coderouter agent <claude|codex|opencode|pi> [--timeout <seconds>] [args...]
cr use [own|team|auto] [claude|codex|opencode] [--json]   # your own sign-in or the team's accounts
```

## 疑難排解

第一欄中的訊息是代理、cr 或 cmux 印出的內容。

| 訊息或症狀 | 解決方法 |
| --- | --- |
| Sign in with \`cr login\` and retry.（也可能是：Missing coderouter route token.） | 執行 cr login。若是 API 用戶端，請確認金鑰已設定且以 crk\_ 開頭。 |
| Your coderouter session expired or was revoked. | 再次執行 cr login。已撤銷的 API 金鑰會立即失效；請建立新的金鑰。 |
| No healthy Codex subscription is currently available. | 執行 cr 查看每個帳號的狀態。使用 cr add 加入帳號，或等待冷卻結束。若是組織的 Cloud 機器，請將帳號共用給團隊。 |
| No Claude upstream account is configured for this team. | 使用 cr add claude 或 cmux coderouter claude add 加入一個帳號。若是組織的 Cloud 機器，請將它共用給團隊。 |
| Every Claude upstream account of this team is cooling down or disabled. | 等冷卻結束後重試，使用 cmux coderouter claude enable 啟用已停用的帳號，或加入另一個帳號。 |
| 來自 Bedrock 帳號的 not\_found\_error | 該模型沒有 Bedrock 對照。請移除該帳號，然後使用 --model <claude-id>=<bedrock-id> 重新加入。 |
| The team's Bedrock account is missing a region. | 移除該帳號，然後使用 --region 或在設定 AWS\_REGION 的情況下重新加入。 |
| CodeRouter CLI is not installed. | 執行安裝程式，或在 cmux cr 提議安裝時回答 y。 |
| Codex is not installed or is not on PATH（或 OpenCode，或 Pi）. | 安裝該代理。cr 會啟動它在你的 PATH 中找到的那一份。 |
| \`codex\` resolves back to coderouter. | 你的 codex 指令指向了 cr。請把真正的 Codex 執行檔放在 PATH 的最前面。 |
| \`<model>\` is not a coderouter OpenCode model. | 從你的 OpenCode Go 帳號中選擇模型，或執行一般的 opencode 使用其他供應商。 |
| cmux: OpenCode provider configuration is unavailable; retry in one minute. | 機器無法下載 OpenCode 供應商清單。請等待一分鐘後重新啟動 OpenCode。 |
| CodeRouter: TLS edge unreachable, or route rejected（出現在機器內的 cmux auth status 中）. | 機器無法連到 CodeRouter，或 CodeRouter 拒絕了機器的憑證。請稍後重試。如果問題持續，請附上機器名稱和 cmux auth status --json 的輸出聯絡支援團隊。 |
| coderouter is temporarily unavailable. Retry shortly. | CodeRouter 或帳號儲存區暫時無法使用。請重試；如果錯誤持續，請附上請求 ID 回報問題。 |

## 診斷

cr doctor 會顯示 cr 是否已登入，以及它使用哪些 CodeRouter 端點。cmux coderouter status 會顯示 cmux 登入狀態、所選團隊以及該團隊的 Claude 帳號。

```
cr doctor
cmux coderouter status
```

## 取得協助

回報失敗的請求時，請附上 x-coderouter-request-id 回應標頭的值。它能在 CodeRouter 的記錄中找出該請求。

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

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