opencodex:让 Codex 与 Claude Code 接任意模型
opencodex 是一个本地 LLM 代理,把 Codex 的 Responses API 翻译成各家模型协议,让 Codex、Claude Code 等客户端接上 Claude、Gemini、Grok、DeepSeek、Ollama 等模型,还能管理 ChatGPT 账号池。这篇文章讲清它的安装配置、接入现有流程的方式、账号轮换的已知问题,以及它替代不了的部分,帮你判断要不要换。
Codex CLI 和 Codex App 绑死在 OpenAI 的模型上,Claude Code 绑死在 Anthropic 系列,Claude Desktop 也一样。想让这几个客户端跑别的模型,过去的做法要么等客户端自己开放配置项,要么自己维护一层转换脚本去改请求和响应。前一种要等,后一种每次上游协议动一下就得跟着改。opencodex 把这层转换做成了一个跑在本地的进程。
opencodex 是 TypeScript 写的本地 LLM 代理,把 Codex 的 Responses API 转成各家模型协议,让 Codex 与 Claude Code 用上任意模型。
它夹在客户端和模型服务中间。客户端照常把请求发到本地端口,代理翻译成上游听得懂的格式,再把回来的流式输出、工具调用、推理 token、图片按客户端认识的协议转回去。上游可以是 Claude、Gemini、Grok、GLM、DeepSeek、Kimi、Qwen、Ollama,也可以是任何 OpenAI 兼容端点,内置 provider 有 40 多家。

