Extry
Скоро в Chrome Web Store
Русский

Превратите диалог ChatGPT в JSON.

У диалога уже есть структура — роли, порядок, время, модели. Читая его сплошным текстом, вы её выбрасываете. Extry возвращает её в виде JSON — по записи на каждое сообщение.

Получить ссылку на запускОдно письмо, когда выйдет. Больше ничего.
extry · exportпример вывода
  • retry-backoff-design.json31.7 KBструктура
1 файл, внутри .zipпо записи на сообщение

Для скрипта, а не для чтения

JSON берут, когда файл открывает не человек. Каждое сообщение сохраняет роль, позицию, модель, которая его написала, и момент создания, поэтому скрипт может фильтровать, считать и сортировать, не угадывая по тексту.

Для чтения это неверный выбор. Если диалог должен снова оказаться перед человеком, Markdown или Word обойдутся с ним лучше.

Один объект, затем сообщения по порядку

Начало файла описывает диалог: заголовок, ссылка на источник, когда создан, когда выгружен и сколько в нём сообщений. Дальше сами сообщения — по порядку, каждое отдельным объектом.

Текст сообщения остаётся markdown, поэтому блоки кода переживают перенос. Сноски продублированы массивом источников, чтобы скрипт прошёл по ссылкам, не разбирая текст обратно.

retry-backoff-design.jsonjson
{
  "title": "Retry backoff design",
  "source": "https://chatgpt.com/c/…",
  "created_at": "2026-03-11T09:14:22Z",
  "exported_at": "2026-03-12T18:02:41Z",
  "message_count": 2,
  "messages": [
    {
      "index": 1,
      "role": "user",
      "author": "user",
      "model": null,
      "created_at": "2026-03-11T09:14:22Z",
      "text": "Why is the retry loop",
      "sources": []
    }
  ]
}

То, чего не даёт сплошной текст

Структура зафиксирована, поэтому почти всё это — несколько строк, а не разбор формата.

Фильтровать и считать

Только ответы ассистента, только после определённой даты, только написанные конкретной моделью.

Отдать в пайплайн

Загрузить в Jupyter, в расчёт эмбеддингов или в набор для проверки, ничего заранее не вычищая.

Сравнить две выгрузки

Один диалог в два момента: сравнить записи вместо того, чтобы перечитывать обе версии.

Три шага, один файл

  1. Откройте диалог в ChatGPT и нажмите кнопку Extry на странице.
  2. Выберите JSON в панели.
  3. Нажмите «Скачать этот диалог» и достаньте .json из архива.

Без аккаунта, без загрузки на сервер. Файл собирается прямо в странице, поэтому диалог никуда не уходит на конвертацию.

Где что выполняется

Extry — расширение для Chrome. Чтобы сделать экспорт, диалог никуда отправлять не нужно.
ЧтоГде происходит
Экспорт во все форматыВ вашем браузере
Вложения и изображенияВ вашем браузере
Содержимое диалоговНикуда не отправляется
Статистика использованияНе собирается
Типографский PDF (появится позже, по желанию)На сервере, файл удаляется сразу

О выгрузке в JSON

Что лежит в каждом сообщении?

Номер, идентификатор сообщения, роль, автор, написавшая модель или null, время создания меткой ISO, текст и процитированные источники.

Текст обычный или markdown?

Markdown. Код остаётся в блоках с указанием языка, поэтому его можно и отрисовать, и снять.

Можно получить все диалоги в JSON разом?

Да. Массовая выгрузка пишет такой же файл для каждого диалога, каждый в своей папке внутри одного архива.

Структура достаточно устойчива, чтобы писать под неё скрипт?

Ключи зафиксированы, и их пишет само расширение, а не считывает со страницы, поэтому форма не поедет при смене интерфейса. Значения по-прежнему следуют тому, что сообщает ChatGPT.

Другие виды того же диалога

Тот же диалог, записанный иначе: CSV, Markdown, выгрузку всех диалогов, главную страницу.