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 – 一行命令:
    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
    
    也提供 compose 文件以获得更多选项(内存限制、Watchtower 自动更新、Ollama 桥接等)。
  • 从源代码 – 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;未推断任何其他功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目