Skip to content

Export Formats RU

Svwergio_mel edited this page Nov 12, 2026 · 3 revisions

Форматы экспорта — как выглядит текст

Chat Export пишет текущий чат (не полный дамп аккаунта). Форматы: Markdown, YAML, JSON, HTML, PDF. Несколько форматов сразу можно сложить в папку или zip. Имена файлов: {platform}-{title}-{date}.{ext}.

Схемы (name/version) задают форму текста. Дефолт: chat-export/1. Альтернатива: sharegpt/1. Выбор — в попапе расширения (Расширенные → Схемы экспорта); панель на странице только переключает форматы. MCP: опциональный schema у chats_export (сервер: settings.exportSchema).

Эта страница — семантический контракт дефолтной схемы: роли, метаданные, источники и тела сообщений.

Общая модель сообщения

Каждый ход примерно такой:

Поле Смысл
role Логическая роль: user, assistant или slug провайдера
role_tag / маркер роли Тег в MD-фенсах и в JSON (role_tag) — например user, assistant, chatgpt, grok, claude, …
text Тело сообщения как Markdown-подобный текст (DOM → htmlToMarkdown)
links Опционально [{ text, href }]
sources Опционально цитаты [{ title, url }] (поиск / grounding)

Мета (если доступны): platform, url, title, exported / exported_at, chat_id, model, user_name, user_handle, user_email.


Markdown (.md) — фенсы под парсинг

Рассчитано на простой сплиттер по блокам ```md.

  1. Один system-фенс — язык md, первая строка метки sys, дальше строки ключ: значение.
  2. Каждое сообщение — пустой фенс, внутри метка роли с двоеточием (user:, assistant:, chatgpt:, …), затем пустая строка и тело.
  3. Опциональный фенс sources — метка sources, нумерованные Markdown-ссылки.

Пример:

```md
sys
platform: chatgpt
url: https://chatgpt.com/c/…
title: Bake-off notes
exported: 2026-11-12T05:00:00.000Z
chat_id: …
model: gpt-5
```

```md
user:
```

What is the capital of France?

```md
assistant:
```

Paris.

```md
sources
1. [Wikipedia](https://en.wikipedia.org/wiki/Paris)
```

Как парсить MD

  1. Найти fenced-блоки с info-строкой md.
  2. Первая строка внутри фенса = метка (sys, user:, sources, …).
  3. Остальные строки = payload (sys / sources) или пусто для маркеров роли.
  4. Текст между маркером роли и следующим фенсом = тело сообщения.

Код внутри ответа — обычные ```lang (из HTML чата), не маркеры ролей md.


JSON (.json) — schema: chat-export/1

Стабильный машинный формат. Pretty-print, перевод строки в конце.

{
  "schema": "chat-export/1",
  "platform": "chatgpt",
  "url": "https://chatgpt.com/c/…",
  "title": "Bake-off notes",
  "exported_at": "2026-11-12T05:00:00.000Z",
  "chat_id": "…",
  "model": "gpt-5",
  "messages": [
    {
      "role": "user",
      "role_tag": "user",
      "text": "What is the capital of France?"
    },
    {
      "role": "assistant",
      "role_tag": "assistant",
      "text": "Paris.",
      "sources": [
        { "title": "Wikipedia", "url": "https://en.wikipedia.org/wiki/Paris" }
      ]
    }
  ]
}
  • Парсеры начинайте с проверки schema === "chat-export/1".
  • Для отображения предпочитайте role_tag; для грубого фильтра — role.
  • Пустые опциональные поля не пишутся (не null).

YAML (.yaml)

Те же мета-ключи, что у JSON (без schema). Дальше список messages::

platform: chatgpt
url: https://chatgpt.com/c/…
title: Bake-off notes
exported_at: 2026-11-12T05:00:00.000Z
messages:
  - role: user
    text: |
      What is the capital of France?
  - role: assistant
    text: |
      Paris.
    sources:
      - title: Wikipedia
        url: https://en.wikipedia.org/wiki/Paris

Многострочные тела — YAML block scalar (text: |).


HTML (.html)

Отдельный документ: <article> с <header> + <dl> метаданных, затем <section data-role="…"> на каждое сообщение (<h2> заголовок роли, тело из Markdown, опционально Sources <ol>). Встроен CSS, удобный для печати.


PDF (.pdf)

Выделяемый текст (включая кириллицу) из того же потока сообщений — не скриншот. Удобно шарить; для автопарсинга хуже, чем JSON/MD.


Мини-страницы схем

Id Страница
chat-export/1 (дефолт) Export-Schema-chat-export-1-RU
sharegpt/1 Export-Schema-sharegpt-1-RU

Это не

  • Не bulk-ZIP OpenAI «скачать все чаты» / Conversations.json.
  • Не Alpaca JSONL (другая схема — issue или pack в schemas/).
  • Не гарантия, что каждый провайдер заполнит все мета-поля (разброс DOM/API).

Фидбек

Нужен другой layout — issues или новый schema pack (schemas/README.md / CONTRIBUTING). Дефолт остаётся chat-export/1.

Clone this wiki locally