CodeRouter概览
CodeRouter

CodeRouter

CodeRouter 是 cmux 背后的模型路由器。你的编程代理将请求发送到 CodeRouter,由它把每个请求转发到团队添加的某个订阅或 API 密钥。当某个账户被限流、被拒绝或不可用时,CodeRouter 会把工作转移到另一个账户,让代理继续运行。

为什么使用

  • 汇集多个 ChatGPT、Claude 和 OpenCode Go 订阅以及 API 密钥,并与团队共享。
  • 当某个账户达到用量上限时,代理仍能继续工作。
  • 为 cmux Cloud 机器提供模型访问,而无需在机器上存储凭据。
  • 按账户、按 API 密钥、按 Cloud 机器查看 token 用量。

支持的账户

每个账户为使用其提供商 API 的代理提供服务。Codex 和 Pi 共用一个池;Claude Code 使用另一个由 Claude 账户组成的池。

账户服务对象添加方式
ChatGPT 订阅(个人或团队工作区)Codex, Picr add codex
OpenAI API 密钥Codex, PiCodeRouter 控制台
OpenRouter API 密钥Codex, PiCodeRouter 控制台
OpenCode Go 订阅OpenCodecr add opencode
Claude Max 或 Pro(Claude Code 设置令牌)Claude Codecr add claude
Anthropic API 密钥Claude Codecmux coderouter claude add api-key
Amazon Bedrock 凭据Claude Codecmux coderouter claude add bedrock

CodeRouter 控制台也可以添加 API 密钥、Claude 令牌和 Bedrock 凭据。它会列出每个账户及其状态、冷却时间和活跃会话: cmux.com/dashboard/coderouter

路由机制

只要账户状态正常,每个代理会话都会固定在同一个账户上,从而保持提供商的提示缓存有效。新会话会分配给活跃会话最少的账户。

当提供商返回限流、拒绝凭据或没有响应时,CodeRouter 会让该账户进入冷却,并在另一个账户上重试请求。只有在任何模型输出到达代理之前才会重试,因此已经开始流式传输的响应绝不会被发送两次。

向提供商发出请求的是 CodeRouter 的托管服务。因此提供商流量来自 CodeRouter,而不是你的 Mac 或 Cloud 机器。

在 Mac 上快速开始

  1. 安装 CodeRouter CLI。它会同时以 coderouter 和 cr 两个名称安装。你也可以运行 cmux cr,首次运行时它会提示安装。
  2. 使用你的 cmux 账户登录。cr login 会打开浏览器;请批准其中显示的代码。
  3. 添加订阅。cr add 会打开提供商菜单,cr add codex 会在浏览器中登录 ChatGPT。
  4. 使用 cr codex、cr opencode 或 cr pi 通过 CodeRouter 运行代理。代理名称后面的参数会原样传给代理。
curl -fsSL https://cmux.com/coderouter/install.sh | sh
cr login
cr add codex
cr codex

在 cmux Cloud 机器上

每台 Cloud 机器在创建时就已连接到 CodeRouter。机器上的 Claude Code、Codex、OpenCode 和 Pi 无需登录和设置即可使用团队的账户。

Cloud 机器上的代理是如何配置的

团队与共享

账户属于你当前登录的团队。cr org list 显示你的团队,cr org switch 切换 cr 使用的团队。cmux coderouter 命令接受 --team <id>。

添加到组织的账号会与团队共享,所有成员和团队的 Cloud 机器都可以使用。在控制台中,“设为私有”会将其限制为添加者本人可用,“与团队共享”则恢复共享。

在你的个人团队中,新账号是私有的,你的私有账号也供你自己的 Cloud 机器使用。组织的 Cloud 机器只使用共享账号,因此私有账号必须先共享,机器才能使用。

任何团队成员都可以添加、重命名、停用、转移和移除团队的共享账户。cr transfer 在你确认后将账户转移到另一个团队。

cr org list
cr org switch <name-or-id>
cr accounts
cr transfer [account] [--to <team>]
cr remove [account]

用量与限制

每个提供商按照处理请求的账户自身的套餐和限制进行计量。CodeRouter 会把工作分散到多个账户,但不会提高任何单个账户的上限。

cr 显示每个订阅的配额状态。加上 --watch 每 30 秒刷新一次,或加上 --json 供脚本使用。

cmux coderouter machines 显示每台 Cloud 机器 30 天内的 token 用量和 API 等值金额。在机器内部,cmux coderouter usage 会按天、工作区、代理和模型细分该机器的用量。

API 等值金额是按公开标价计算的估算值,不是账单。

cr
cr usage --watch
cmux coderouter machines

凭据与隐私

  • 提供商凭据在存储前会被加密。任何 CodeRouter API 或控制台页面都不会返回已存储的凭据;账户只显示标签、邮箱或打码后的密钥。
  • cr add 和 cmux coderouter claude add 绝不会把提供商凭据作为命令参数接收,因为那样会留在 shell 历史中。它们从环境变量、标准输入或隐藏提示中读取凭据。
  • cr add codex 和 cr add opencode 会在浏览器中登录提供商。cr codex 仅在本次运行中把 CodeRouter 设置传给 Codex,不会改动你平时的 Codex 登录和配置。
  • Cloud 机器不保存任何凭据。机器上的代理把一个公开的占位密钥发送到 CodeRouter 的私有地址,由机器的网络边缘附加一个绑定到该机器的签名凭据。CodeRouter 会拒绝来自其他机器的该凭据,并在机器删除时将其吊销。
  • 每个 CodeRouter 响应都带有一个标识该请求的 x-coderouter-request-id 标头。

后续步骤