目录

opencodex:让 Codex 和 Claude Code 跑在任意 LLM 上

opencodex 是一个本地代理,把 Codex 的 Responses API 翻译成任意 LLM provider 的协议。你可以在 Codex CLI、Codex App、SDK 里用 Claude、Gemini、DeepSeek、Grok、GLM、Qwen 甚至本地 Ollama 模型——也能在 Claude Code 里同样用任意模型——不需要等任何人添加官方支持。

Streaming、tool 调用、reasoning token、图片生成,全部双向工作。

npm install -g @bitkyc08/opencodex
ocx init
ocx start

三行命令,Codex 就改道了。默认透传你的 ChatGPT 登录,你随时可以再加别的模型。

Codex CLI / App / SDK ──/v1/responses──▶ opencodex ──▶ 任意 provider
     Anthropic · xAI · Kimi · Google · DeepSeek · Groq · OpenRouter
     Ollama Cloud · Azure · GLM · Mistral · Qwen · GitHub Copilot · 本地 Ollama

opencodex 在 localhost:10100 起一个 HTTP 服务,Codex 的请求先进这个代理,由它翻译成目标 provider 的协议发出去。对 Codex 来说这就是一个 OpenAI 兼容端点,对下游 provider 来说请求格式就是它自己的协议。

五个 adapter 覆盖所有主流协议:

Adapter支持
openai-responsesOpenAI Responses API 透传
openai-chatOpenAI Chat Completions(及所有兼容端点)
anthropicAnthropic Messages API
googleGoogle Gemini(AI Studio / Vertex / Antigravity)
azure-openaiAzure OpenAI

一个协议层解决了 50+ provider 的兼容问题。

这是 opencodex 最核心的价值:把任意模型接到 Codex 里。

以下 7 个 provider 支持 OAuth 登录,不需要 API key,用你现有的账户登录即可,token 自动刷新:

ocx login xai                 # xAI Grok
ocx login anthropic           # Anthropic Claude
ocx login kimi                # Moonshot Kimi
ocx login kiro                # Kiro
ocx login google-antigravity  # Google Cloud Code Assist
ocx login cursor              # Cursor(实验性)
ocx login github-copilot      # GitHub Copilot(设备流 OAuth)

登录后在 Codex 里直接用:

codex -m "anthropic/claude-opus-4-8" "解释这个 stack trace"
codex -m "xai/grok-4.5" "写一个 Rust HTTP 服务"
codex -m "cursor/gpt-5.6-sol" "重构这个模块"

以下 40+ provider 走 API key 方式。最方便的方式是通过 Web 仪表盘添加:

ocx gui   # 打开 http://localhost:10100
  1. “Add Provider”
  2. 从内置 provider 列表里选一个
  3. 粘贴 API key
  4. 模型从 provider 的 /v1/models 端点自动发现,立即可用

完整 API-key provider 列表:

类别Provider
OpenAIopenai-apikey
Anthropicanthropic-apikey
Googlegoogle(Gemini)、google-vertex(Vertex AI)
Azureazure-openai
OpenRouteropenrouterorcarouter
国产大模型deepseekzai(GLM)、qwen-cloudqianfan(百度)、moonshot(Kimi API)、kimi-codeminimaxminimax-cnalibabaalibaba-token-planalibaba-token-plan-intl
国际模型mistralcerebrastogetherfireworksfirepassnvidia(NIM)、groq
网关/聚合openrouterzenmuxlitellmvercel-ai-gatewaycloudflare-ai-gatewaycloudflare-workers-ai
代码助手github-copilot(OAuth 也可)、gitlab-duoumansopencode-goneuralwatt
其他ollama-cloudhuggingfacevenicenanogptsyntheticparallelopencode-zenopencode-freexiaomi(MiMo)、kilomimo-free

也可以直接编辑 ~/.opencodex/config.json

{
  "port": 10100,
  "defaultProvider": "deepseek",
  "providers": {
    "deepseek": {
      "adapter": "openai-chat",
      "baseUrl": "https://api.deepseek.com",
      "apiKey": "${DEEPSEEK_API_KEY}",
      "defaultModel": "deepseek-chat"
    },
    "openrouter": {
      "adapter": "openai-chat",
      "baseUrl": "https://openrouter.ai/api/v1",
      "apiKey": "${OPENROUTER_API_KEY}"
    }
  }
}

