在 Claude Code CLI 中原生使用 Codex的模型:技术实现与实践经验

J
Jayden
Founder
技术文章 2025年10月10日 10721 次阅读
在 Claude Code CLI 中原生使用 Codex的模型:技术实现与实践经验

背景

Claude Code CLI 以其强大的 Agent 能力和工具调用功能,成为了很多开发者的日常工具。但在实际使用中,我们团队发现了一个有趣的需求:能否在保留 Claude Code 的 Agent 能力的同时,使用推理能力更强的 Codex 模型?

这个想法源于一次实际项目。我们在重构一个有 80+ 数据库迁移文件的老项目时,需要分析复杂的外键依赖关系。Claude 模型的工具调用能力很强,可以自动读取和分析文件,但在处理复杂依赖推理时显得力不从心。

于是我们开始探索:能不能让 Claude Code CLI 使用 Codex 模型?

技术实现

协议兼容的挑战

Claude Code CLI 基于 Anthropic API 协议,而 Codex 使用 OpenAI API 协议。两者在请求格式、响应结构、流式输出等方面都存在差异。

我们实现了一个协议转换层来解决这个问题:

请求转换

  • 将 Claude API 的 messages 格式转换为 OpenAI 格式
  • 处理 system prompt 和 user/assistant 消息的差异
  • 转换工具调用(Function Calling)定义

响应适配

  • 将 OpenAI 的 streaming 响应转换回 Claude 格式
  • 保持工具调用结果的兼容性
  • 处理错误码和异常的映射

模型命名策略 为了让 Claude Code CLI 无缝识别,我们设计了特殊的命名格式:

sonnet-[模型名]-[推理预算]

例如:

  • sonnet-gpt-5-high 对应 GPT-5 高推理预算
  • sonnet-gpt-5-codex-medium 对应 Codex 中等推理预算

这样 CLI 会认为这是 Anthropic 的模型变体,实际请求被路由到 OpenAI 后端。

工具调用的兼容

Claude Code CLI 的核心能力在于工具调用。我们需要确保切换到 Codex 后,这些能力不受影响。

关键实现点:

  1. 将 Claude 的 tool use 格式转换为 OpenAI 的 function calling
  2. 保持工具定义的语义一致性
  3. 处理工具调用结果的双向转换

测试表明,转换后的 Codex 模型可以正常使用 Claude Code 的所有工具:文件读写、命令执行、代码搜索等。

实践案例

案例一:复杂依赖分析

回到最初的问题:80 个迁移文件的依赖分析。

使用 sonnet-gpt-5-codex-high

/model sonnet-gpt-5-codex-high
分析这些迁移文件的依赖关系,生成正确的执行顺序

Codex 的深度推理能力体现在:

  • 识别出所有显式外键依赖
  • 发现隐性依赖(如默认值引用其他表)
  • 分析潜在的循环依赖风险
  • 生成拓扑排序后的执行顺序

而 Claude Code 的 Agent 能力负责:

  • 自动读取所有迁移文件
  • 解析文件内容提取依赖信息
  • 执行生成的迁移脚本
  • 验证执行结果

案例二:性能优化

在优化一个慢查询时,我们观察到两种能力的协同:

Agent 能力(Claude Code):

  • 定位相关代码文件
  • 执行 SQL EXPLAIN 分析
  • 运行性能测试对比

推理能力(Codex):

  • 分析 N+1 查询的根本原因
  • 评估多种优化方案的权衡
  • 设计合适的 Eager Loading 策略

最终查询次数从 30+ 降到 3 次,响应时间明显改善。

案例三:代码重构

对一个 2000+ 行的 Service 类进行重构:

Codex 展现了更强的架构思维:

  • 分析类的职责边界
  • 按单一职责原则拆分
  • 考虑依赖注入和可测试性
  • 平衡内聚性和解耦度

Claude Code 则负责:

  • 自动修改所有引用
  • 更新单元测试
  • 验证重构前后行为一致

推理预算的选择

Codex 提供了不同级别的推理预算,适用于不同场景:

High(高推理预算)

  • 适合:算法设计、架构规划、复杂问题诊断
  • 特点:推理深度大,但响应较慢
  • 成本:相对较高

Medium(中等推理预算)

  • 适合:日常开发、代码重构
  • 特点:平衡了推理质量和响应速度
  • 成本:适中

Low(低推理预算)

  • 适合:简单代码生成、快速问答
  • 特点:响应快速
  • 成本:较低

Minimal(最小推理预算)

  • 适合:代码补全、简单修改
  • 特点:极速响应
  • 成本:最低

我们的建议是根据任务复杂度动态切换。

使用体验与建议

优势

1. 能力互补

  • Claude Code 的 Agent 能力处理工具调用和任务执行
  • Codex 的推理能力处理复杂分析和设计

2. 无缝切换

  • 使用 /model 命令即可切换
  • 所有工具和上下文保持可用
  • 不需要改变使用习惯

3. 灵活配置

  • 可以根据任务选择合适的推理预算
  • 在成本和效果之间找到平衡

注意事项

成本控制 高推理预算的成本相对较高。建议:

  • 日常开发使用 medium 或 low
  • 遇到难题时切换到 high
  • 简单任务使用普通 Claude 模型

模型特性差异

  • Codex 在算法和架构设计方面表现更好
  • Claude 在需求理解和对话连贯性上有优势
  • 根据任务特点选择合适的模型

上下文管理 切换模型后建议:

  • 重新明确当前任务目标
  • 必要时重述关键上下文
  • 验证模型理解是否准确

快速开始

UniVibe 已经为所有用户开放了这个功能。配置很简单:

1. 设置环境变量

export ANTHROPIC_BASE_URL="https://api.univibe.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="your-api-key"

2. 启动 Claude Code

claude

3. 切换到 Codex 模型

/model sonnet-gpt-5-codex-high

可用模型列表

GPT-5 系列:

  • sonnet-gpt-5-high - 高推理预算
  • sonnet-gpt-5-medium - 中等推理预算
  • sonnet-gpt-5-low - 低推理预算
  • sonnet-gpt-5-minimal - 最小推理预算

GPT-5 Codex 系列(专为编程优化):

  • sonnet-gpt-5-codex-high - 高推理预算
  • sonnet-gpt-5-codex-medium - 中等推理预算
  • sonnet-gpt-5-codex-low - 低推理预算

技术展望

这次尝试验证了一个有价值的方向:不同 AI 模型可以在保持各自优势的同时协同工作。

未来我们计划:

  • 优化协议转换层的性能
  • 支持更多模型的接入
  • 提供更智能的模型选择建议
  • 探索混合推理的可能性

对于开发者来说,工具的本质是提升效率。Claude Code CLI + Codex 的组合提供了一个新的可能性:在一个熟悉的界面中,根据任务特点灵活选择最合适的 AI 能力。


更多技术细节和使用指南,请参考:

一个订阅,解锁多款 AI 编程助手

无需多重付费,使用 Claude Code、Cursor、OpenAI CodeX 等全部工具

官方原版镜像 全网最低价格 99.99% 高可用