Как сохранить диалог с Claude в Markdown (Artifacts, цитаты, Projects)

·

Диалоги с Claude всё чаще становятся местом, где происходят серьёзные исследования и работа с кодом. Длинные треды с Artifacts, цитатами и многочасовым обменом сообщениями нередко содержат больше рассуждений, чем любой документ в ваших заметках. И всё же Anthropic не предоставляет экспорта. Нет кнопки «скачать как Markdown», нет JSON-дампа, нет endpoint для архива. Как только тред уходит из вашей боковой панели, единственный способ вернуться к нему --- это поиск по claude.ai, который не всегда находит то, что вы помните.

Сохранение диалогов с Claude в Markdown решает сразу три проблемы: вы получаете постоянный локальный архив, можете ссылаться на прошлые рассуждения внутри Obsidian или Notion, и можете подавать старый тред Claude в ChatGPT или Gemini как контекст при смене модели.

Это руководство охватывает все методы конвертации диалога с Claude в чистый Markdown --- от быстрого чата до исследовательского треда на 200K токенов с Artifacts.

Зачем сохранять диалоги Claude в Markdown?

Markdown --- это формат, который работает везде, куда нужно перенести диалог:

  • Скормить его другой LLM --- вставьте старый тред Claude в ChatGPT, Gemini или локальную модель, когда хотите получить второе мнение или другой стиль рассуждения
  • Положить в Obsidian или Notion --- один файл на диалог, полностью с возможностью поиска, со ссылками из проектных заметок
  • Процитировать конкретный шаг --- найти «момент, когда Claude предложил рефакторинг» в треде из 50 шагов --- это один поиск
  • Архивировать Artifacts как настоящие файлы --- код, документ, React-компонент, который построил Claude, становится блоком кода, который можно скопировать в репозиторий
  • Сохранить цитаты --- результаты веб-поиска, на которые Claude опирался в ответе, становятся сносками, которые можно проверить позже

Сценарий, который в 2026 году движет большую часть Claude-в-Markdown трафика, --- первый: люди используют Claude для глубокой работы, а потом хотят сохранить вывод и рассуждения, а не только финальный ответ.

Способ 1: Save (самый быстрый, один клик)

Save --- это расширение Chrome, которое превращает любой диалог Claude в файл Markdown одним кликом. Оно проходит по DOM диалога, извлекает каждый шаг пользователя и ассистента по порядку, вынимает Artifacts как блоки кода с правильным идентификатором языка и сохраняет цитаты как сноски.

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

  1. Откройте диалог Claude в Chrome (работает на claude.ai/chat/... и на ссылках на общие диалоги)
  2. Нажмите на иконку расширения Save в панели инструментов
  3. Файл .md скачивается мгновенно (или попадает в ваш Save Vault, если он подключён)

