← Ко всем работам

ExportGPT

в деле

Расширение для Chrome. Сохраняет переписку с ChatGPT в PDF: целиком, только ответы или выбранные блоки.

В магазине Export ChatGPT Conversation
Кусок переписки с ChatGPT в тёмной теме: ответ списком, под ним свой ряд иконок ChatGPT, а в правом верхнем углу кнопка Export (2) рядом с собственной кнопкой ChatGPT. Одно сообщение ниже обведено и отмечено галочкой.
Кнопка, которую ставит расширение, — там, где она и стоит: в собственной панели ChatGPT, рядом с его кнопкой «поделиться». Она считает отмеченные сообщения.

Как это работает

Четыре шага: страница держит лишь часть переписки, расширение её пересобирает, сервер рисует PDF, файл возвращается.
Что происходит, когда нажимаешь Export.

Куда уходит файл

Маршрут: DNS сообщает браузеру адрес, расширение шлёт зашифрованный запрос, брандмауэр пропускает только этот порт, Caddy расшифровывает и держит сертификат, Gotenberg рисует PDF внутри сервера, и файл возвращается тем же путём.
Путь, который проходит переписка, и место, где она перестаёт быть читаемой для всех по дороге.

Девлог

интерфейс

У просьбы оценить появилось видимое «не сейчас». До этого выйти из неё можно было только кликнув мимо.

интерфейс

В начало меню добавлено «всё». Кнопка и так экспортировала переписку целиком, и мне казалось, что это очевидно. Комментарий при удалении показал обратное: люди искали такой пункт и не находили.

Меню, где первым пунктом добавлено «всё», над двумя прежними.
движок

Длинные экспорты приходили обрезанными, всегда в одном и том же месте. ChatGPT перестал держать реплики, ушедшие за пределы экрана, поэтому расширение проходит переписку целиком и пересобирает её до всякого рендера. В тот же день имена файлов перестали схлопываться в «New chat»: имя берётся из первого заданного вопроса.

движок

Картинки уменьшаются до отправки. Раньше они паковались в полный размер, и переписка с несколькими картинками давала файл на 24 МБ — этого хватало, чтобы рендер сдался. Та же переписка теперь даёт 2,7 МБ, и картинки выглядят так же.

интерфейс

Выбор блоков: сообщения отмечаются по одному, и кнопка показывает, сколько выбрано.

сервер

Рендер переехал с платного сервиса на арендованную машину. Преобразование то же, но цена перестала расти с каждым экспортом.

интерфейс

Переименовано в Export. Настройки бумаги уехали в отдельное окно, и меню стало спрашивать, что экспортировать, а не как это печатать. Кадр не сохранённый снимок того дня — снимков никто не делал. Это разметка и стили того коммита, поднятые из репозитория и отрисованные заново.

Тёмное меню с пунктами «выбрать для экспорта» и «только ответы ИИ».
начало

Выросло из чужого расширения, которое сохраняло любую веб-страницу в PDF через свой платный сервис преобразования. Первая версия держала ту же форму: кнопка «Save as PDF» и меню про бумагу — A4 или Letter, книжная или альбомная.