Ваши AI-чаты хранятся локально — и их можно извлечь
Инструмент ai-data-extraction извлекает всю историю переписки с Cursor, Claude Code, Windsurf, Codex и другими ИИ-ассистентами для обучения собственных моделей.
Каждый AI-ассистент хранит вашу историю — но молчит об этом
Разработчик под ником 0xSero выпустил на GitHub открытый инструментарий ai-data-extraction — набор Python-скриптов, который автоматически находит и выгружает полную историю сессий из восьми популярных AI-ассистентов для программистов. Проект набрал более 1 000 звёзд и уже собрал 4 контрибьютора. Примечательна сама постановка проблемы от одного из пользователей: «Каждый coding-агент хранит историю. Никто из них не даёт её посмотреть».
Что именно извлекается
Каждый скрипт собирает не только текст переписки. В выгрузку попадают:
- сообщения пользователя и ответы модели
- фрагменты кода с путями к файлам и номерами строк
- диффы (предложенные правки кода)
- контексты нескольких файлов одновременно
- вызовы инструментов (tool use) и результаты их выполнения
- временны́е метки и метаданные сессий
Поддерживаемые инструменты
Тулкит извлекает полную историю диалогов из 8 AI-ассистентов для программирования. Вот краткая сводка:
| Ассистент | Формат хранения | Расположение данных |
|---|---|---|
| Claude Code | JSONL-файлы сессий | ~/.claude, ~/.claude-code |
| Cursor | SQLite БД (.vscdb) | ~/Library/Application Support/Cursor |
| Codex | Rollout JSONL | ~/.codex, ~/.codex-local |
| Windsurf | SQLite (VSCode-like) | ~/Library/Application Support/Windsurf |
| Trae | JSONL + SQLite | ~/.trae, ~/Library/Application Support/Trae |
| Continue | JSON-файлы сессий | ~/.continue/sessions/ |
| Gemini CLI | JSON-файлы чатов | ~/.gemini/tmp/[hash]/chats/ |
| OpenCode | JSON + Tauri .dat | ~/.local/share/opencode |
Чтобы извлечь данные из всех восьми инструментов сразу, достаточно запустить:
./extract_all.sh
Скрипт создаст директорию extracted_data/ с файлами в формате JSONL, разбитыми по временным меткам.
Как это работает
graph TD
A[Запуск скрипта] --> B[Определение ОС]
B --> C[Поиск установок ассистента]
C --> D{Формат данных?}
D -->|SQLite| E[Парсинг .vscdb / .db]
D -->|JSONL| F[Чтение файлов сессий]
D -->|JSON| G[Чтение файлов чатов]
E --> H[Объединение в JSONL]
F --> H
G --> H
H --> I[extracted_data/*.jsonl]
Каждый скрипт умеет работать с macOS, Linux и Windows — пути к данным подбираются автоматически. Для Cursor реализована поддержка всех форматов хранения, начиная с версии v0.43 и вплоть до актуального v2.0+, поскольку структура баз данных менялась несколько раз.
Пример выходного формата
{
"messages": [
{
"role": "user",
"content": "How do I fix this TypeScript error?",
"code_context": [
{
"file": "/Users/user/project/src/index.ts",
"code": "const x: string = 123;"
}
],
"timestamp": "2025-01-16T14:30:22.123Z"
},
{
"role": "assistant",
"content": "The error occurs because you're assigning a number to a string type...",
"model": "claude-sonnet-4-5",
"timestamp": "2025-01-16T14:30:25.456Z"
}
],
"source": "cursor-composer",
"name": "TypeScript Type Error Fix"
}
Каждая беседа — одна строка JSONL. Данные можно сразу загрузить в Hugging Face datasets и дообучить любую модель на собственном стиле работы.
Зачем это нужно и какие риски
«Хочешь поэкспериментировать с Reinforcement Learning? Хочешь восстановить все свои AI-сессии в виде аккуратного, готового к обучению датасета?» — типичный сценарий использования инструмента из обсуждений на X.
Тулкит извлекает ВАШИ СОБСТВЕННЫЕ данные из локально установленных AI-инструментов — это принципиальный момент. Авторы позиционируют проект как способ вернуть контроль над своей историей взаимодействия с ИИ.
Однако инструмент поднимает и важные вопросы о приватности в более широком контексте. Самой распространённой проблемой приватности оказывается отсутствие прозрачности в том, что именно инструмент собирает, хранит, передаёт, использует для обучения или делает доступным администраторам. Факт существования ai-data-extraction наглядно демонстрирует: локальные данные AI-ассистентов содержат значительно больше информации, чем пользователи обычно предполагают.
Контекст: данные разработчиков становятся активом
По данным отчёта GitHub Octoverse 2025, 92% разработчиков в США уже используют AI-инструменты для написания кода. При таком масштабе накопленная история взаимодействий с ассистентами превращается в ценный корпус данных — и инструмент вроде ai-data-extraction позволяет разработчикам самостоятельно распоряжаться этим ресурсом.
Показательно, что сам автор использовал ai-data-extraction для построения калибровочного корпуса в собственном исследовании по машинному обучению.
Проект открыт для вклада сообщества: если появился новый формат хранения или поддержка нового инструмента — авторы ждут pull request’ы.