← all repositories
bawadou/ai-data-extractor

Rescue Years of AI Coding Chats From Opaque Storage

Your AI coding conversations are trapped in undocumented SQLite schemas and scattered log files; this extracts them before the next update wipes everything.

541 stars Python Coding AssistantsData Tooling
ai-data-extractor
Collecting fresh signals — velocity needs a few days of history.
collecting data…
star history

What it does

ai-data-extractor is a Python forensic tool that hunts through local application data for chat histories left by ten AI coding assistants—including Cursor, Claude Code, Windsurf, Cline/Roo Code, and Aider. It normalizes whatever it finds into timestamped JSONL files with a common schema covering messages, code context, file diffs, tool calls, and model names. The whole thing runs offline against your own filesystem using only the standard library.

The interesting bit

The project treats proprietary storage formats as an archaeology problem. Cursor alone has gone through at least three documented schema shapes; Windsurf and Trae are handled by a generic heuristic that scans JSON blobs for objects resembling role-plus-text pairs. Aider is included specifically to test the abstraction—instead of a central database, it leaves a markdown transcript in every project directory, so the toolkit has to generalize beyond “scan one app-data folder.”

Key highlights

  • Supports ten tools, from mainstream editors (Cursor, Windsurf) to terminal agents (Claude Code, Aider, Gemini CLI).
  • Zero third-party dependencies; opens SQLite databases in read-only mode so a running IDE can’t block extraction.
  • Auto-detects macOS, Linux, and Windows path conventions without configuration.
  • Each source is a standalone module with a two-function interface, making it straightforward to add new extractors.
  • Output is structured for fine-tuning and analytics, with an optional merge into a single all_conversations.jsonl.

Caveats

  • Cursor, Windsurf, and Trae rely on undocumented schemas that change between releases; extraction is best-effort and may break on future app updates.
  • Aider has no fixed app-data folder, so the tool scans common project-root names up to five levels deep—if your repositories live elsewhere, you must point it at them directly.
  • Not every source records the same metadata; code_context, token usage, and project_path are optional, while messages, source, and session_id are the only guaranteed fields.

Verdict

Worth a look if you want to back up, analyze, or train models on your own AI assistant history. Skip it if you only use cloud-hosted chat interfaces with no local persistence.

Frequently asked

What is bawadou/ai-data-extractor?
Your AI coding conversations are trapped in undocumented SQLite schemas and scattered log files; this extracts them before the next update wipes everything.
Is ai-data-extractor open source?
Yes — bawadou/ai-data-extractor is open source, released under the MIT license.
What language is ai-data-extractor written in?
bawadou/ai-data-extractor is primarily written in Python.
How popular is ai-data-extractor?
bawadou/ai-data-extractor has 541 stars on GitHub.
Where can I find ai-data-extractor?
bawadou/ai-data-extractor is on GitHub at https://github.com/bawadou/ai-data-extractor.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.