# CodeRouter 代理与模型

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

| 代理 | 在 Mac 上 | 在 Cloud 机器上 |
| --- | --- | --- |
| Codex | `cr codex` | 自动 |
| OpenCode | `cr opencode` | 自动 |
| Pi | `cr pi` （实验性） | 自动 |
| Claude Code | CodeRouter 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](https://cmux.com/zh-CN/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
```

Canonical: https://cmux.com/zh-CN/docs/coderouter/agents

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