bigpizzav3/ codexplusplus
View on GitHubAn enhanced tool for CodexApp, striving to make Codex better to use and more comfortable 一个CodexApp的增强工具,努力让Codex变得更好用更舒服
An enhanced tool for CodexApp, striving to make Codex better to use and more comfortable 一个CodexApp的增强工具,努力让Codex变得更好用更舒服
Codex++ 是面向 OpenAI Codex / ChatGPT 桌面应用的外部启动器与管理工具。它通过 Chromium DevTools Protocol 和本地辅助服务提供供应商切换、协议转换、会话管理与界面增强,不修改官方应用的 app.asar,也不向安装目录写入补丁文件。
从 GitHub Releases 下载最新版安装包:
CodexPlusPlus-*-windows-x64-setup.exeCodexPlusPlus-*-macos-x64.dmgCodexPlusPlus-*-macos-arm64.dmg安装后会有两个入口:
Codex++:静默启动官方桌面应用,并加载已保存的供应商配置与增强功能。Codex++ 管理工具:管理供应商、模型、工具插件、会话、增强功能、脚本、更新和诊断。首次使用建议先打开管理工具,确认应用路径和运行状态,再配置供应商与增强功能,最后从 Codex++ 入口启动。Windows 安装包会创建桌面和开始菜单快捷方式;macOS DMG 会安装 /Applications/Codex++.app 和 /Applications/Codex++ 管理工具.app。
想显示在下方?
欢迎加入 Codex++ 交流 3 群(QQ群:619480492),反馈问题、交流使用体验或提出新功能建议。点击链接加入群聊。
Telegram 频道:https://t.me/CodexPlusPlus
友情链接:LINUX DO
| 模块 | 功能 |
| --- | --- |
| 供应商配置 | 官方登录、官方登录混入 API、纯 API、聚合供应商;Responses / Chat Completions;模型测试、模型列表、Provider Doctor、cc-switch 与链接导入 |
| 模型与上下文 | 每模型上下文窗口、自动压缩阈值、model_catalog_json、通用配置,以及按供应商选择 MCP、Skill 和 Plugin |
| 会话管理 | 扫描本地会话、批量删除、Markdown 导出、Token 用量历史、Provider metadata 同步与备份 |
| Codex 增强 | 插件市场与模型白名单、会话操作、粘贴修复、中文界面、快速启动、会话宽度与滚动恢复、服务层级控制、Goals、Stepwise、图片覆盖层 |
| 开发工作流 | 项目移动、Upstream worktree、线程 ID、Zed Remote 项目识别与打开 |
| 脚本与维护 | 用户脚本安装与启停、应用检测、快捷方式、Watcher、环境冲突、日志诊断、健康检查和 Release 更新 |
所有界面增强都可以单独关闭。关闭“Codex 增强”总开关后,Codex++ 仍可作为供应商和启动管理工具使用。
Codex++ 将官方登录、混入 API 和纯 API 分开保存和切换:
| 模式 | 用途 | 认证边界 |
| --- | --- | --- |
| 官方登录 | 只使用 ChatGPT / Codex 官方账号 | 清理自定义 provider 和 API Key,保留官方登录状态 |
| 官方登录 + API | 保留官方账号与插件入口,模型请求走兼容 API | API Key 写入 provider bearer token,不写入纯 API 的 auth.json |
| 纯 API | 不依赖官方账号,完全使用自定义 Base URL / Key | 独立保存 config.toml 与 API Key,不混入官方认证 |
| 聚合供应商 | 在多个普通 API 供应商之间路由 | 支持故障转移、按会话轮转、按请求轮转和权重轮转 |
每个供应商可配置 Responses 或 Chat Completions 协议、模型列表、测试模型、User-Agent、上下文窗口、自动压缩阈值,以及该供应商启用的 MCP Server、Skill 和 Plugin。Chat Completions 可通过本地代理转换为 Codex 使用的 Responses 协议。
每模型窗口支持 1M、200K 或纯数字。Codex++ 会生成独立 model_catalog_json,让 Codex 按当前模型使用对应窗口。
切换供应商时会先保存当前配置,再写入目标配置。真实 API Key 只保存在本机,请勿放入日志、截图或 issue。
依赖注入脚本的设置通常需要保存后重新启动 Codex++ 才会生效。
Codex++ 通过 GitHub Release 发布安装包。Windows 会生成 NSIS 安装程序,macOS 会生成 Intel x64 和 Apple Silicon arm64 两个 DMG。
管理工具的“关于”页可以检查并启动更新。静默启动器发现新版本时会拉起管理工具并进入更新提示。
~/.codex/config.toml~/.codex/auth.json~/.codex/sqlite/*.db,旧版回退到 ~/.codex/state_5.sqlite~/.codex-session-delete/~/.codex/backups_state/provider-sync确认从 Codex++ 入口启动,而不是直接打开官方应用。然后在管理工具的“安装维护”和“关于”页面检查应用路径、启动状态与诊断日志。
先在供应商详情中运行模型测试或 Provider Doctor,并确认协议、Base URL、Key 和测试模型匹配。纯 API 与官方混入模式使用不同的认证位置,不要手工复制两种模式的 auth.json。
Codex++ 的 Upstream worktree 功能等价于先更新远端分支,再执行:
git worktree add -b <new-branch> <worktree-path> upstream/<base-branch>
这样新 worktree 从最新的远端跟踪分支开始,而不是从当前会话所在的本地 HEAD 开始。如果 Codex++ 无法安全识别当前 Codex 版本的原生 worktree 创建表单,请从 Codex++ 菜单中手动填写仓库路径、分支名、worktree 路径、remote 和 base branch。
当前安装包未签名/未公证时,macOS Gatekeeper 可能拦截,出现“已损坏,无法打开”的提示:

如果遇到该提示,可以在终端执行下面两条命令,解除苹果系统的安全隔离限制:
sudo xattr -rd com.apple.quarantine /Applications/Codex++\ 管理工具.app
sudo xattr -rd com.apple.quarantine /Applications/Codex++.app
执行后重新打开 Codex++ 或 Codex++ 管理工具 即可。
可以。Release 会分别提供 macos-x64.dmg 和 macos-arm64.dmg。Intel Mac 下载 x64 包,Apple Silicon 下载 arm64 包。
# 前端检查
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
主要结构:
apps/
codex-plus-launcher/ 静默启动入口
codex-plus-manager/ Tauri 管理工具
assets/inject/
renderer-inject.js 注入到 Codex 渲染端的增强脚本
crates/
codex-plus-core/ 启动、注入、配置、更新、安装、桥接等核心逻辑
codex-plus-data/ 会话数据、导出、Provider 同步
scripts/installer/
windows/CodexPlusPlus.nsi Windows NSIS 安装包
macos/package-dmg.sh macOS DMG 打包
Copyright (C) 2026 BigPizzaV3
CodexPlusPlus 采用 GNU Affero General Public License v3.0,SPDX 标识为 AGPL-3.0-only。修改并分发本项目,或通过网络提供修改后的版本时,需要按 AGPLv3 提供对应源代码。
许可证只覆盖 CodexPlusPlus 自身代码,不授予 OpenAI、ChatGPT、Codex 的商标、应用资源或其他第三方内容的权利。
Codex++ 依赖官方桌面应用的页面结构、CDP 和本地数据格式。官方应用更新后,部分注入功能可能需要跟随适配;修改供应商配置或本地会话数据前应保留备份。
No comments yet. Set the tone — say what you would want to know.