Zing 论坛

正文

Codex API Server:将 ChatGPT Plus 转换为标准 OpenAI API 的代理服务

一个基于 FastAPI 的代理服务器,让拥有 ChatGPT Plus 订阅的用户能够通过标准 OpenAI API 格式调用 Codex 模型,同时支持 Anthropic Messages API 和推理模型输出。

OpenAICodexAPI代理FastAPIChatGPT PlusAnthropic大模型Python
发布时间 2026/04/25 12:44最近活动 2026/04/25 12:50预计阅读 5 分钟
Codex API Server:将 ChatGPT Plus 转换为标准 OpenAI API 的代理服务
1

章节 01

导读 / 主楼:Codex API Server:将 ChatGPT Plus 转换为标准 OpenAI API 的代理服务

一个基于 FastAPI 的代理服务器,让拥有 ChatGPT Plus 订阅的用户能够通过标准 OpenAI API 格式调用 Codex 模型,同时支持 Anthropic Messages API 和推理模型输出。

2

章节 02

项目背景与动机

OpenAI 在 2025 年发布了 Codex CLI,这是一款面向 ChatGPT Plus 订阅用户的命令行编程助手。然而,Codex CLI 仅提供了交互式终端界面,并未开放标准的 OpenAI API 端点。对于希望将 Codex 能力集成到现有工具链、IDE 插件或自动化工作流中的开发者来说,这种封闭性构成了障碍。

yhfgyyf/codex-api-server 项目正是为解决这一痛点而生。它通过读取用户本地的 ~/.codex/auth.json 认证文件,将 ChatGPT Plus 的 OAuth 凭证转换为标准的 API 服务,让任何兼容 OpenAI SDK 的工具都能无缝调用 Codex 模型。

3

章节 03

核心架构与技术实现

该项目基于 Python FastAPI 和 httpx 构建,采用异步架构支持高并发请求。其核心设计思路是协议转换:在接收端模拟 OpenAI API 的请求格式,在转发端则使用 Codex CLI 的内部协议与 OpenAI 服务器通信。

服务器默认监听 127.0.0.1:18888,提供以下主要端点:

  • /v1/chat/completions —— 标准 OpenAI 聊天补全接口
  • /v1/responses —— OpenAI Responses API 透传
  • /v1/messages —— Anthropic Messages API 兼容接口
  • /v1/models —— 模型列表查询

这种双协议支持设计使得开发者既可以使用熟悉的 OpenAI Python SDK,也可以使用 Anthropic SDK 访问同一后端服务,极大降低了迁移成本。

4

章节 04

支持的模型与特性

项目支持 OpenAI 近期发布的多个 Codex 系列模型:

  • gpt-5.5、gpt-5.4、gpt-5.4-mini
  • gpt-5.3-codex、gpt-5.3-codex-spark
  • gpt-5.2、gpt-5.2-codex、gpt-5.1-codex
  • gpt-image-2(图像生成模型)

在功能层面,codex-api-server 实现了多项关键特性:

推理过程透明化:支持 reasoning_content 字段输出,让开发者能够看到模型在给出最终答案之前的思考过程。这对于教育场景和复杂问题调试尤为重要。

函数调用支持:完整的工具调用(function calling)实现,包括流式传输场景下的 tool_calls 处理。

自动令牌刷新:后台自动监测 OAuth 令牌有效期,在过期前完成刷新,避免服务中断。

请求日志与导出:所有 API 调用自动记录到 SQLite 数据库,支持 JSONL 格式导出,便于后续分析和模型微调。

5

章节 05

使用场景与代码示例

对于已经使用 OpenAI SDK 的项目,迁移成本几乎为零。只需修改 base_url 指向本地代理服务器:

from openai import OpenAI

client = OpenAI(base_url="http://localhost:18888/v1", api_key="any")

resp = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "解释这段代码"}]
)

更值得关注的是 Anthropic SDK 的兼容支持。开发者可以使用 Anthropic 的 Messages API 格式访问 OpenAI 模型:

import anthropic

client = anthropic.Anthropic(base_url="http://localhost:18888", api_key="any")

resp = client.messages.create(
    model="gpt-5.4",
    max_tokens=4096,
    thinking={"type": "enabled", "budget_tokens": 10000},
    messages=[{"role": "user", "content": "优化这段算法"}]
)

这种跨 SDK 兼容性为工具链整合提供了灵活性,特别是在混合使用多家模型服务的场景中。

6

章节 06

部署与运维考量

项目依赖 Python 3.11+,建议使用 conda 创建独立环境。由于需要读取 ~/.codex/auth.json,部署时需注意文件权限配置。

对于生产环境使用,开发者应考虑:

  1. 访问控制:当前版本未内置身份验证,建议通过反向代理(如 nginx)添加 API Key 验证
  2. 速率限制:作为 ChatGPT Plus 的代理,实际速率受 OpenAI 账户限制
  3. 日志管理:SQLite 数据库会持续增长,需定期归档或清理
  4. 高可用:单进程 FastAPI 服务可通过 gunicorn 多 worker 部署提升并发能力
7

章节 07

社区意义与局限性

codex-api-server 代表了开发者社区对封闭服务的逆向工程努力。它填补了 OpenAI 官方产品矩阵中的空白,让个人订阅用户能够更灵活地使用已付费的服务。

然而,这种架构也存在固有限制:

  • 依赖 Codex CLI 的认证机制,若 OpenAI 更改协议可能失效
  • 作为非官方项目,存在服务条款合规风险
  • 仅适用于已有 ChatGPT Plus 订阅的用户,无法替代独立 API 配额
8

章节 08

总结与展望

对于希望将 Codex 能力集成到现有开发工作流的个人开发者,codex-api-server 提供了一个实用的桥接方案。其双协议支持设计展现了良好的工程思维,而自动令牌管理和请求日志功能则体现了对实际运维需求的考虑。

随着 OpenAI 持续迭代 Codex 产品线,类似的开源代理项目可能会继续演进,或促使官方最终开放更完整的 API 支持。无论如何,这种社区驱动的解决方案在当前阶段为开发者提供了宝贵的灵活性。