Codex App在API Key登录模式下,插件入口可能提示需要登录ChatGPT;会话列表则主要提供归档功能,缺少直接删除入口。Codex++针对这两个问题提供了一套外部增强方案。

它不是重新开发的Codex客户端,也不会修改Codex App内部文件。项目通过独立启动器运行Codex,再使用Chromium DevTools Protocol向应用的渲染页面注入脚本,从而增加原生界面中没有提供的操作。

Codex++:为 Codex App 解锁插件入口与会话删除

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的渲染进程。

  1. 外部启动器带调试参数打开Codex App。

  2. 本地helper服务处理删除和撤销请求。

  3. 注入脚本修改插件入口和会话列表界面。

  4. 渲染页面通过CDP桥接访问本地服务。

这种方式不需要修改app.asar,也不需要向Codex安装目录写入DLL。停止使用或卸载Codex++后,原版Codex仍可正常启动。

外部注入也存在兼容性成本。Codex App更新后,如果按钮名称、页面结构或内部组件发生变化,增强脚本可能暂时失效,需要项目更新适配。

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

即使项目提供备份机制,重要会话中的代码、文档和生成结果仍应单独保存,不能只依赖本地数据库撤销。

参考资料

  1. Codex++项目仓库

  2. Codex++功能与安装说明

  3. Codex++问题反馈页面