Codex App在API Key登录模式下,插件入口可能提示需要登录ChatGPT;会话列表则主要提供归档功能,缺少直接删除入口。Codex++针对这两个问题提供了一套外部增强方案。
它不是重新开发的Codex客户端,也不会修改Codex App内部文件。项目通过独立启动器运行Codex,再使用Chromium DevTools Protocol向应用的渲染页面注入脚本,从而增加原生界面中没有提供的操作。

Codex++是什么
Codex++是一款面向Codex App的外部启动器。用户通过Codex++打开应用后,界面顶部会增加独立菜单,并可按需启用插件解锁、特殊插件安装和会话删除等功能。
它的核心定位不是改变Codex的模型能力,而是调整桌面客户端的前端交互和本地会话管理。没有通过Codex++启动的Codex进程,不会获得这些增强功能。
它解决哪些问题
| 原生使用问题 | Codex++提供的处理方式 |
|---|---|
| API Key模式下插件入口受限 | 重新显示并启用插件入口 |
| 部分插件显示应用不可用 | 解除前端安装按钮的禁用状态 |
| 会话只能归档,不能直接删除 | 在会话列表中增加删除按钮 |
| 担心误删重要会话 | 删除前确认,并为本地删除提供撤销 |
| 不同功能无法单独控制 | 通过Codex++菜单分别开启或关闭 |
这些功能都围绕桌面客户端的现有不足展开,并不会改变账号权限、模型额度或服务端策略。
插件入口如何增强
Codex++会在页面中查找插件按钮,并调整相关前端认证状态和禁用属性,使API Key登录模式下的插件入口能够正常显示和点击。
设置面板还提供“特殊插件强制安装”选项。当插件页面出现“App unavailable”或“应用不可用”时,工具会尝试解除安装按钮的前端限制。
需要注意,按钮能够点击并不代表插件一定可以正常使用。插件是否能够安装、授权和调用,还会受到账号权限、服务端状态、地区限制及插件自身配置影响。
会话删除如何实现
Codex++会在会话列表项目上增加删除按钮。鼠标移动到对应会话后,可以发起删除操作,正式执行前还会出现确认窗口。
工具会优先尝试服务端删除。如果服务端接口不可用,则转而处理Codex本地SQLite数据库中的会话记录。
本地删除并不只是移除列表标题。项目会识别会话关联的目标、动态工具、任务关系和本地记录文件,并在删除前保存相关数据。
Codex本地数据库的默认位置为:
~/.codex/state_5.sqlite
删除备份默认保存在:
~/.codex-session-delete/backups
删除完成后,界面会提供撤销入口。撤销功能主要用于恢复本地数据库和本地文件,不应理解为能够恢复已经从服务端彻底删除的数据。
为什么采用外部注入
Codex++启动Codex时会增加远程调试参数,默认使用9229端口。随后运行本地辅助服务,并通过CDP将增强脚本注入Codex的渲染进程。
外部启动器带调试参数打开Codex App。
本地helper服务处理删除和撤销请求。
注入脚本修改插件入口和会话列表界面。
渲染页面通过CDP桥接访问本地服务。
这种方式不需要修改app.asar,也不需要向Codex安装目录写入DLL。停止使用或卸载Codex++后,原版Codex仍可正常启动。
外部注入也存在兼容性成本。Codex App更新后,如果按钮名称、页面结构或内部组件发生变化,增强脚本可能暂时失效,需要项目更新适配。

Windows自动接管机制
默认情况下,只有从Codex++快捷方式启动时,增强功能才会生效。从开始菜单、任务栏或原版快捷方式打开Codex,不会自动注入脚本。
Windows用户可以选择安装watcher。它会定期检查Codex进程和CDP端口,发现用户通过原生入口启动Codex时,会结束当前进程,再使用Codex++启动器重新打开。
这种方式可以统一不同启动入口,但会带来一些额外影响:
原生启动时会出现短暂的打开、关闭和重新打开。
后台会有Python进程常驻。
watcher会随Windows用户登录自动运行。
不希望后台常驻的用户,可以不安装watcher,只使用Codex++桌面快捷方式。
安装与系统要求
项目要求本机已经安装Codex App,并准备Python 3.11或更高版本。安装Python依赖后,再执行项目提供的安装命令。
python -m pip install -e . python -m codex_session_delete setup
Windows用户还可以直接双击项目根目录中的setup.bat,通过菜单完成安装或卸载。安装完成后,桌面会生成Codex++.lnk快捷方式。
macOS安装程序会自动查找Applications目录中的Codex应用,并生成独立的Codex++.app。
不希望安装系统快捷入口时,也可以直接运行:
python -m codex_session_delete launch
项目目前明确支持Windows和macOS,没有提供Linux平台的正式安装流程。
数据备份与撤销
Codex++会直接接触Codex本地数据库,因此数据处理是使用前必须了解的部分。项目会在本地删除前备份相关数据库记录和会话文件,并生成用于撤销的标识。
启动失败日志默认保存在:
~/.codex-session-delete/launcher.log
Windows watcher日志默认位于:
%USERPROFILE%\.codex-session-delete\watcher.log
这些备份和日志不会随着普通卸载自动全部清除。需要连同Codex++自身数据一起删除时,可以使用带有remove-data参数的卸载命令。
python -m codex_session_delete remove --remove-data
即使项目提供备份机制,重要会话中的代码、文档和生成结果仍应单独保存,不能只依赖本地数据库撤销。
poxiaoxi博客
精彩评论