${ENV_VAR} 写法在请求时从环境变量展开,key 不会落在配置文件里。

Ollama、vLLM、LM Studio 都行——只要暴露了 OpenAI 兼容端点:

{
  "providers": {
    "ollama": {
      "adapter": "openai-chat",
      "baseUrl": "http://localhost:11434/v1",
      "apiKey": "",
      "defaultModel": "qwen3:32b"
    },
    "vllm": {
      "adapter": "openai-chat",
      "baseUrl": "http://localhost:8000/v1",
      "apiKey": "",
      "defaultModel": "Qwen/Qwen3-32B"
    }
  }
}

只要是一个 OpenAI Chat Completions 兼容的端点,填 baseUrl + apikey 就能接进来。在仪表盘选 Custom,或在 ocx init 里选 custom,输入 base URL 即可。


接入后,模型会出现在 Codex App 的模型选择器里,带 reasoning effort 控制(low / medium / high / xhigh / max / ultra),和原生模型并列。

provider/model 格式指定目标,Codex 自然认识:

# Claude Opus
codex -m "anthropic/claude-opus-4-8" "解释 stack trace"

# Gemini
codex -m "google/gemini-3-pro" "写 auth.ts 的单元测试"

# DeepSeek
codex -m "deepseek/deepseek-chat" "写 SQL migration"

# Ollama 本地模型
codex -m "ollama/llama3" "重构这个函数"

省略 provider/ 前缀时走默认 provider,或者按模型名自动匹配(claude-* → Anthropic,gpt-* → OpenAI)。

opencodex 支持在配置里指定哪些模型出现在 Codex 的 subagent picker 里(最多 5 个)。复杂任务交给 reasoning 模型,快速任务交给便宜模型:

{
  "subagentModels": [
    "anthropic/claude-opus-4-8",
    "deepseek/deepseek-chat",
    "google/gemini-3-pro"
  ]
}

在 v2 多智能体界面下,代理会自动注入委派指引(首选子代理模型 + effort 档位 + 模型清单)。

opencodex 通过一个运行在你 ChatGPT 登录上的 gpt-5.4-mini sidecar,给非 OpenAI 模型补上真实网页搜索图片理解能力。

  • Web Search Sidecar:路由模型触发搜索时,请求转发给 sidecar 做真实 web search,结果塞回给路由模型
  • Vision Sidecar:纯文本模型遇到图片时,sidecar 用 gpt-5.4-mini 描述图像内容再传给路由模型

两个 sidecar 各自可配置开关、后端(openai / anthropic)、模型、每 turn 最大调用次数。

同一个代理也给 Claude Code 用:

ocx claude [args...]

这会启动完全接线的 Claude Code,路由模型通过 claude-ocx-<provider>--<model> 别名出现在原生的 /model 选择器中。Claude Code 的 OAuth 登录保持不变,不影响。

如果你有多个 ChatGPT / Codex 账户,opencodex 能做池化管理:

  • 已有线程保持 affinity:thread id 绑定账户,后续轮次复用,长会话不会中断
  • 新会话自动路由:比较 5 小时 / 每周 / 30 天配额,选使用量最低的健康账户
  • 配额一键刷新:仪表盘的 Codex Auth 页面
  • 429 自动冷却 + failover:配额爆了不会硬报错
ocx service install     # 安装为系统服务,开机自启(launchd / systemd / Task Scheduler)
ocx codex-shim install  # 按需启动:每次运行 codex 时自动启代理
ocx stop                # 停止代理,恢复 Codex 原生配置
ocx uninstall           # 彻底卸载

ocx stop 后,原生 codex 就像从未装过 opencodex 一样工作——零残留。

默认绑 127.0.0.1。暴露到局域网时设置 token:

export OPENCODEX_API_AUTH_TOKEN="your-secret-token"
ocx start

客户端请求头带 x-opencodex-api-key: your-secret-token。token 常量时间比较,防时序攻击。

opencodex 把「Codex 只能跑 OpenAI」这件事拆了。接入成本几乎为零——OAuth 登录一键搞定,API key 粘贴即用,本地模型填个 baseUrl 就能跑。对于已经在用 Codex CLI 或 Claude Code 做日常开发的工程师来说,装上它意味着你可以根据任务选最合适的模型,而不是被绑在一个 provider 上。

项目 MIT 协议,独立社区维护,与 OpenAI / Anthropic 无关。