# Codex CLI 接入指南

https://omnimodel.me/apps/codex?lang=zh

> OpenAI 的终端编程代理，走 Responses 协议接入。

## 适用场景

适合在终端里让代理读项目、改文件、跑测试。Codex CLI 走 Responses 协议（`wire_api = "responses"`），密钥从环境变量读取，不写进配置文件。

## 使用建议

编程代理一次任务会连续发出很多请求，输入也长，建议选上下文较长、支持工具调用的模型，并给密钥设置每日消费上限。

## 推理档位

Codex CLI 把 `config.toml` 里的 `model_reasoning_effort` 作为 `reasoning.effort` 发出。平台按模型实际走的线路能接受的档位处理：上游不收请求的档位时改用更高一档，高过最高档时取最高档；模型不能关闭思考时，要求关闭会返回 422 `model.reasoning_off_unsupported`。每个模型的对照表见[模型目录](/catalog)里该模型的「推理档位」一节；发生改写的调用，用量明细里会显示「推理档位改写」。

## 连不通时检查

1. `base_url` 填 `https://omnimodel.me/v1`，不要多写 `/responses`。
2. 密钥以 `key_` 开头且没有被暂停或撤销，错误码 `auth.invalid_key` 表示密钥不可用。
3. 模型 ID 与[模型目录](/catalog)一致，并且在这把密钥的可用模型里。
4. 余额不足会返回 `billing.insufficient_credit`，更多错误见[常见错误](/docs/errors)。

## 配置步骤

1. 安装：npm install -g @openai/codex。
2. 在 shell 配置里导出密钥：export A2AGENT_API_KEY=<上面的 API 密钥>。
3. 把下面这段写进 ~/.codex/config.toml 的最前面，再在项目目录执行 codex。

## 配置参数

- API 地址：`https://omnimodel.me/v1`
- API 密钥：`YOUR_API_KEY`
- 模型：`MODEL_ID`

> 平台对 Codex CLI 的兼容性验收仍在进行，遇到问题请提交工单并附上请求 ID。

```toml
model = "MODEL_ID"
model_provider = "a2agent"

[model_providers.a2agent]
name = "A2Agent"
base_url = "https://omnimodel.me/v1"
env_key = "A2AGENT_API_KEY"
wire_api = "responses"
```

## 常见问题

### 为什么 model 和 model_provider 要放在文件最前面？

TOML 里写在某个表头之后的键会归到那个表。放在最前面才是顶层设置，Codex 才会用它们。

### 可以把密钥直接写进 config.toml 吗？

不建议。env_key 让 Codex 从环境变量读密钥，配置文件可以放心同步或备份。

