Codex++ (CodexPlusPlus) 项目详细总结

一、项目概述

Codex++(CodexPlusPlus)是一个面向 OpenAI Codex / ChatGPT 桌面应用的第三方外部启动器与管理工具。它通过 Chromium DevTools Protocol(CDP)和本地辅助服务,为 Codex 桌面应用提供供应商切换、协议转换、会话管理、界面增强等功能。

项目地址:https://github.com/BigPizzaV3/CodexPlusPlus

技术栈:Rust 1.85+ + Tauri 2.x + React/TypeScript 前端

开源协议:AGPL-3.0-only(GNU Affero General Public License v3.0)

最新版本:v1.2.42(发布于 2026-07-22)

核心设计原则:不修改官方应用的 app.asar,不向安装目录写入补丁文件,完全通过外部 CDP 注入和配置重写实现增强。


二、Codex++ 是什么

Codex++ 本质上是一个 Codex Desktop 应用的"外挂管理器"。它的定位介于以下几类工具之间:

  • 启动器:代替用户启动 Codex 桌面应用,并在启动时自动加载预设的供应商配置和界面增强
  • 供应商管理器:管理多种 API 供应商配置(官方登录、纯 API、中转站等),支持一键切换
  • UI 增强注入器:通过 CDP 向 Codex 页面注入 JavaScript 脚本,实现界面增强功能
  • 会话管理工具:扫描、备份、导出本地 Codex 会话数据

Codex++ 不是 Codex 的 fork,不修改 Codex 源码,不打包修改版的 app.asar。它与 Codex 的关系类似于浏览器扩展与浏览器的关系——外部注入,不改动核心。


三、核心功能模块

3.1 供应商配置

Codex++ 支持 4 种供应商模式,每种模式的认证边界和功能可靠性不同:

模式 用途 认证边界 MCP 兼容性
官方登录 只使用 ChatGPT / Codex 官方账号 清理自定义 provider 和 API Key,保留官方登录状态 最佳
官方登录 + API 保留官方账号与插件入口,模型请求走兼容 API API Key 写入 provider bearer token,不写入 auth.json 较好
纯 API 不依赖官方账号,完全使用自定义 Base URL / Key 独立保存 config.toml 与 API Key 最差
聚合供应商 在多个普通 API 供应商之间路由 支持故障转移、按会话/请求轮转、权重轮转 视路由和中转站能力而定

每个供应商可配置: - Responses 或 Chat Completions 协议 - 模型列表与测试模型 - User-Agent - 上下文窗口(支持 1M200K 或纯数字) - 自动压缩阈值 - 该供应商启用的 MCP Server、Skill 和 Plugin

3.2 模型与上下文管理

Codex++ 使用 Codex 原生的 model_catalog_json 机制实现每模型粒度的上下文窗口配置: - 通过 model_list 声明模型名 - 通过 model_windows JSON map 独立存储每模型窗口大小 - Codex++ 生成 catalog 文件并注入 config.toml 指针 - Codex 客户端运行时按当前模型识别对应窗口

旧版的 deepseek-v4-flash[1M] 后缀格式会自动迁移到新格式。

