让 Codex Desktop 用上任何模型:codex-shim 打破模型锁定的开源利器
📅 2026年05月25日 · 技术
引言
如果你用过 OpenAI 的 Codex Desktop(原 ChatGPT 桌面版的编程模式),你可能注意到它的模型选择器只显示官方白名单里的几个模型。如果你手上有 OpenAI、Anthropic、DeepSeek、Gemini 等服务的 API Key,却无法在 Codex 里直接使用,那感觉就像买了一辆跑车却被限速了。
codex-shim 正是为了解决这个痛点而生——它是一个轻量级的本地 Python 服务,让 Codex Desktop 能够使用你拥有的任何模型,而不需要重新编译 Codex。
项目介绍
codex-shim 的核心思路很巧妙:它在本地起一个小型 HTTP 服务器(默认 127.0.0.1:8765),伪装成 OpenAI 的 Responses API 端点。当你把 Codex Desktop 指向这个本地端点后,codex-shim 会读取你的 ~/.factory/settings.json(Factory.ai 存储 BYOK 模型配置的文件),将每个请求路由到对应的上游服务。
支持的上游包括:OpenAI、Anthropic、通用 Chat Completion API、以及 ChatGPT 订阅。它还专门提供了一个 GPT-5.5 直通功能,让你在 Codex 里也能用上 ChatGPT 订阅中的 GPT-5.5 模型。
核心特性
- 模型选择器扩展:所有 Factory BYOK 模型都会出现在 Codex 的模型选择器中,像原生模型一样使用
- GPT-5.5 直通:将 ChatGPT 订阅中的 GPT-5.5 作为可选模型暴露给 Codex
- 不改全局配置:通过
codex-shim app .仅对本次启动生效,~/.codex/config.toml保持原样 - 命令行工具链:提供
codex-shim、codex-app、codex-model三个命令,管理模型切换和 Codex 启动 - 跨平台:macOS 上经过完整测试,Linux/Windows 可直接使用 shim 部分
- 自定义配置文件:可指定任意 JSON 文件作为模型配置来源
适用人群
- Codex Desktop 用户:想要突破官方模型限制,使用自己的 API Key 调用更多模型
- 多模型使用者:需要在不同模型之间灵活切换,根据任务选择最佳模型
- ChatGPT Plus 订阅者:想在 Codex 中同时使用订阅中的 GPT-5.5 和其他模型
快速上手
# 1. 克隆并安装
git clone https://github.com/0xSero/codex-shim ~/Documents/codex-shim
cd ~/Documents/codex-shim
python3 -m pip install --user aiohttp
# 2. 生成模型目录并启动 shim
codex-shim generate # 读取 ~/.factory/settings.json
codex-shim start # 后台运行在 127.0.0.1:8765
# 3. 启动 Codex(仅本次生效)
codex-shim app .
# 4. 切换模型
codex-model list
codex-model openai-gpt-5-5
需要 Python 3.11 以上版本。安装完成后,Codex Desktop 的模型选择器就会显示你配置的所有模型了。
总结
codex-shim 是一个小而美的工具,它没有复杂的配置,也不需要侵入式地修改 Codex 的安装文件。通过一个简单的本地代理,它优雅地解决了 Codex Desktop 的模型锁定问题,让开发者能够真正"用自己想要的模型,写自己想写的代码"。