# 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-CN/docs/coderouter/cli

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