Что вы получаете:

  • Название диалога и дату как frontmatter
  • Каждый шаг пользователя и ассистента, по порядку, с метками роли (## You / ## Claude)
  • Claude Artifacts (код, документы, HTML, React-компоненты), извлечённые как блоки кода с правильным идентификатором языка
  • Блоки кода внутри ответов с сохранёнными хинтами языка
  • Цитаты из результатов веб-поиска Claude как Markdown-сноски
  • Шаги использования инструментов, захваченные, когда Claude вызывает инструмент (появляются и вызов, и результат)
  • Контекст Project сохраняется, когда диалог находится внутри Claude Project, а системный промпт или файлы знаний видны

Что удаляется:

  • Навигационный chrome, боковая панель, селектор модели Claude.ai
  • Пустые перегенерированные ветки, которые вы не выбрали
  • Встроенные UI-affordance (кнопки «Edit», «Copy», «Retry»)
  • Скелетоны загрузки и частичные стримы

Лучше всего для: исследователей, инженеров, пользователей ИИ, всех, кто ведёт длинные треды в Claude и хочет сохранить работу. Если вам нужна чистая транскрипция, чтобы вставить в другую модель, заархивировать в Obsidian или передать коллеге, это самый чистый путь.

Пример вывода

Сохранение короткого диалога Claude с Artifact даёт:

---
title: "Refactor my Express middleware into Hono"
url: https://claude.ai/chat/a1b2c3d4-...
model: Claude Opus 4.7
date: 2026-05-22
turns: 6
---

## You

Here's my Express middleware. Can you port it to Hono? I want to keep
the same auth behavior but drop the body-parser dependency.

```js
app.use((req, res, next) => {
  if (!req.headers.authorization) return res.sendStatus(401)
  // ...
})

Claude

Hono ships JSON parsing in core, so the body-parser dependency goes away on its own. The middleware shape is almost identical --- c.req instead of req, and you return instead of calling next().

Here’s the port 1:

import { Hono } from 'hono'

const app = new Hono()

app.use('*', async (c, next) => {
  const auth = c.req.header('Authorization')
  if (!auth) return c.text('Unauthorized', 401)
  await next()
})

Этот файл --- в одной вставке от того, чтобы стать пригодным контекстом для ChatGPT, в одном нажатии клавиши от постоянной заметки Obsidian, а Artifact внутри него --- в одной копии от того, чтобы быть закоммиченным в репозиторий.

## Способ 2: ручное копирование-вставка

Claude.ai позволяет выделять текст в панели диалога и копировать его как любую веб-страницу.

**Шаги:**

1. Прокрутите наверх диалога
2. Кликните и потяните, чтобы выделить каждый шаг
3. Скопируйте, вставьте в редактор Markdown
4. Вручную добавьте метки ролей, исправьте границы блоков кода, добавьте обратно содержимое Artifacts, которое не прошло, восстановите ссылки цитат

**Проблемы этого подхода:**

- Выделение полного диалога в длинном треде хрупко --- Claude виртуализирует DOM, поэтому прокрутка выбрасывает более ранние шаги из документа
- Artifacts не копируются как текст; вы получаете placeholder или ничего
- Блоки кода теряют свои хинты языка
- Цитаты веб-поиска приходят как `[1]` `[2]` без URL назначения
- Границы ролей схлопываются --- шаги пользователя и Claude сливаются в одну стену текста
- Диалоги с ветками (где вы перегенерировали ответ) приводят все ветки сразу

Работоспособно для обмена из 2 шагов. Разваливается на чём-либо длиннее одного экрана.

## Способ 3: консоль браузера + скрипт

Для разработчиков данные диалога живут в DOM. Можно написать небольшой скрипт в консоли Chrome DevTools, чтобы пройти по нему.

```js
const turns = document.querySelectorAll('[data-testid="conversation-turn"]')
const md = Array.from(turns).map(t => {
  const role = t.querySelector('[data-role]')?.dataset.role
  const body = t.querySelector('.prose')?.innerText
  return `## ${role === 'user' ? 'You' : 'Claude'}\n\n${body}`
}).join('\n\n---\n\n')
console.log(md)

Лучше всего для: инженеров, которые хотят разовый контроль над выводом, или которым нужно скриптовать массовое извлечение по многим тредам.

Проблемы этого подхода:

  • Селекторы не являются частью какого-либо публичного API; Anthropic регулярно выкатывает изменения UI, и скрипт ломается без предупреждения
  • Artifacts рендерятся внутри iframes или React-порталов вне дерева; innerText их не видит
  • Цитаты живут в tooltips, которых нет в начальном DOM
  • Шаги использования инструментов вложены иначе, чем текстовые шаги
  • Нужно быть залогиненным и на вкладке диалога; не работает как пакетная задача

Разумный запасной вариант, когда вы контролируете окружение. Не метод, на который стоит полагаться.

Способ 4: Workbench API от Anthropic (реконструкция диалогов)

Anthropic API предоставляет примитивы диалога через endpoint Messages, но нет endpoint, который возвращает ваши прошлые диалоги claude.ai. API видит только диалоги, которые вы отправили через него. Чтобы программно реконструировать тред claude.ai, вам пришлось бы воспроизвести его самостоятельно.

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-4-5",
    "messages": [{ "role": "user", "content": "..." }]
  }'

Лучше всего для: команд, строящих собственные обёртки Claude, которые хранят диалоги в своей базе данных. Если вы контролируете вызовы, вы контролируете экспорт.

Проблемы для сценария существующих-диалогов:

  • Прошлые диалоги claude.ai недостижимы через API
  • Требует API-кредитов и собственного слоя хранения
  • Не помогает архивировать тред, который у вас уже был в веб-UI
  • Artifacts --- тоже фича API, но конвейер рендеринга --- веб-приложения, не API

Это правильный метод, если вы строите продукт. Это неправильный метод, если вы пытаетесь заархивировать вчерашний исследовательский тред.

Какой метод выбрать?

СценарийЛучший метод
Архивировать исследовательский тред Claude, который у вас уже былSave --- один клик, структурированный вывод
Вставить старый диалог Claude в ChatGPT или GeminiSave --- каждый шаг, Artifacts целы
Сохранить Artifact (код, документ, React), который Claude построил для васSave --- извлечён как блок кода
Положить тред в Obsidian рядом с проектными заметкамиSave --- чистый frontmatter и заголовки
Построить собственный логгер диалогов с нуляAnthropic API --- если вы контролируете вызовы
Быстрая черновая копия обмена из 2 шаговРучное копирование-вставка --- бесплатно, быстро, грязно
Разовое извлечение с пользовательскими преобразованиямиСкрипт в консоли --- если вы уверенно владеете селекторами

Для большинства людей --- особенно для всех, кто использует Claude для исследований, инжиниринга или письма --- ответ Save. Он производит самый чистый Markdown без какой-либо настройки и обрабатывает треды на 200K токенов с той же скоростью, что и однотурный чат.

