用于移除 Codex 会话记录中的加密内容的 GUI 工具。
- 通过 Session ID 查找并处理
~/.codex/sessions/目录下的会话记录 - 自动移除 JSONL 文件中的
encrypted_content字段 - 友好的图形界面,实时显示处理日志
- 支持处理多个匹配的会话文件
- 跨平台支持:macOS、Windows、Linux
本项目使用 uv 管理依赖:
uv syncuv run python remove_encrypted_content_gui.py./build.sh打包完成后:
- macOS:
dist/CodexSessionCleaner.app- 可拖到应用程序文件夹 - Linux:
dist/CodexSessionCleaner- 可执行文件
build.bat打包完成后:dist\CodexSessionCleaner.exe
- 启动应用程序
- 输入 Session ID(例如:
019dffdb-110e-7671-a321-16490e44b34b) - 点击「处理」按钮
- 查看日志输出,确认处理结果
| 平台 | 构建脚本 | 输出文件 | 打包模式 | 启动速度 |
|---|---|---|---|---|
| macOS | ./build.sh |
dist/CodexSessionCleaner.app |
onedir | 2-4 秒 |
| Windows | build.bat |
dist\CodexSessionCleaner.exe |
onefile | 3-5 秒 |
| Linux | ./build.sh |
dist/CodexSessionCleaner |
onedir | 2-4 秒 |
macOS 版本使用 onedir 模式打包,启动速度比 onefile 模式快 3-5 倍。
Ad-hoc 签名(推荐,无需开发者账号):
codesign --force --deep --sign - "dist/CodexSessionCleaner.app"开发者签名(需要 Apple Developer 账号):
./sign_app.sh首次运行提示:如果遇到"无法打开",右键点击应用选择「打开」。
| 模式 | 首次启动时间 | 说明 |
|---|---|---|
| onefile 模式 | 8-15 秒 | 需要解压到临时目录 |
| onedir 模式 | 2-4 秒 | 文件已解压在 .app 内部 |
| onedir + 签名 | 1-2 秒 | 跳过 Gatekeeper 扫描 |
| 文件 | 说明 |
|---|---|
remove_encrypted_content.py |
命令行版本(交互式输入) |
remove_encrypted_content_gui.py |
GUI 版本(PySide6) |
CodexSessionCleaner.spec |
PyInstaller 配置文件(跨平台) |
build.sh |
macOS/Linux 打包脚本 |
build.bat |
Windows 打包脚本 |
sign_app.sh |
macOS 签名脚本(可选) |
pyproject.toml |
项目配置和依赖管理 |
- Python 3.12+
- PySide6 (Qt for Python)
- PyInstaller 6.0+
- uv (依赖管理)
- 处理前会自动创建临时文件,处理成功后替换原文件
- 支持处理多个匹配的会话文件
- 自动过滤
.backup文件 - 所有平台都需要安装
uv并添加到 PATH - macOS 用户建议使用 ad-hoc 签名以获得最佳启动速度