CodeRouter代理与模型
CodeRouter

CodeRouter 代理与模型

本页介绍每个代理在 Mac 和 cmux Cloud 机器上如何连接 CodeRouter,以及每个代理如何选择模型。

代理在 Mac 上在 Cloud 机器上
Codexcr codex自动
OpenCodecr opencode自动
Picr pi (实验性)自动
Claude CodeCodeRouter API 密钥自动

在 Mac 上

cr 会启动你已安装的代理,并在本次运行中让它指向 CodeRouter。代理必须在你的 PATH 中。代理名称之后的所有内容都会原样传递。

Codex

cr codex 使用 CodeRouter 模型提供商运行 Codex。exec、review 和 resume 等子命令的用法相同。cr naked 绕过 CodeRouter,运行普通的 Codex。

cr codex
cr codex exec "fix the failing test"
cr codex -m <model>
cr naked

OpenCode

cr opencode 会加载团队 OpenCode Go 账户的模型,除非传入 --model,否则使用第一个模型。--model 的值必须是这些模型之一;如需使用其他提供商,请运行普通的 opencode。

cr opencode
cr opencode --model <model>

Pi

cr pi 会为 Pi 添加一个 coderouter 提供商,其模型与 Codex 相同,除非传入 --model,否则使用第一个模型。提供商是固定的,因此 --provider 会被拒绝。Pi 支持仍处于实验阶段。

cr pi
cr pi --model <model>

Claude Code 和其他 API 客户端

cr 没有 Claude Code 启动器。要在 Mac 上路由 Claude Code,或任何使用 Anthropic Messages API 或 OpenAI Responses API 的工具,请创建一个 CodeRouter API 密钥,并让该工具指向 coderouter.dev。

在 CodeRouter 控制台的 API 密钥部分创建密钥。密钥以 crk_ 开头,只显示一次。创建或吊销密钥需要该团队的 API 密钥管理权限,在你的个人团队中你始终拥有此权限: cmux.com/dashboard/coderouter

# Claude Code and Anthropic Messages API clients
export ANTHROPIC_BASE_URL=https://coderouter.dev
export ANTHROPIC_API_KEY=crk_...
claude

# OpenAI Responses API clients
export OPENAI_BASE_URL=https://coderouter.dev/v1
export OPENAI_API_KEY=crk_...

组织的 API 密钥只使用团队的共享账户。个人团队中的密钥还可以使用你的私有账户。CodeRouter 提供的是 OpenAI Responses API,而不是 Chat Completions。

在无法打开浏览器的机器上,cr login --api-key 使用密钥登录 cr,CODEROUTER_API_KEY 可为单条命令提供密钥。要吊销密钥,请在控制台中操作,或在使用该密钥的机器上运行 cr logout。

cr login --api-key <key>
CODEROUTER_API_KEY=<key> cr codex exec "run the tests"

在 cmux Cloud 机器上

Cloud 机器无需任何设置。每个代理通过 CodeRouter 的私有地址使用你团队的 CodeRouter 账户,cmux 会在 shell 或代理首次启动时写入它的配置:

  • Claude Code 在每次启动时获得 ANTHROPIC_BASE_URL 和一个占位的 ANTHROPIC_API_KEY,而不是从每个 shell 获得,因此它们永远不会覆盖你自己的登录。它的首次运行提示已经预先回答。
  • Codex 会在 ~/.codex/config.toml 中获得一个 cmux 模型提供商。
  • Pi 会在 ~/.pi/agent/models.json 中获得一个提供商覆盖配置。
  • OpenCode 首次启动时会从 CodeRouter 下载提供商列表,保存到 ~/.config/cmux/opencode-team.json,并在每次运行时将其添加到你自己的配置中。

cmux 只在文件不存在时写入,因此你的修改会被保留。已经指定其他模型提供商的 Codex 配置不会被改动。

如果要改用你自己的账户,请在机器上运行 cr use own,然后按代理的常规方式登录:在 Claude Code 中使用 /login,或使用 codex login、opencode auth login。cr use team 切换回团队账户,cr use own codex 只更改一个代理,cr use 显示每个代理的登录方式。如果未做选择,你已在机器上登录的代理会使用你自己的账户,而你的团队没有对应账户的代理会显示其常规登录。更改会在代理下次启动时生效。

照常运行代理即可。cmux coderouter agent 会把单独的提示转换为代理的一次性运行形式;在机器内部,它在当前终端中运行;在 Mac 上,它会像 cmux vm agent 一样在你指定的机器上启动代理。

# Inside a Cloud machine
claude
codex
cmux coderouter agent claude "summarize the current checkout"

# From your Mac
cmux coderouter agent codex --machine brave-otter -- "run the tests"

Cloud 机器使用其所属团队的账户。如果代理报告没有可用账户,请添加一个账户,或将现有账户共享给该团队。

模型

Codex 和 Pi 使用 CodeRouter 所选账户的模型目录,该目录通过 /v1/models 提供,因此 Codex 的模型选择器会显示你的账户可以使用的模型。使用 Codex 的 -m 参数或 /model 命令选择模型。对于 OpenRouter 密钥,CodeRouter 会把不带前缀的 OpenAI 模型 ID 以 openai/<model> 的形式发送。

OpenCode 会列出团队 OpenCode Go 账户的模型。

Claude Code 发送你通过 --model 或 /model 选择的模型,CodeRouter 将其转发到所选账户。订阅账户和 API 密钥账户提供 Anthropic 允许该账户使用的模型。

Bedrock 账户使用内置映射表把 Claude 模型 ID 转换为 Bedrock 模型 ID,Bedrock ID 则原样通过。没有映射的模型会返回 not_found_error。要映射其他模型,请使用 --model 添加账户:

cmux coderouter claude add bedrock --region us-east-1 \
  --model <claude-model-id>=<bedrock-model-id>

在 Cloud 机器内部,cmux coderouter models 会以 JSON 格式输出 Codex 模型目录。

# Inside a Cloud machine
cmux coderouter models