Codex++:给你的 Codex 装上外挂,解锁插件、删除会话、中转代理

Codex++ 是面向 Codex App 的外部增强工具,用 Rust 编写,通过 Chromium DevTools Protocol(CDP)注入增强脚本来解锁原生 Codex 缺失的能力。不修改 app.asar、不写入 DLL、不影响原始安装。GitHub 14.2k star,316 次提交,仍在高频迭代。

你用的是 Codex 的 API Key 登录模式,结果插件入口灰掉了——提示需要登录 ChatGPT。你想删掉那些试了没用的旧会话,结果发现只有归档按钮。你把 Codex 挂在中转站上想省点 token 费,结果原生根本不支持自定义 provider。这些问题不是 Codex 的 bug——它设计时就只考虑 ChatGPT 官方登录一条路径。你只是在用 Codex 的方式 Codex 没考虑到。

Codex 原生没有的,Codex++ 补上了

Codex++ 通过外部 CDP 注入实现增强,不影响原始文件。启动时会拉起 Codex,同时注入一段 JavaScript 到 Codex 的渲染进程。注入脚本直接操作页面 DOM 和 Codex 内部 API,实现原生菜单无法提供的功能。

核心能力分两大块:

增强功能

  • 解锁插件入口,即使 API Key 模式也能安装和使用插件
  • 强制安装特殊插件(正常渠道不允许的插件)
  • 会话列表悬停显示删除按钮,真正删除而非仅归档
  • 会话 Markdown 导出,保留完整对话记录
  • 跨项目移动会话,不再绑死在原项目里
  • 会话列表 Timeline 视图
  • 从 Codex 内部直接打开文件到 Zed Remote Development
  • Upstream worktree 创建:自动 fetch 远端分支后创建 worktree,避免从过时本地 HEAD 派生

中转注入

  • 支持多个中转配置,写入自定义 model_provider
  • 随时切回官方 ChatGPT 登录态
  • Provider 同步:切换供应商后,启动前自动同步本地会话 metadata,旧会话仍可见

如果你已经在官方 ChatGPT 里登录了 Codex,只是想换个模型接口——中转注入只改 config.toml,不动登录态。

什么时候需要它

  • 你用 API Key 登录 Codex,插件入口被锁,想装 MCP 或第三方插件
  • 你用中转 API 跑 Codex(省钱、走国内线路、用特定模型),需要自定义 endpoint
  • 你在 Codex 里开了几十个会话,想删掉没用的但原生只支持归档
  • 你和团队共享 Codex 登录,需要在不同环境中切换 provider
  • 你在远程 SSH 环境下开发,想在 Codex 里直接打开文件到 Zed

如果以上都没中——你只用 ChatGPT 官方登录、不在乎插件、不差那点 token 费——Codex++ 对你可能是多余的。

怎么做到的:不碰原始文件的三层架构

Codex++ 选择了外部 CDP 注入路线,而不是 patch asar 或替换 DLL。这在 Codex App 每次更新时都能降低维护成本——只要页面 DOM 结构不变,注入脚本就能继续工作。

架构上分三层:

  • codex-plus-launcher:静默启动入口,负责拉起 Codex 进程并注入脚本。Windows 上单实例运行、无黑框、支持管理员权限;macOS 上隐藏 Dock 图标
  • codex-plus-core(Rust crate):核心逻辑——CDP 桥接、配置读写、中转注入、Provider 同步、更新检测
  • codex-plus-manager:Tauri + React 管理面板,统一控制所有开关、查看日志和诊断注入状态

注入的 JS 放在 assets/inject/renderer-inject.js,启动时写入 Codex 渲染进程。它操作的是 Codex 页面上的 React 组件树和内部 API,所以 Codex 版本升级后如果前端改版,注入脚本也需要跟进。

这是一个关键 trade-off:CDP 注入比 patch asar 更干净(不碰安装文件),但更脆弱(依赖前端结构)。项目维护者需要持续跟踪 Codex App 的发布节奏。

快速上手

从 GitHub Releases 下载对应平台的安装包。macOS 分 Intel x64 和 Apple Silicon arm64 两个版本。

安装后有两个入口:

  • Codex++:静默启动,不显示管理界面,直接拉起 Codex
  • Codex++ 管理工具:配置面板,管理增强功能、中转注入、用户脚本

中转注入配置流程:

  1. 打开 Codex++ 管理工具
  2. 确认已经检测到 ChatGPT 登录状态
  3. 在“中转注入”页添加中转配置,填写 Base URL 和 Key
  4. 选择配置并点击“应用中转注入”
  5. 启动 Codex++

Codex++ 会在 ~/.codex/config.toml 中写入:

model_provider = "CodexPlusPlus"

[model_providers.CodexPlusPlus]
name = "CodexPlusPlus"
wire_api = "responses"
requires_openai_auth = true
base_url = "https://example.com/v1"
experimental_bearer_token = "sk-..."

想切回官方,在管理工具里点“清除 API 模式”即可。

macOS 用户如果遇到“已损坏,无法打开”的提示(未签名未公证的 DMG 会被 Gatekeeper 拦截),在终端跑两条命令解除隔离:

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

踩坑指南

  • Codex++ 菜单没出现:确认你是从 Codex++ 入口启动的,不是原版 Codex。打开管理工具的“诊断”页查看注入状态
  • 插件显示后端连不上:先在终端测试 Invoke-RestMethod -Uri http://127.0.0.1:57321/backend/status -Method Post,如果能通但插件超时,通常是 CDP bridge 或脚本缓存问题,重启 Codex++
  • Codex 版本更新后功能失效:这是因为 Codex 的页面结构变了,注入脚本的选择器/API 调用不再匹配。去 GitHub Issues 看是否有新版,或等维护者更新注入脚本
  • 推荐内容加载慢不影响后端:远程广告列表在 ads.json,请求带时间戳绕过 CDN 缓存

该用还是该绕

Codex++ 解决的是 OpenAI 没有覆盖的“非标准用法”:API Key 登录、中转代理、会话管理、远程开发集成。如果你正好在这些场景里,它是目前最完整的外部增强方案。

如果你只是偶尔用 Codex、只在官方环境、不碰插件中转——那 Codex 原生就够用了。工具的价值在于它解决了你遇到的问题,而不是它有多少功能。

Codex++ 不会解决 Codex 本身的幻觉问题、不会让模型变得更聪明、也不会替代 Claude Code 或 Copilot。它只是让 Codex 在你需要的方式下跑起来。

GitHub: https://github.com/BigPizzaV3/CodexPlusPlus

相关文章

OpenSpec:先对齐规范再写代码,别让 AI 猜你的需求

OpenSpec:先对齐规范再写代码,别让 AI 猜你的需求

OpenSpec 是一个面向 AI 编码助手的规范驱动开发(SDD)框架。它通过一层轻量级的规范文件,让你和 AI 在生成代码之前就先对齐需求、设计和任务。该项目在 GitHub 拥有 45.8k s ...