CODEX APP
Codex++ 使用指南:API Key 登录 Codex 也能解锁插件
使用 Codex++ 外部增强启动器,在 API Key 模式下解锁 Codex 插件入口并增强会话管理。
Codex++ 使用指南:API Key 登录 Codex 也能解锁插件
Codex App 对 ChatGPT 账号登录用户比较友好,插件入口、连接器和相关能力通常都能直接看到。但如果你是用 API Key 登录,尤其是通过 RootFlowAI 这类 OpenAI 兼容接口接入,插件入口可能会被前端拦住,提示需要登录 ChatGPT 账号。
这类问题过去常见的思路是本地 patch Codex App:解包 app.asar、修改压缩后的前端 bundle、关闭 Electron fuses、重新签名。虽然能解决一部分版本的问题,但步骤重、风险高,Codex App 一升级还可能全部失效。
现在更推荐的方式是使用开源项目 Codex++。
项目地址:
https://github.com/BigPizzaV3/CodexPlusPlus
Codex++ 是什么
Codex++ 是一个面向 Codex App 的外部增强启动器。
它不修改 Codex App 的原始安装文件,也不替换 app.asar。它会通过外部 launcher 启动 Codex,并借助 Chromium DevTools Protocol,也就是 CDP,在 Codex 的渲染进程里注入增强脚本。
简单说,它做的是:
不动 Codex 本体,在 Codex 运行时给它加一层增强能力。
这种方式比直接改安装文件更轻量。Codex++ 只负责启动、连接、注入和提供本地 helper 服务,不需要手动拆包 Codex,也不需要往 Codex 安装目录写入额外文件。
适合谁使用
如果你符合下面任意一种情况,就可以考虑使用 Codex++:
- 使用 Codex App,而不是只使用 Codex CLI。
- 使用 API Key 登录 Codex。
- 通过 RootFlowAI 或其他 OpenAI 兼容接口接入 Codex。
- Codex 插件入口提示需要 ChatGPT 账号登录。
- 想给 Codex 增加会话删除、撤销删除、配置面板等能力。
- 不想手动修改 Codex App 安装文件。
主要功能
根据项目当前说明,Codex++ 主要提供这些能力:
- API Key 模式下解锁插件入口。
- 支持特殊插件强制安装,解除前端的
App unavailable限制。 - 在会话列表悬停时显示删除按钮。
- 删除前确认,并支持撤销。
- 优先尝试服务端删除;不可用时删除本地 Codex SQLite 会话记录。
- 在 Codex 顶部菜单栏加入
Codex++菜单。 - 支持开关控制插件解锁、特殊插件强制安装、会话删除等功能。
- 支持 Windows 快捷方式安装和卸载。
- 支持 macOS 生成
/Applications/Codex++.app。 - 支持基于 GitHub Release 检查和更新 Codex++。
对 API Key 用户来说,最直接的价值就是:不需要切换到 ChatGPT 账号登录,也能正常看到和使用 Codex 插件入口。
工作原理
Codex App 底层是 Electron 应用。Electron 可以理解成一个桌面应用外壳,里面运行的是 Chromium 页面。
Chromium 提供了一套官方调试协议,叫 Chrome DevTools Protocol,简称 CDP。开发者平时用浏览器 DevTools 调试网页,本质上也和这套能力有关。
Codex++ 启动 Codex 时,会附加类似下面的调试参数:
--remote-debugging-port=9229
--remote-allow-origins=http://127.0.0.1:9229之后 Codex++ 会连接这个本地调试端口,并向 Codex 页面注入增强脚本。整个流程可以概括为:
1. 通过 Codex++ 启动 Codex App。 2. Codex 以 CDP 调试端口模式运行。 3. Codex++ 启动本地 helper 服务。 4. Codex++ 通过 CDP 注入 renderer-inject.js。 5. Codex 页面里出现插件解锁、会话删除和 Codex++ 配置菜单。
所以 Codex++ 不是替换 Codex,也不是破解安装包,而是利用 Electron/Chromium 的运行时调试能力给前端页面加增强层。
安装前准备
你需要先准备:
- Python 3.11 或更高版本。
- 已安装 Codex App。
- Windows 或 macOS 系统。
先克隆项目:
git clone https://github.com/BigPizzaV3/CodexPlusPlus.git
cd CodexPlusPlus安装依赖:
python -m pip install -e .如果你想运行项目测试,可以安装测试依赖:
python -m pip install -e .[test]
python -m pytest -qmacOS 安装
在项目目录执行:
python -m codex_session_delete setupCodex++ 会自动查找以下位置的 Codex App:
/Applications/Codex.app/Applications/OpenAI Codex.app- 用户自己的 Applications 目录
安装完成后会生成:
/Applications/Codex++.app以后从 Codex++.app 启动 Codex,不要直接打开原版 Codex App。直接打开原版 Codex 时,Codex++ 的注入不会生效。
卸载:
python -m codex_session_delete removeWindows 安装
Windows 可以直接双击项目根目录里的:
setup.bat菜单中会出现:
[1] Install Codex++
[2] Uninstall Codex++
[3] Update Codex++
[4] Exit选择安装后,桌面会生成:
Codex++.lnk以后通过这个快捷方式启动 Codex++。
也可以用命令行安装:
python -m codex_session_delete setup卸载:
python -m codex_session_delete remove如果想同时删除 Codex++ 自己的日志和备份数据:
python -m codex_session_delete remove --remove-data直接启动
如果不想安装快捷方式,也可以直接运行:
python -m codex_session_delete launchmacOS 可以手动指定 Codex App 路径:
python -m codex_session_delete launch \
--app-dir "/Applications/OpenAI Codex.app" \
--debug-port 9229 \
--helper-port 57321Windows 也可以手动指定 Codex 安装目录:
python -m codex_session_delete launch \
--app-dir "C:/Program Files/WindowsApps/OpenAI.Codex_xxx/app" \
--debug-port 9229 \
--helper-port 57321Windows 自动接管原生启动
默认情况下,只有从 Codex++ 快捷方式启动时增强才会生效。如果你从开始菜单、任务栏或原版入口启动 Codex,那一次不会出现 Codex++ 菜单。
Windows 可以安装一个 watcher,让它常驻后台接管原生启动:
python -m codex_session_delete watch-install安装后 watcher 会定期检查 Codex 是否以 CDP 模式运行。如果发现你从原生入口启动了 Codex,它会尝试关闭这次原生进程,并重新通过 Codex++ launcher 启动。
卸载 watcher:
python -m codex_session_delete watch-remove临时关闭或重新启用:
python -m codex_session_delete watch-disable
python -m codex_session_delete watch-enable需要注意的是,watcher 可能会让原生 Codex 窗口短暂闪一下,然后被 Codex++ 接管重开。这是自动接管方案的正常代价。
更新 Codex++
Codex++ 启动时会检查 GitHub Release。如果发现新版本,会在控制台提示版本号、Release 地址和更新命令。
手动检查更新:
python -m codex_session_delete check-update更新到最新版本:
python -m codex_session_delete update更新流程大致是:
1. 请求 GitHub Release 最新版本信息。 2. 比较最新 tag 和本地版本。 3. 优先下载 Release 中的 .whl 文件。 4. 执行 python -m pip install --upgrade <wheel>。 5. 自动重新执行 python -m codex_session_delete setup,刷新快捷方式或 macOS app bundle。
数据和备份位置
Codex++ 默认读取 Codex 本地数据库:
~/.codex/state_5.sqlite删除会话前,会把相关记录备份到:
~/.codex-session-delete/backups隐藏启动失败日志位于:
~/.codex-session-delete/launcher.logWindows watcher 日志位于:
%USERPROFILE%\.codex-session-delete\watcher.log常见问题
Codex++ 菜单没有出现怎么办?
先确认你是从 Codex++ 快捷方式或 /Applications/Codex++.app 启动的。直接打开原版 Codex App 不会触发注入。
也可以检查 Codex 是否带了 CDP 参数:
--remote-debugging-port=9229双击 Codex++ 没反应怎么办?
先查看启动日志:
~/.codex-session-delete/launcher.logWindows 下是:
%USERPROFILE%\.codex-session-delete\launcher.log常见原因包括:
- Codex App 没有安装。
- Codex App 路径发生变化。
9229端口被其他程序占用。- Python 环境不可用。
技能或插件资源加载失败怎么办?
如果页面提示 git fetch failed、无法访问 https://github.com/openai/skills.git/,通常是本机网络无法直连 GitHub。
Codex++ 启动时会优先继承已有的 HTTP_PROXY、HTTPS_PROXY、ALL_PROXY 环境变量。如果这些变量没有设置,它会尝试自动探测常见本地代理端口,例如 127.0.0.1:7897。
你也可以手动指定代理后启动。Windows PowerShell 示例:
$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launchCodex App 升级后还会生效吗?
Codex++ 不修改 Codex 原始文件,所以比手动 patch 更容易维护。但它依赖 Codex 前端页面结构。如果 Codex App 更新后页面结构变化较大,Codex++ 的注入脚本也可能需要跟进更新。
使用建议
如果你只是想让 API Key 模式使用插件,优先使用 Codex++ 这类外部增强启动器,而不是手动修改 Codex App 安装包。
原因很简单:
- 不需要解包和重签名 Codex App。
- 不会污染 Codex 安装目录。
- 升级和卸载路径更清晰。
- 出问题时可以直接回到原版 Codex 启动方式。
不过 Codex++ 仍然是第三方开源增强工具,不是 OpenAI 官方功能。安装前建议先阅读项目 README 和 issue,确认当前版本是否适配你正在使用的 Codex App。