Skip to content

About

codex-session-cleaner

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Codex Session Cleaner

用于移除 Codex 会话记录中的加密内容的 GUI 工具。

功能

  • 通过 Session ID 查找并处理 ~/.codex/sessions/ 目录下的会话记录
  • 自动移除 JSONL 文件中的 encrypted_content 字段
  • 友好的图形界面,实时显示处理日志
  • 支持处理多个匹配的会话文件
  • 跨平台支持:macOS、Windows、Linux

安装依赖

本项目使用 uv 管理依赖:

uv sync

运行方式

1. 直接运行 Python 脚本

uv run python remove_encrypted_content_gui.py

2. 打包成应用程序

macOS / Linux

./build.sh

打包完成后:

  • macOS: dist/CodexSessionCleaner.app - 可拖到应用程序文件夹
  • Linux: dist/CodexSessionCleaner - 可执行文件

Windows

build.bat

打包完成后:dist\CodexSessionCleaner.exe

使用说明

  1. 启动应用程序
  2. 输入 Session ID(例如:019dffdb-110e-7671-a321-16490e44b34b)
  3. 点击「处理」按钮
  4. 查看日志输出,确认处理结果

平台支持

平台 构建脚本 输出文件 打包模式 启动速度
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 启动速度优化

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 签名以获得最佳启动速度

About

codex-session-cleaner

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages