Я ушёл из ChatGPT. 1800 диалогов ушли со мной
27 февраля 2026 для меня стало точкой невозврата.
Пентагон объявил Anthropic supply-chain risk после их отказа снять guardrails вокруг массовой слежки и полностью автономного оружия. Трамп распорядился прекратить использование продуктов Anthropic в федеральных агентствах с шестимесячным переходным периодом. В те же дни OpenAI объявила о соглашении с Пентагоном по размещению своих моделей в classified cloud networks, а Anthropic заявила, что будет оспаривать решение в суде. Для меня это был момент, когда стало окончательно ясно: строить свой личный workflow вокруг одного AI-вендора - плохая идея.
Проблема была в другом: у меня уже накопилось 1800+ диалогов в ChatGPT.
Это не просто «история чатов». Там были заметки по проектам, исследования, отладка, черновики текстов, архитектурные обсуждения, рабочие идеи и куча промежуточного мышления, к которому я периодически возвращался. Терять всё это только потому, что я больше не хочу зависеть от конкретного продукта, мне совсем не хотелось.
Да, у ChatGPT есть экспорт данных. Но экспорт сам по себе — это ещё не переносимость. ZIP-файл с JSON — это бэкап, а не рабочий инструмент. Он лежит мёртвым грузом, пока ты не придумаешь, как сделать эти данные снова доступными, читаемыми и полезными.
Поэтому я сделал chatgpt2md.
Это CLI-инструмент, который берёт экспорт ChatGPT, раскладывает все диалоги по Markdown-файлам, строит локальный полнотекстовый индекс и поднимает MCP-сервер, чтобы Claude мог сам искать нужные разговоры, открывать их целиком и использовать как контекст. В репозитории это и заявлено как основная цель: take your ChatGPT history with you to Claude.
Идея была не в «миграции ради миграции». Идея была в том, чтобы перестать держать свой контекст заложником одного интерфейса и одного поставщика.
Если очень коротко, инструмент делает четыре вещи:
- берёт экспорт ChatGPT в ZIP или JSON;
- конвертирует каждый диалог в нормальный Markdown;
- раскладывает файлы по папкам год/месяц;
- поднимает MCP-интеграцию, через которую Claude может искать и читать архив.
После подключения Claude получает доступ к трём простым инструментам:
- search_conversations — полнотекстовый поиск по истории;
- get_conversation — чтение полного текста конкретного диалога;
- list_conversations — просмотр архива по году и месяцу.
То есть дальше всё выглядит так, как и должно выглядеть в 2026 году: не я руками копирую куски из старого продукта в новый, а модель сама идёт в мой архив, находит нужный разговор и подтягивает его как контекст.
Для меня это и есть главный смысл всей истории. Не «экспортировать данные». А сделать свой накопленный контекст снова пригодным к использованию.
Почему я выбрал именно Markdown, а не очередную внутреннюю базу или проприетарный формат? Потому что Markdown — это максимально скучный и поэтому максимально живучий формат. Его можно открыть где угодно: в редакторе, в IDE, в Obsidian, в обычном просмотрщике файлов, да хоть через grep. Если завтра я решу уйти и от Claude тоже, архив никуда не денется. Он останется моим.
Это, кстати, важнее, чем кажется на первый взгляд.
Сейчас почти все обсуждают, какой LLM «лучше»: ChatGPT, Claude, Gemini, ещё кто-то. Но на практике самый ценный актив — не сам интерфейс и не даже не конкретная модель, а тот контекст, который ты накопил за сотни и тысячи взаимодействий. Если этот контекст нельзя легко забрать, переиспользовать и подключить к другому инструменту, значит ты по сути строишь работу внутри очередного vendor lock-in.
Мне хотелось ровно обратного. Я хотел, чтобы мои старые диалоги были:
- локальными;
- читаемыми человеком;
- пригодными для поиска;
- доступными новой модели без ручной возни.
Именно это chatgpt2md и делает. Проект собирается в один бинарник, распространяется под MIT-лицензией и имеет готовые сборки для macOS, Windows и Linux.
Проект пока маленький, без лишнего пафоса. Но мне нравится сама идея: контекст должен принадлежать пользователю, а не продукту.
Если вы тоже накопили годы работы в ChatGPT, но не хотите оставлять это в виде мёртвого ZIP-архива или продолжать зависеть от одного AI-сервиса, возможно, вам это пригодится.
Если будет интерес, следующим постом могу отдельно разобрать техническую часть: почему здесь вообще уместен MCP, зачем нужен локальный индекс, и почему связка «Markdown + поиск + инструменты для модели» на практике оказывается полезнее, чем просто хранить экспорт «на всякий случай».