sybil-solutions/codex-shim
Local Responses-API shim that exposes Factory BYOK models (and optional ChatGPT GPT-5.5 passthrough) to Codex Desktop.
codex‑shim – 适用于 Codex Desktop 的本地路由 shim
它是什么
- 一个小型 Python + aiohttp 服务器,伪装成 Codex Desktop 所期望的 OpenAI Responses API。
- 它位于
127.0.0.1:8765,并将每个请求转发到您配置的任何上游模型 – OpenAI、Anthropic、Ollama、Z‑AI、DeepSeek、Gemini、OpenRouter,甚至是私有的 ChatGPT‑Codex 端点。 - 该 shim 将上游响应(包括流式 Server‑Sent Events、工具调用、图像输入等)转换回 Codex Desktop 原生 UI 能理解的精确格式,因此您可以在使用任何您喜欢的“自带模型”(BYOK) 时保留完整的 Codex UX。
为什么要使用它
- 无需重建 – Codex Desktop 只显示其服务器广告的模型。通过运行 codex‑shim,您可以在不重新编译 Codex 的情况下将任意模型加入选择器。
- 保留高级功能 – 函数调用/工具输出处理、支持图像的模型、流式传输和代理循环逻辑都能正常工作,因为 shim 进行了忠实的协议转换。
- 混合设置 – 您可以保留官方 ChatGPT Codex 模型 (
gpt‑5.5) 作为回退,或将 Cursor/Composer 代理路由到付费订阅,而不暴露 API 密钥。 - 智能自动路由器(可选) – 一个便宜的分类器可以自动选择能处理给定请求的最便宜模型,将“简单”的回合发送到小型模型,将“困难”的回合发送到较大的模型。
- 代理友好 – shim 的 HTTP 端点可以被另一个本地代理包装,以注入提示、去重请求或执行策略。
工作原理
- 配置 – 您创建
~/.codex‑shim/models.json(或传入自定义文件),列出具有以下字段的模型:
支持的{ "model": "gpt‑5.5", "provider": "openai", "base_url": "https://api.openai.com/v1", "api_key": "sk‑…", "display_name": "OpenAI GPT‑5.5", "max_context_limit": 400000 }provider值为openai、anthropic和通用的 OpenAI 形状聊天 API。 - 生成目录 –
codex‑shim generate读取 JSON 并写入 Codex 兼容的模型目录 (custom_model_catalog.json) 以及~/.codex/config.toml中的一个小型提供者块。 - 启动守护进程 –
codex‑shim start在回环地址上启动 aiohttp 服务器。 - 启动 Codex –
codex‑shim app .启动 Codex Desktop,并在其配置中带有 shim 管理的块,因此 UI 会显示所有自定义条目。 - 切换模型 –
codex‑model list/codex‑model <slug>通过更新相同的配置块来更改默认模型;codex‑app重新启动 Codex 以应用更改。
平台支持
- 适用于 macOS、Linux、WSL、Git Bash 和原生 Windows (PowerShell/cmd)。核心服务器是纯 Python,只有可选的 macOS“选择器补丁”会触及 Electron 应用程序。
- Windows Store/MSIX 版本有更严格的允许列表;shim 仍然可以运行,但 UI 可能会隐藏自定义 slug,除非您使用无补丁的路线。
额外工具
codex‑shim patch‑app/restore‑app– 应用或还原一行 ASAR 补丁,在 macOS 上禁用 Codex 的隐藏模型过滤器。codex‑shim opencode‑go refresh– 从 OpenCode Go 服务拉取实时模型列表并合并到您的配置中。codex‑shim generate、list、status、disable– 用于目录管理和健康检查的 CLI 辅助工具。
谁受益
- 已经使用 Codex Desktop(AI 驱动的编码助手)但希望将其指向私有或更便宜的 LLM 端点的开发人员。
- 需要保留 Codex UI 同时遵守内部代理或凭证策略的团队。
- 任何尝试多个提供者并希望有一个单一、本地托管路由层的人。
TL;DR:codex‑shim 是一个轻量级 Python 服务器,让 Codex Desktop 以为它正在与其内置的 OpenAI 端点通信,而实际上将请求转发到您配置的任何 LLM。它让您可以添加 BYOK 模型、保留所有 Codex 功能,甚至自动路由任务,而无需重建桌面应用程序。
相关
- 项目
- 项目
- 项目
- 项目