Граничные случаи, которые Save обрабатывает

  • Claude Projects. Каждый диалог внутри Project извлекается как самостоятельный файл. Когда системный промпт или файлы знаний Project видны в заголовке диалога, Save захватывает их во frontmatter, чтобы контекст не терялся.
  • Диалоги с несколькими Artifact. Треды, где Claude построил три Artifacts (например, HTML-страницу, React-компонент и SQL-схему), выходят с каждым Artifact как собственным блоком кода, в порядке появления, с правильным идентификатором языка.
  • Очень длинные диалоги. Контекстное окно Claude в 200K может производить треды с сотнями шагов и десятками тысяч слов. Save стримит DOM по мере прокрутки, поэтому полный тред проходит без потери более ранних шагов.
  • Ветвящиеся и перегенерированные ответы. Когда вы перегенерировали ответ Claude, экспортируется только ветка, которую вы оставили (та, что отображается сейчас). Отброшенные ветки пропускаются.
  • Шаги использования инструментов. Когда Claude вызывает инструмент --- веб-поиск, выполнение кода, computer use --- и вызов, и результат захватываются как блоки кода с маркерами tool_use и tool_result, чтобы цепочка рассуждений оставалась нетронутой.
  • Ссылки на общие диалоги. URL claude.ai/share/... работают так же, как ваши собственные диалоги. Полезно для архивации треда, которым кто-то с вами поделился.
  • Сессии Computer Use. Ограничены тем, что видно в DOM --- скриншоты и рассуждения модели проходят, базовое состояние VM --- нет.
  • Диалоги Claude Code. Claude Code запускается в вашем терминале, а не в claude.ai. Для терминальных сессий см. руководство по рабочему процессу Claude Code + Obsidian для их отдельного захвата.

Сочетайте с вашим рабочим процессом

Markdown-вывод работает везде, где он вам нужен:

  • ChatGPT / Gemini / локальные модели --- вставьте файл, задайте уточняющие вопросы другой модели
  • Obsidian --- положите в свой vault, ссылайтесь из проектных заметок, ищите по каждому когда-либо сохранённому треду Claude
  • Notion --- вставьте напрямую, заголовки и блоки кода Artifact рендерятся правильно
  • Apple Notes --- чистый импорт через расширение Markdown share
  • git-репозиторий --- коммитьте Artifacts прямо из блоков кода в нужный файл
  • Save Vault --- если вы подключили его, каждое сохранение из Claude автоматически попадает туда с backlinks и тегами

FAQ

Работает ли Save на ссылках общих диалогов? Да. Всё на claude.ai/share/... экспортируется так же, как ваши собственные диалоги. Полезно для архивации тредов, которые отправляют вам коллеги.

А что насчёт Claude Projects? Каждый диалог внутри Project сохраняется индивидуально. Когда системный промпт или файлы знаний Project видны на странице (заголовок или боковая панель), Save захватывает их во frontmatter, чтобы вы не потеряли контекст, от которого зависел диалог.

Захватывает ли он Artifacts? Да --- это ключевой дифференциатор. Artifacts (код, документы, HTML, React-компоненты, диаграммы Mermaid) проходят как блоки кода с правильным идентификатором языка, в том порядке, в котором их построил Claude. Их можно скопировать прямо в репозиторий или документ.

А что насчёт цитат из веб-поиска Claude? Цитаты сохраняются как Markdown-сноски. Текст сноски --- это URL источника, так что вы можете проверить опору Claude позже, не возвращаясь к оригинальному треду.

Будет ли это работать в Claude Code (CLI)? Claude Code запускается в вашем терминале, а не в браузере. Расширение нацелено на claude.ai. Для CLI-сессий транскрипция диалога живёт на диске в ~/.claude/ и может быть захвачена отдельно --- руководство по рабочему процессу Claude Code + Obsidian это покрывает.

Справляется ли он с очень длинными тредами? Да. Контекст Claude в 200K может производить диалоги с сотнями шагов. Save прокручивает панель диалога и читает каждый шаг по мере того, как он виртуализируется обратно в DOM, поэтому даже самые длинные треды проходят полностью.

Включаются ли ветвящиеся ответы? Только ветка, которая сейчас отображается в UI (та, что вы оставили). Перегенерированные ветки, которые вы не выбрали, пропускаются, чтобы файл соответствовал диалогу так, как его показывает вам Claude.

Сколько это стоит? У Save есть бесплатный тариф, чтобы вы могли попробовать его на нескольких диалогах. Дальше небольшая подписка покрывает постоянное использование.

Другие руководства Save

Footnotes

  1. https://hono.dev/docs/guides/middleware

## Continue reading

Jean-Sébastien Wallez

Written by

Jean-Sébastien Wallez

I've been making internet products for 10+ years. Built Save on weekends because I wanted my own reading library in clean markdown for Claude and Obsidian. Write here about web clipping, AI workflows, and the small things that make a personal knowledge base actually useful.

## try save

Готовы сохранять умнее?

Конвертируйте любую веб-страницу в Markdown одним кликом.

Добавить в Chrome 🐿️