前置条件
- 一个 ByteSpike 账号 + 一把 key。GPT-5 / o-系列只要 key 落在任意
能服务它们的分组里(通常是 OpenAI /
default分组)。要经 Responses 翻译触达 Claude 或 Gemini,key 的分组必须包含这些模型。 - 装好 Codex CLI:
配置
Codex CLI 读OPENAI_API_KEY + OPENAI_BASE_URL。两个都设:
验证
401 = key 错了、
402 = 钱包空了、400 model_not_allowed = 默认模型不在 key 的
分组里。
切换模型
大多数版本的 Codex 接受--model:
gpt-5-* 走 OpenAI 原生路径;Claude id 在 ByteSpike
背后会触发 Responses→Messages 翻译。CLI 完全感知不到这个差别。
常见配置
一把 key、多模型 session
一把 key、多模型 session
选一把分组包含你需要切换的全部模型的 key(如果你的账号开了
all-protocols 分组通常就用它)。然后 CLI 就能在单个 session
里用
--model 在 OpenAI 原生和 Claude/Gemini 翻译之间切。推理模式(o-系列 + GPT-5)
推理模式(o-系列 + GPT-5)
结构化输出(JSON Schema)
结构化输出(JSON Schema)
Codex 的
--response-format json_schema=... flag 会作为
response_format 转发到网关,再按模型正确处理(GPT 原生直接
支持 JSON Schema 模式;Claude 路径退化为 text + 解析)。工具定义
工具定义
Codex 的工具定义(
--tools=...)作为 Responses-API 的 tools
数组转发。在 GPT 路径上它是原生的;Claude/Gemini 路径上网关
会翻译成目标模型的原生格式(Claude 用 input_schema,Gemini 用
functionDeclarations)。Codex vs Claude Code —— 什么时候用哪个
| 强项 | Claude Code | Codex CLI |
|---|---|---|
| 天然契合的模型 | Claude 系列(Anthropic Messages 原生) | GPT-5 + o-系列(OpenAI Responses 原生) |
| 工具调用结构 | 更干净 —— Anthropic 直接用 JSON Schema | 噪声更多 —— OpenAI 把 tool_calls 包成字符串 |
| 推理控制 | Opus / Sonnet 4.x 上的 thinking 块 | GPT-5 上的 reasoning.effort: low/medium/high |
| 缓存控制 | cache_control 块(Anthropic 原生) | n/a |
| JSON 模式 | 两边都通过 response_format 支持 | 两边都支持;OpenAI 更成熟 |
排错
| 症状 | 原因 | 处理 |
|---|---|---|
401 invalid x-api-key | key 错了 | 从 console 重新复制 |
402 insufficient_balance | 钱包空了 | 充值 |
400 model_not_allowed | 模型不在 key 的分组里 | 换分组或换模型 |
| 工具调用返回乱码 | 模型路径不支持该工具结构(翻译的 Claude 路径上很少见) | 换到 GPT-5 原生模型,或简化工具结构 |
| 流式中途卡住 | 代理缓冲 | 把 llm.bytespike.ai 加到 NO_PROXY |
下一步
Claude Code CLI
Anthropic 的编码 CLI,同样的配置思路。
/responses 参考
Codex 讲的协议。
Models
GPT-5 / o-系列目录。
Cursor IDE
编辑器层集成。