CodeRouterCLI 与故障排除
CodeRouter

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 的记录中定位到该请求。