icebear0828/codex-proxy
OpenAI-compatible proxy for ChatGPT Codex Responses API
Codex Proxy – 本地 AI 编程助手中转站
它是什么 – 一个轻量级本地服务器,可将 Codex Desktop 编程助手 API 转换为标准的 OpenAI、Anthropic、Gemini 和 Ollama 兼容端点。它让任何使用这些协议的客户端(Cursor、Claude Code、Continue、Pi 等)都能在不更改客户端的情况下使用 Codex 模型。
主要功能
- 协议转换 – 接受
/v1/chat/completions(OpenAI)、/v1/messages(Anthropic)、Gemini、Codex/v1/responses以及可选的 Ollama/api/chat。处理 SSE 流式、WebSocket 回退、函数调用/工具调用和结构化输出格式。 - 账户池与智能路由 – OAuth PKCE 登录、多个 ChatGPT 账户、自动轮换(最少使用、轮询、粘性)、计划感知路由、令牌刷新、使用量跟踪、禁令检测和可配置的备用 API 密钥。
- 代理池 – 每个账户的上游代理配置、健康检查、自动排除无法连接的代理。
- 反检测/指纹识别 – Rust 原生 TLS 附加组件(reqwest + rustls)重现官方 Codex 桌面客户端的精确请求头和 TLS 指纹,并具有每个账户的设备 ID 和 Cookie 重放。
- 模型目录 – 公开完整的 Codex 模型列表(例如
gpt-5.6-sol、gpt-6-astra、开源gpt-oss-120b),具有基于计划的路由、推理级别后缀(-fast、-high、-ultra)和丰富的元数据。 - 图像生成 – 通过
/v1/responses端点上的image_generation工具,转发到内部gpt-image-2模型。
如何获取
- 桌面安装程序 – 从 Releases 页面下载平台特定的
.exe、.dmg或 AppImage,运行,使用 ChatGPT 账户登录,然后打开http://localhost:8080。 - 无 Node“精简”包 – 包含相同后端但需要您具备 Node 20+ 的 zip。运行提供的
codex-proxy.exe/codex-proxy.sh(或使用--mode=server进行无头操作)。 - npm 风格包 – 下载离线 zip,运行
node install.mjs,然后使用codex-proxy命令启动(需要 Node 22+)。 - Docker – 一行命令:
也提供 compose 文件以获得更多选项(内存限制、Watchtower 自动更新、Ollama 桥接等)。docker run -d --name codex-proxy -p 127.0.0.1:8080:8080 \ -v codex-proxy-data:/app/data -v codex-proxy-config:/app/config \ ghcr.io/icebear0828/codex-proxy:latest-lite - 从源代码 –
git clone … && npm install && cd web && npm install && npm run dev(开发)或npm run build && npm start(生产)。需要 Rust 工具链来编译原生 TLS 附加组件,但 Docker 和二进制发行版附带预构建的二进制文件。
典型用法
# 登录后,从 Web UI 获取代理 API 密钥
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your-proxy-key>" \
-d '{"model":"gpt-5.6-sol","messages":[{"role":"user","content":"Hello!"}],"stream":true}'
响应就像正常的 OpenAI 端点一样流式。
客户端集成示例
- Claude Code (CLI) – 设置
ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY指向代理。 - Codex CLI – 在
~/.codex/config.toml中添加提供者条目,使用base_url = "http://localhost:8080/v1"和wire_api = "responses"。 - Claude Desktop – 启用开发者模式并设置第三方推理网关指向
http://127.0.0.1:8080,使用代理密钥。 - 任何 OpenAI 兼容 SDK – 只需将 SDK 的基础 URL 指向
http://localhost:8080/v1并使用提供的密钥。
为何重要
- 为许多 AI 编码工具提供单一本地网关,避免每个客户端需要管理自己的 ChatGPT 登录。
- 保持流量在设备上,并让您控制使用哪些账户,这有助于保持在免费层限制内或在多个付费账户之间平衡负载。
- Rust TLS 指纹识别使代理与官方 Codex 桌面客户端无法区分,减少上游封锁的机会。
许可证 – 仅限非商业用途(如徽章所示)。
以上所有信息直接取自存储库的 README;未推断任何其他功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目