Codex
通过 Runtoken 接入 Codex CLI。
准备工作#
开始前,请准备:
- 可运行的 Codex CLI,使用
codex --version查看版本;安装方法见官方说明。 - Runtoken 平台 API Key。
- 支持 Responses 及编程任务所需工具调用的模型 ID。
连接配置#
打开用户配置 ~/.codex/config.toml。如果自行设置了 CODEX_HOME,使用该目录下的配置文件。将以下 Provider 表合并到已有 TOML 中,保留其他设置,不要重复定义同名表。
[model_providers.runtoken]
name = "Runtoken"
base_url = "https://api.runtoken.net/v1"
env_key = "RUNTOKEN_API_KEY"
wire_api = "responses"这段配置不保存密钥。凭据在启动 Codex 的终端中单独设置。
| 配置项 | 配置值 | 作用 |
|---|---|---|
| Provider ID | runtoken | 选择上方定义的配置表。 |
base_url | https://api.runtoken.net/v1 | 用于拼接 Responses 接口,不要在这里附加 /responses。 |
env_key | RUNTOKEN_API_KEY | 指定保存平台 Key 的环境变量名称。 |
wire_api | responses | 使用 Responses 协议。 |
不能只替换模型 ID 就改用 Chat Completions 模型,这套配置使用 Responses 接口。
设置凭据并启动#
在单独的终端中进入一个小型测试项目。以下命令只为这次启动选择 Runtoken,不修改默认 Provider。
export RUNTOKEN_API_KEY="YOUR_PLATFORM_KEY"
codex -c 'model_provider="runtoken"' --model "YOUR_MODEL_ID"$env:RUNTOKEN_API_KEY = "YOUR_PLATFORM_KEY"
codex -c 'model_provider="runtoken"' --model "YOUR_MODEL_ID"将 YOUR_PLATFORM_KEY 替换为平台 Key,YOUR_MODEL_ID 替换为 Runtoken 目录中准确的 Responses 模型 ID。不要把示例占位值原样保存为凭据。真实 Key 不应出现在提示词、截图或共享文件中,包含 Key 的命令也可能保留在终端历史记录里。
检查连接与文件任务#
在交互会话中运行 /status,检查模型和 Provider 信息。发送简短请求后,按时间、模型和 Key 查找 Runtoken 中对应的请求记录。仅查看已保存的登录状态,不能确认实际推理经过哪条路由。
在测试项目中尝试以下任务。
创建 greeting.py,定义 greet(name),返回 "Hello, " 与 name 拼接后的字符串。
重新读取文件并解释它。不要安装依赖,也不要访问网络。检查拟执行的文件修改,保留正常权限控制。随后在同一会话要求:名字为空时返回 "Hello, friend"。同时检查文件结果与第二次请求记录,不只看文字回答。
能力与限制#
Runtoken 推理是无状态的,接入时不要依赖服务端保留的响应 ID 或后台模式。文本请求成功,不代表客户端发送的所有工具结构、压缩操作和推理选项都能使用。
| 功能 | 可用性取决于 |
|---|---|
| Responses 流式输出与工具调用 | 所选模型、网关路由与客户端请求格式。 |
| 上下文压缩 | 客户端使用的压缩协议,以及模型支持的接口。 |
| 托管搜索、图像生成等模型工具 | 是否明确支持该工具,切换 Provider 不会自动开启这些能力。 |
| 本地文件修改与命令执行 | 客户端权限,以及模型能够使用的工具。 |
不要仅为消除报错而开启 Provider 能力标记或扩大上下文配置,这些设置不会增加服务端能力。
排查问题#
结合实际请求路径和错误内容,区分配置问题与模型问题。
| 现象 | 检查方向 |
|---|---|
| 提示缺少环境变量 Key | 在启动终端设置 RUNTOKEN_API_KEY,排错时不要打印完整值。 |
| 请求仍走默认 Provider | 检查启动覆盖参数与实际生效配置。 |
404 | 核对基础地址、模型与接口错误详情,不能仅凭状态码断定原因。 |
| 配置字段或协议被拒绝 | 按当前 CLI 版本的官方配置说明核对字段。 |
| 文本可用,文件任务失败 | 检查被拒绝的工具字段和模型能力。 |
429 或流式中断 | 阅读限额与重置说明;决定重试前先保留部分结果。 |
恢复配置与后续阅读#
关闭测试终端,之后启动时不加 Provider 覆盖参数,即可使用正常选择。不再使用此 Provider 时,只移除新增的配置表,保留其他设置和登录信息。
接口说明见 OpenAI Responses,客户端字段见 Codex 官方配置参考。