章节 01
导读 / 主楼:Codex API Server:将 ChatGPT Plus 转换为标准 OpenAI API 的代理服务
一个基于 FastAPI 的代理服务器,让拥有 ChatGPT Plus 订阅的用户能够通过标准 OpenAI API 格式调用 Codex 模型,同时支持 Anthropic Messages API 和推理模型输出。
正文
一个基于 FastAPI 的代理服务器,让拥有 ChatGPT Plus 订阅的用户能够通过标准 OpenAI API 格式调用 Codex 模型,同时支持 Anthropic Messages API 和推理模型输出。
章节 01
一个基于 FastAPI 的代理服务器,让拥有 ChatGPT Plus 订阅的用户能够通过标准 OpenAI API 格式调用 Codex 模型,同时支持 Anthropic Messages API 和推理模型输出。
章节 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 模型。
章节 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 访问同一后端服务,极大降低了迁移成本。
章节 04
项目支持 OpenAI 近期发布的多个 Codex 系列模型:
在功能层面,codex-api-server 实现了多项关键特性:
推理过程透明化:支持 reasoning_content 字段输出,让开发者能够看到模型在给出最终答案之前的思考过程。这对于教育场景和复杂问题调试尤为重要。
函数调用支持:完整的工具调用(function calling)实现,包括流式传输场景下的 tool_calls 处理。
自动令牌刷新:后台自动监测 OAuth 令牌有效期,在过期前完成刷新,避免服务中断。
请求日志与导出:所有 API 调用自动记录到 SQLite 数据库,支持 JSONL 格式导出,便于后续分析和模型微调。
章节 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 兼容性为工具链整合提供了灵活性,特别是在混合使用多家模型服务的场景中。
章节 06
项目依赖 Python 3.11+,建议使用 conda 创建独立环境。由于需要读取 ~/.codex/auth.json,部署时需注意文件权限配置。
对于生产环境使用,开发者应考虑:
章节 07
codex-api-server 代表了开发者社区对封闭服务的逆向工程努力。它填补了 OpenAI 官方产品矩阵中的空白,让个人订阅用户能够更灵活地使用已付费的服务。
然而,这种架构也存在固有限制:
章节 08
对于希望将 Codex 能力集成到现有开发工作流的个人开发者,codex-api-server 提供了一个实用的桥接方案。其双协议支持设计展现了良好的工程思维,而自动令牌管理和请求日志功能则体现了对实际运维需求的考虑。
随着 OpenAI 持续迭代 Codex 产品线,类似的开源代理项目可能会继续演进,或促使官方最终开放更完整的 API 支持。无论如何,这种社区驱动的解决方案在当前阶段为开发者提供了宝贵的灵活性。