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 coderoutercr login 会打开浏览器并打印一个备用链接。没有本地浏览器时,请使用 --device-auth 并在其他设备上打开链接,或使用 cr login --code 粘贴代码或魔法链接。
cr login
cr login --device-auth
cr login --code [code-or-url]
cr logoutcr
不带命令时,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 的记录中定位到该请求。