仓库地址是 https://github.com/lidge-jun/opencodex,MIT 许可证,代码以 TypeScript 为主,占 96.9%。截止 2026-09-30 抓取时,它有 16691 star、1253 fork、26 watcher、114 个开放 Issue,最近一次提交在 2026-09-30,npm 上最新版本是 v2.73.0,包名 @bitkyc08/opencodex。
这件事以前怎么做
Codex 系客户端跟 OpenAI 的协议绑在一起,Claude Code 跟 Anthropic 绑在一起。想让它们跑名单外的模型,常见路径就是等官方支持,或者自己写转换脚本,用一层适配去抹平请求结构和响应格式的差异。
多账号的麻烦在另一头。几个 ChatGPT 账号的 5 小时、每周、30 天配额各剩多少,通常靠人记;会话跑到一半想换账号,上下文容易断。仓库的事实材料里没有给出此前方案的具体形态,这两处是它要接手的事情。
换成它之后
- 装。终端里跑
npm install -g @bitkyc08/opencodex,要求 Node 18+,Bun 运行时由这个包自带,不用另外装。 - 起。跑
ocx start,代理和 dashboard 一起起来,默认监听localhost:10100。要它常驻后台,用ocx service。 - 配。浏览器打开
http://localhost:10100,在 dashboard 里加 provider。内置 40 多家,也可以填任何 OpenAI 兼容端点,然后挑模型。ocx gui可以随时把 dashboard 重新打开。 - 接。Codex CLI、Codex App、Codex SDK、Claude Code、Claude Desktop、Grok Build 都指向这个代理就行,客户端那边看到的还是它自己的协议。
- 管账号。多个 ChatGPT / Codex 账号加进账号池,dashboard 里刷 5h、weekly、30d 三档配额。路由策略有 quota、round-robin、fill-first 三种:quota 策略下新会话挑用量最低的健康账号,另外两种各按自己的规则走。也可以给账号排一个选择顺序,把比如 Codex Desktop 的登录账号留到后面再动用。
- 桌面版。目前是 beta。macOS 13+ 拿 .dmg,已经用 Developer ID 签名并公证;Windows x64 拿 .msi,尚未代码签名,SmartScreen 会问一次;Linux x86_64 拿 .AppImage 或 .deb,托盘需要桌面环境支持 AppIndicator。
协议翻译这一层是双向的,streaming、tool calls、reasoning tokens、images 都在覆盖范围内。仓库里还有 Dockerfile 和 compose.yaml,走容器部署的可以从这两个文件入手。
怎么接进现有流程
输入是客户端发到本地 10100 端口的请求,输出是代理转发给上游 provider 的请求和回传的响应流。客户端不用改代码,代理也不碰客户端的业务逻辑。
代理需要一直挂着。命令行方式用 ocx service 让它后台常驻;桌面版带托盘,可以附着到一个已经在跑的代理上,也可以启用它自带的那个,dashboard 始终跟着代理端口走。仓库里没有说明它自带定时任务,配额刷新需要在 dashboard 里手动触发。
账号亲和这块要留意:已有的 Codex 线程默认绑在启动它的那个账号上,SSH、tmux、手机连着的长会话不会中途跳账号。配额重新评估、failover、账号排除、亲和过期,以及 401/403 和 429 的恢复流程,都可能让线程重新绑定。
账号池只该拿自己拥有、或者已经拿到明确授权的账号来用。多个账号的注册与使用要遵守上游服务商的条款,把订阅额度对外转给别人用可能违反条款,也会带来账号被封的风险。
同类项目的横向对照
| 项目 | 适合谁 | 部署方式 | 主要限制 | 什么情况下选它更合适 | 项目地址 |
|---|---|---|---|---|---|
| opencodex | 主力客户端是 Codex CLI、Codex App 或 Claude Code,手上有多个 ChatGPT / Anthropic 账号要按配额轮换的开发者 | 全局 npm 安装后跑 ocx start,仓库另有 Dockerfile 与 compose.yaml,桌面版处于 beta | Windows 安装包没有代码签名;Linux 托盘依赖 AppIndicator;集中多用户托管仍是待解决的 roadmap;开放 Issue 114 个 | 客户端是 Codex 系或 Claude Code 系,并且想顺带管一个 ChatGPT 账号池 | opencodex |
| decolua/9router | 客户端种类比 Codex 更杂、Cursor、Cline、Copilot 都要接的人 | 仓库没有说明 | 未逐一核实 | 客户端列表里 Cursor、Cline、Copilot 这些比 Codex 更重要 | decolua/9router |
| askalf/dario | 主要在 Cursor、Cline、Aider、Claude Code 里工作,想直接用 Claude 与 ChatGPT 订阅的人 | 仓库没有说明 | 未逐一核实 | 入口以 IDE 类客户端为主,不需要 Codex App 与账号池 | askalf/dario |
选型上有一处要摆明:opencodex 的客户端面集中在 Codex 系与 Claude Code 系,如果你的入口在 Cursor、Cline、Aider 或 Copilot,那两个项目覆盖的客户端更贴你的日常,这一点 opencodex 不如它们。它的优势在账号池:要让 Codex App 和 Claude Desktop 同时接非原生模型,又要按配额自动分配账号,目前给的方案最具体。另外两个项目在给定材料里没有提到账号池,这部分是否支持需要你自己核实。
它替代不了的部分
- 它不训练也不托管模型,换掉的是客户端的模型来源,模型本身的能力仍由上游 provider 决定。
- 集中托管的多用户模式还没有。Issue 里「Centrally hosted multi-user OpenCodex with tenant isolation」仍在 roadmap 上、标着待解决,要多人共用一套代理并做租户隔离,目前没有官方方案。
- 桌面版处于 beta 阶段,Linux 托盘依赖 AppIndicator,Windows 安装包没有代码签名。
- 仓库里没有说明它覆盖上面几个客户端之外的场景。
真实用户踩过的坑集中在协议边缘。有人在会话里遇到第一次失败之后频繁的 502 upstream_server_error,报的场景是 gpt-5.6-sol 配 OpenAI,这条已经解决。Windows 上 ocx service stop 报告成功但代理并没有停,--native 开关还会破坏已有的 backend,这条也已经解决。Codex WebSocket 在一轮对话中途断掉后没有 SSE 回退,记录里 prelude-timeout 那半已修掉,整条按已解决处理。还有一条待解决的是 provenance-aware Codex CLI update manager,用来跟踪 Codex 运行时的来源。
值不值得换
下面几种情况换它划算:主力客户端是 Codex CLI、Codex App 或 Claude Code,而你要用的模型不在 OpenAI 或 Anthropic 的名单里;手上有多个 ChatGPT 或 Anthropic 账号,需要按配额给新会话自动分配,又不想让长会话中途换账号;你要的是本地代理,不打算把请求送进第三方托管的中转。
日常工作主要在 Cursor、Cline、Aider、Copilot 这类 IDE 客户端里完成的人,不该换它,去用 9router 或 dario 更贴入口。需要多人共享一套代理并做租户隔离,现在也不该选它。
焚评:这个项目的量化评分
本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 10.0 分(满分 10)。下表是各维度的得分:
| 评分维度 | 得分 |
|---|---|
| 热度动量(权重 25%) | 10.0 / 10 |
| 开发活跃(权重 25%) | 10.0 / 10 |
| 社区响应(权重 15%) | 9.8 / 10 |
| 文档质量(权重 15%) | 10.0 / 10 |
| 发布节奏(权重 10%) | 9.9 / 10 |
| 风险控制(权重 10%) | 10.0 / 10 |
评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。
内容核验说明
opencodex 把 Codex、Claude Code 的协议转换做成一个本地常驻进程,上游接 40 多家 provider,另带 ChatGPT 账号池按配额轮换。实在的部分是安装配置步骤具体,账号亲和限制也交代了,已有线程默认绑启动它的账号,failover 时才重绑。
文中的 star、fork、开放 Issue 数、版本号等来自 GitHub 与 npm 公开指标抓取,诀.com 未独立验证;焚评 10.0 分由焚.com 按其公开公式与权重计算,数值以焚.com 当前页面为准。Issue 的已解决/待解决状态取自仓库记录,未逐一复现,代理能否可用需自行部署验证。用户反馈摘要
根据仓库 Issue 来看,反馈集中在协议边缘:流式工具调用中途中断、Cursor 适配器在长上下文下退化、Windows 托盘启动注册异常、Codex WebSocket 断开后没有 SSE 回退、账号池的亲和与 failover 策略,以及 32 路并发会话的内存边界。多数状态为已解决,含 K12 拒绝码误判、DeepSeek V4 Flash 工具调用后停住等;一条待解决,报告 cursor/grok-4.6 在 2.42.0 上反复回到同一检查点、无法收尾。
基于该仓库公开 Issue 整理,只反映提交者报告的现象与诉求,不代表诀.com 立场,也不代表问题已被确认。项目来源与说明
开源项目:lidge-jun(lidge-jun)
本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。
查看项目仓库