3.3 会话管理

  • 扫描本地 Codex 会话(~/.codex/sqlite/*.db
  • 单选、多选、全选、批量删除会话
  • Markdown 导出
  • Token 用量历史查看
  • Provider metadata 同步与备份

3.4 Codex 界面增强

以下增强功能均可独立开关,全部关闭后 Codex++ 仍可作为纯供应商/启动管理工具使用:

类别 功能
会话操作 会话删除、批量删除、Markdown 导出、项目移动
插件管理 插件市场解锁、插件自动展开、模型白名单处理
输入优化 富文本粘贴转纯文本
界面定制 强制中文界面、启动加速、原生菜单本地化
布局增强 会话宽度调整、滚动位置恢复
高级功能 线程 ID 管理、服务层级切换、Goals、Stepwise 下一步建议
开发工作流 Upstream worktree、Zed Remote 项目识别与打开
自定义扩展 自定义图片覆盖层、用户脚本安装与启停

3.5 脚本与维护

  • 用户脚本安装与启停
  • 应用检测与快捷方式管理
  • Watcher 服务(监控 Codex 应用状态)
  • 环境冲突检测
  • 日志诊断与健康检查
  • Release 自动更新

四、安装与上手

4.1 下载安装

GitHub Releases 下载对应平台的安装包:

平台 文件名示例
Windows x64 CodexPlusPlus-1.2.42-windows-x64-setup.exe
macOS Intel CodexPlusPlus-1.2.42-macos-x64.dmg
macOS Apple Silicon CodexPlusPlus-1.2.42-macos-arm64.dmg

安装后会创建两个入口:

  1. Codex++ — 静默启动器:自动启动官方桌面应用并加载已保存的供应商配置与增强功能
  2. Codex++ 管理工具 — 配置管理器:管理供应商、模型、工具插件、会话、增强功能、脚本、更新和诊断

4.2 首次使用流程

  1. 打开 Codex++ 管理工具
  2. 在"安装维护"页确认应用路径和运行状态
  3. 配置供应商(选择模式、填写 Base URL / API Key / 协议类型)
  4. 按需开启界面增强功能
  5. Codex++ 入口(而非官方应用直接启动)启动 Codex

4.3 macOS 特殊处理

如果 macOS 提示"已损坏,无法打开"(Gatekeeper 拦截未签名应用),执行:

sudo xattr -rd com.apple.quarantine "/Applications/Codex++ 管理工具.app"
sudo xattr -rd com.apple.quarantine "/Applications/Codex++.app"

五、技术架构

5.1 项目结构

apps/
  codex-plus-launcher/          静默启动入口
  codex-plus-manager/           Tauri 管理工具(前端 React+TS)
  codex-plus-mobile-relay/      移动端中继
assets/
  inject/
    renderer-inject.js          注入到 Codex 渲染端的增强脚本
    inject/upstream/            主题皮肤包(多种皮肤)
  codex-models.json             模型元数据
crates/
  codex-plus-core/              核心逻辑:启动、注入、配置生成、catalog 解析、更新
  codex-plus-data/              数据持久化:会话数据、导出、Provider 同步
scripts/installer/
  windows/CodexPlusPlus.nsi     Windows NSIS 安装包
  macos/package-dmg.sh          macOS DMG 打包

5.2 关键代码入口

功能 代码位置
供应商配置数据模型 crates/codex-plus-core/src/settings.rsRelayProfile
配置生成 crates/codex-plus-core/src/relay_config.rsapply_context_limits_to_config
catalog 解析 crates/codex-plus-core/src/model_catalog.rsparse_model_catalog_json_models
供应商切换流程 apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard
前端模型列表 apps/codex-plus-manager/src/App.tsxmodelList
CDP 注入脚本 assets/inject/renderer-inject.js

5.3 工作原理

  1. 启动:用户从 Codex++ 入口启动,launcher 进程静默拉起 Codex Desktop
  2. CDP 连接:通过 Chromium DevTools Protocol 连接到 Codex 的渲染进程
  3. 日注入:向 Codex 页面注入 renderer-inject.js,实现界面增强
  4. 配置写入:重写 ~/.codex/config.toml 应用供应商配置、模型目录、MCP 服务器等
  5. 会话管理:读写 ~/.codex/sqlite/*.db 进行会话扫描和管理

5.4 数据位置

类型 路径
Codex 配置 ~/.codex/config.toml
Codex 登录状态 ~/.codex/auth.json
Codex 本地数据库 ~/.codex/sqlite/*.db(旧版回退到 ~/.codex/state_5.sqlite
Codex++ 状态与日志 ~/.codex-session-delete/
Provider 同步备份 ~/.codex/backups_state/provider-sync

六、版本演进

项目经历了从早期 1.1.x 到当前 1.2.42 的持续迭代:

版本 日期 重要更新
1.1.x 2026-05 上游分支 worktree、独立工具与插件页面、供应商切换隔离修复
1.2.4 2026-06-08 Zed 远程项目支持、单实例启动保护优化
1.2.18 2026-06-25 模型列表双输入框、model_windows JSON map、后缀格式迁移
1.2.20 2026-06-27 逐行模型控件、本地会话批量删除
1.2.21 2026-06-28 插件列表全量展示开关、自动展开
1.2.22 2026-06-28 启动时不再自动切换供应商、Computer Use guard
1.2.42 2026-07-22 确认弹窗修复、Dream Skin companion 图片、多数据库路径修复

七、开发指南

7.1 开发环境

# 克隆仓库
git clone https://github.com/BigPizzaV3/CodexPlusPlus.git
cd CodexPlusPlus

# 需要 Rust 1.85+ 和 Node.js

# 前端检查
cd apps/codex-plus-manager
npm ci
npm run check
npm run vite:build

# Rust 检查
cd ../..
cargo fmt --all -- --check
cargo test
cargo build --release

7.2 提交规范

  • 使用 feat: / fix: 前缀
  • 遵循 Rust 标准格式化(cargo fmt
  • 使用 clippy 进行代码检查
  • 新功能需附带测试
  • PR 需确保所有测试通过

7.3 测试约定

  • 沿用上游 #[test] + tempfile 风格
  • 断言读取 config.toml 文本内容
  • 改行为同步改/加对应测试

八、常见问题与排障

8.1 Codex++ 菜单没出现

确认从 Codex++ 入口启动(不是直接打开官方应用)。在管理工具"安装维护"和"关于"页检查应用路径、启动状态与诊断日志。

8.2 切换供应商后请求失败

在供应商详情中运行模型测试或 Provider Doctor,确认协议(Responses / Chat Completions)、Base URL、Key 和测试模型匹配。纯 API 与官方混入模式使用不同认证位置,不要手工复制两种模式的 auth.json

8.3 MCP 工具不可用(已启用但无法调用)

这是 Codex++ + 纯 API 中转站组合下的已知系统性问题。诊断步骤:

  1. 运行 codex mcp list — 如果显示 "Unsupported",说明配置丢失
  2. 检查 ~/.codex/config.toml 是否包含 [mcp_servers.*] 段落
  3. 如果配置被重写覆盖,关闭 Codex++ 后手动恢复

根因分三层: - 第一层:Codex++ 切换供应商时重写了 config.toml,MCP 服务器配置段丢失 - 第二层:中转站协议不完全兼容 Responses 工具调用,工具定义未被注入到请求载荷 - 第三层:模型本身不支持函数调用

解决方案:优先使用官方登录模式;或使用 ccx 工具兼容代理进行协议转换。

8.4 config.toml 被反复覆盖

Codex++ 的 UI 操作会触发 config.toml 重写。解决办法:编辑 config.toml 时确保 Codex++ 完全关闭,编辑完成后避免触发 UI 开关操作。


九、社区与生态

9.1 交流渠道

9.2 中转站生态

Codex++ 与多家 AI API 中转站形成了合作生态,包括 JOJO Code、AIGoCode、APIKEY.FUN、RunAPI、Cubence、火山引擎等。用户可以通过中转站以更低成本使用非官方模型。


十、兼容性与限制

优点

  • 不修改 Codex 官方应用,安全无侵入
  • 丰富的供应商管理模式,灵活适配各种使用场景
  • 强大的界面增强功能,可按需开关
  • 活跃的开发迭代和社区支持
  • 跨平台支持(Windows / macOS Intel / macOS Apple Silicon)

限制

  • 依赖 Codex 桌面应用的页面结构和 CDP 接口,官方更新可能导致部分注入功能失效
  • 纯 API 模式下 MCP 工具兼容性较差,依赖中转站协议实现
  • 安装包未签名/未公证,macOS 需手动绕过 Gatekeeper
  • 目前不支持 Linux 桌面(依赖 Codex Desktop 本身的平台可用性)

十一、总结

Codex++ 是一个成熟且活跃的 Codex 桌面应用增强工具,适合以下用户场景:

  1. 使用中转站 API 替代官方账号的用户 — 通过纯 API 或混入模式灵活接入
  2. 多供应商管理需求 — 一键切换不同 API 供应商配置
  3. 界面定制需求 — 中文界面、插件解锁、会话管理等 Codex 官方未提供的功能
  4. 团队协作 — 会话导出、Provider 同步备份便于团队共享配置
  5. 高级开发工作流 — Upstream worktree、Zed Remote 集成等

项目采用 Rust + Tauri 技术栈保证了高性能和跨平台能力,AGPL-3.0 开源协议确保了社区贡献的可持续性。截至 2026 年 7 月,项目已有 347 个文件,持续保持每周迭代节奏。


参考来源: - GitHub 仓库:https://github.com/BigPizzaV3/CodexPlusPlus - README.md(中文版) - CHANGELOG.md - AGENTS.md / CONTRIBUTING.md - 最新 Release v1.2.42(2026-07-22) - Hermes Agent codex-desktop skill 文档


本站由 时空 使用 Stellar 搭建。