数据分析

Clean Codex Archives

试用

Safely inspect and remove locally archived Codex conversation data on Windows, macOS, and Linux, including archived rollout JSONL files, archived session row...

它能做什么

Safely inspect and remove locally archived Codex conversation data on Windows, macOS, and Linux, including archived rollout JSONL files, archived session row...

技能文档

Clean Codex Archives

Use the bundled scripts/clean_codex_archives.py script as the cross-platform entry point. It uses only Python's standard library and preserves active sessions.

Safety contract

  • Resolve the Codex data root from an explicit --codex-home argument, then the CODEX_HOME environment variable, then the current user's .codex directory.
  • Treat state_5.sqlite as the source of truth. Only rows with threads.archived = 1 are eligible for deletion.
  • Preserve all unarchived threads, their logs, and their session-index entries.
  • Run without --apply first. Use --apply only after the user explicitly authorizes deletion.
  • Delete associated logs and goals before deleting archived thread rows, because the archived IDs are needed to select related records safely.
  • Delete related thread_dynamic_tools and thread_spawn_edges rows when those tables are present.
  • Remove only archived_sessions/*.jsonl files. Do not delete the archive directory itself or unrelated files.
  • Rewrite session_index.jsonl only after database cleanup, retaining entries whose IDs still exist in state_5.sqlite and rejecting malformed JSON instead of silently dropping it.
  • If a database is locked, ask the user to close Codex or otherwise stop the process holding the database, then retry.

Workflow

  1. Run a dry run and inspect the counts for archive files, archived threads, related logs, goals, and stale index entries.
  2. If the user confirms deletion, rerun with --apply.
  3. Use --vacuum only when the user also wants SQLite files compacted; it may require exclusive database access and is not needed for logical deletion.
  4. Verify that archived-thread count is zero, archive-file count is zero, remaining index IDs all exist in the state database, and SQLite quick_check reports ok for modified databases.

Commands

# Inventory only; no changes. Use python3 on Unix-like systems.
python3 ./scripts/clean_codex_archives.py

# Apply the explicitly authorized cleanup.
python3 ./scripts/clean_codex_archives.py --apply

# Use a specific Codex data root.
python3 ./scripts/clean_codex_archives.py --codex-home "$HOME/.codex" --apply

# Optional physical compaction after deletion.
python3 ./scripts/clean_codex_archives.py --apply --vacuum

On Windows, use python instead of python3.

相关技能

Export a Codex session JSONL from ~/.codex/sessions into a clean Markdown transcript in ~/Documents/Exports. Use when the user wants to export, save, or conv...

14 次安装1 星标

Export a Codex CLI or Codex Desktop (App) session to Markdown, HTML, or Obsidian notes. Use when the user asks to export, save, share, or review a past chat, session, or transcript. Supports --brief, --redact, --since/--until, --grep, --append (incremental), --interactive (message picker), --sessions (merge), --watch (auto-incremental), and --list. Works with both Codex CLI and Codex Desktop app sessions.

Use when a Codex thread or local session is slow because prior turns contain heavy image, screenshot, or base64 payloads. Helps locate the session JSONL, bac...

6 次安装

Use this skill when the user wants to inspect, search, export, verify, clean up, delete, restore, or purge local Codex sessions stored under a Codex root suc...

16 次安装1 星标

Autonomous Codex run-to-completion workflow for low quota/cota situations. Use when the user asks for an uninterrupted agent run, says "nao me peca confirmac...

11 次安装