Jak zapisać rozmowę z Claude jako Markdown (Artifacts, cytaty, Projects)

·

Rozmowy z Claude coraz częściej są miejscem, gdzie odbywają się poważne badania i praca z kodem. Długie wątki z Artifacts, cytatami i wielogodzinną wymianą zdań często zawierają więcej rozumowania niż jakikolwiek dokument w twoich notatkach. A jednak Anthropic nie udostępnia eksportu. Nie ma przycisku „pobierz jako Markdown”, żadnego zrzutu JSON, żadnego endpointu archiwum. Gdy wątek przewinie się poza twój pasek boczny, jedynym sposobem powrotu jest wyszukiwanie po claude.ai, które nie zawsze ujawnia to, co pamiętasz.

Zapisywanie rozmów z Claude jako Markdown rozwiązuje trzy rzeczy naraz: dostajesz trwałe lokalne archiwum, możesz odwołać się do wcześniejszego rozumowania wewnątrz Obsidian lub Notion, i możesz wprowadzić stary wątek Claude z powrotem do ChatGPT lub Gemini jako kontekst, gdy zmieniasz model.

Ten przewodnik obejmuje każdą metodę konwersji rozmowy Claude na czysty Markdown --- od szybkiego chatu po wątek badawczy o 200K tokenach z Artifacts.

Dlaczego warto zapisywać rozmowy z Claude jako Markdown?

Markdown to format, który działa wszędzie tam, gdzie rozmowa musi trafić:

  • Podaj go innemu LLM --- wklej stary wątek Claude do ChatGPT, Gemini lub modelu lokalnego, gdy chcesz drugiej opinii lub innego stylu rozumowania
  • Wrzuć go do Obsidian lub Notion --- jeden plik na rozmowę, w pełni przeszukiwalny, linkowalny z notatek projektowych
  • Zacytuj konkretną turę --- znalezienie „momentu, gdy Claude zaproponował refaktor” w wątku z 50 turami to jedno wyszukiwanie
  • Archiwizuj Artifacts jako prawdziwe pliki --- kod, dokument, komponent React, który Claude zbudował, staje się blokiem kodu, który możesz skopiować do repo
  • Zachowaj cytaty --- wyniki wyszukiwania web, na których Claude oparł swoją odpowiedź, stają się przypisami, które możesz później zweryfikować

Przypadek użycia napędzający większość ruchu Claude-do-Markdown w 2026 to ten pierwszy: ludzie używają Claude do głębokiej pracy, a potem chcą zachować wynik i rozumowanie, a nie tylko ostateczną odpowiedź.

Metoda 1: Save (najszybsza, jedno kliknięcie)

Save to rozszerzenie Chrome, które zamienia dowolną rozmowę z Claude w plik Markdown jednym kliknięciem. Przechodzi przez DOM rozmowy, wyciąga każdą turę użytkownika i asystenta po kolei, wyciąga Artifacts jako bloki kodu z właściwym identyfikatorem języka i zachowuje cytaty jako przypisy.

Jak to działa:

  1. Otwórz rozmowę Claude w Chrome (działa na claude.ai/chat/... i linkach do udostępnionych rozmów)
  2. Kliknij ikonę rozszerzenia Save w pasku narzędzi
  3. Plik .md pobiera się natychmiast (lub trafia do twojego Save Vault, jeśli jest podłączony)

Co dostajesz:

  • Tytuł rozmowy i datę jako frontmatter
  • Każdą turę użytkownika i asystenta, w kolejności, z etykietami ról (## You / ## Claude)
  • Claude Artifacts (kod, dokumenty, HTML, komponenty React) wyodrębnione jako bloki kodu z właściwym identyfikatorem języka
  • Bloki kodu wewnątrz odpowiedzi z zachowanymi wskazówkami języka
  • Cytaty z wyników wyszukiwania web Claude jako przypisy Markdown
  • Tury użycia narzędzi przechwycone, gdy Claude wywołuje narzędzie (zarówno wywołanie, jak i wynik się pojawiają)
  • Kontekst Projectu zachowany, gdy rozmowa jest wewnątrz Claude Project, a system prompt lub pliki wiedzy są widoczne

Co jest usuwane:

  • Nawigacja Claude.ai, pasek boczny, wybór modelu
  • Puste regenerowane gałęzie, których nie wybrałeś
  • Inline UI affordances (przyciski „Edit”, „Copy”, „Retry”)
  • Szkielety ładowania i częściowe strumienie

Najlepsze dla: Badaczy, inżynierów, użytkowników AI, każdego, kto prowadzi długie wątki w Claude i chce zachować pracę. Jeśli potrzebujesz czystej transkrypcji do wklejenia w innym modelu, archiwizacji w Obsidian lub przekazania koledze, to najczystsza droga.

Przykładowy wynik

Zapisanie krótkiej rozmowy Claude z Artifactem daje:

---
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()
})

Ten plik jest o jedno wklejenie od bycia użytecznym kontekstem ChatGPT, o jedno naciśnięcie klawisza od bycia trwałą notatką Obsidian, a Artifact w nim jest o jedną kopię od bycia commitnięty do repo.

## Metoda 2: Ręczne kopiuj-wklej

Claude.ai pozwala zaznaczać tekst w panelu rozmowy i kopiować go jak każdą stronę web.

**Kroki:**

1. Przewiń na górę rozmowy
2. Kliknij i przeciągnij, aby zaznaczyć każdą turę
3. Skopiuj, wklej do edytora Markdown
4. Ręcznie dodaj etykiety ról, popraw obramowania bloków kodu, dodaj z powrotem zawartość Artifactów, która nie przeszła, zrekonstruuj linki cytatów

**Problemy z tym podejściem:**

- Zaznaczenie pełnej rozmowy w długim wątku jest kruche --- Claude wirtualizuje DOM, więc przewijanie usuwa wcześniejsze tury z dokumentu
- Artifacts nie kopiują się jako tekst; dostajesz placeholder lub nic
- Bloki kodu tracą swoje wskazówki języka
- Cytaty z wyszukiwania web przychodzą jako `[1]` `[2]` bez docelowego URL
- Granice ról zlewają się --- tury użytkownika i Claude łączą się w jedną ścianę tekstu
- Rozgałęzione rozmowy (gdzie regenerowałeś odpowiedź) przynoszą wszystkie gałęzie naraz

Wykonalne dla wymiany 2-turowej. Rozpada się przy czymkolwiek dłuższym niż ekran.

## Metoda 3: Browser Console + skrypt

Dla deweloperów dane rozmowy żyją w DOM. Możesz napisać mały skrypt w konsoli Chrome DevTools, aby przejść przez nie.

```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)

Najlepsze dla: Inżynierów, którzy chcą jednorazowej kontroli nad wynikiem lub którzy muszą skryptować masową ekstrakcję w wielu wątkach.

Problemy z tym podejściem:

  • Selektory nie są częścią żadnego publicznego API; Anthropic regularnie wprowadza zmiany w UI, a skrypt się psuje bez ostrzeżenia
  • Artifacts są renderowane wewnątrz iframe lub portali React poza drzewem; innerText je pomija
  • Cytaty żyją w tooltipach, których nie ma w początkowym DOM
  • Tury użycia narzędzi są zagnieżdżone inaczej niż tury tekstowe
  • Musisz być zalogowany i na karcie rozmowy; nie działa jako zadanie wsadowe

Rozsądne wyjście awaryjne, gdy kontrolujesz środowisko. Nie metoda, na której można polegać.

Metoda 4: Anthropic Workbench API (rekonstruowanie rozmów)

API Anthropic udostępnia prymitywy rozmów przez endpoint Messages, ale nie ma endpointu, który zwraca twoje przeszłe rozmowy claude.ai. API widzi tylko rozmowy, które przez nie wysłałeś. Aby zrekonstruować wątek claude.ai programatycznie, musiałbyś go sam odtworzyć.

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": "..." }]
  }'

Najlepsze dla: Zespołów budujących własne wrappery Claude, które przechowują rozmowy we własnej bazie danych. Jeśli kontrolujesz wywołania, kontrolujesz eksport.

Problemy dla przypadku użycia istniejących rozmów:

  • Przeszłe rozmowy claude.ai nie są osiągalne przez API
  • Wymaga kredytów API i własnej warstwy przechowywania
  • Nie pomaga archiwizować wątku, który już miałeś w interfejsie web
  • Artifacts są również funkcją API, ale potok renderowania należy do aplikacji web, a nie API

To właściwa metoda, jeśli budujesz produkt. To zła metoda, jeśli próbujesz zarchiwizować wczorajszy wątek badawczy.

Której metody powinieneś użyć?

ScenariuszNajlepsza metoda
Zarchiwizować wątek badawczy Claude, który już miałeśSave --- jedno kliknięcie, ustrukturyzowany wynik
Wkleić starą rozmowę Claude do ChatGPT lub GeminiSave --- każda tura, Artifacts nienaruszone
Zachować Artifact (kod, doc, React), który Claude zbudował dla ciebieSave --- wyodrębniony jako blok kodu
Wrzucić wątek do Obsidian obok notatek projektowychSave --- czysty frontmatter i nagłówki
Zbudować własny logger rozmów od zeraAnthropic API --- jeśli kontrolujesz wywołania
Szybka surowa kopia wymiany 2-turowejRęczne kopiuj-wklej --- darmowe, szybkie, niechlujne
Jednorazowa ekstrakcja z niestandardowymi transformacjamiSkrypt konsoli --- jeśli czujesz się komfortowo z selektorami

Dla większości ludzi --- zwłaszcza każdego używającego Claude do badań, inżynierii lub pisania --- Save jest odpowiedzią. Produkuje najczystszy Markdown bez konfiguracji i obsługuje wątki o 200K tokenach z tą samą prędkością co jednoturowy chat.

Przypadki brzegowe, które Save obsługuje

  • Claude Projects. Każda rozmowa wewnątrz Projectu jest wyodrębniana jako samodzielny plik. Gdy system prompt Projectu lub pliki wiedzy są widoczne w nagłówku rozmowy, Save przechwytuje je we frontmatter, aby kontekst nie został utracony.
  • Rozmowy z wieloma Artifactami. Wątki, w których Claude zbudował trzy Artifacts (np. stronę HTML, komponent React i schemat SQL), wychodzą z każdym Artifactem jako własnym blokiem kodu, w kolejności, w jakiej się pojawiły, z właściwym identyfikatorem języka.
  • Bardzo długie rozmowy. Okno kontekstu Claude o 200K może wyprodukować wątki z setkami tur i dziesiątkami tysięcy słów. Save strumieniuje DOM podczas przewijania, więc pełny wątek przychodzi bez utraty wcześniejszych tur.
  • Rozgałęzione i regenerowane odpowiedzi. Gdy regenerowałeś odpowiedź Claude, eksportowana jest tylko gałąź, którą zachowałeś (ta, która jest aktualnie pokazana). Odrzucone gałęzie są pomijane.
  • Tury użycia narzędzi. Gdy Claude wywołuje narzędzie --- wyszukiwanie web, wykonywanie kodu, computer use --- zarówno wywołanie, jak i wynik są przechwytywane jako bloki kodu ze znacznikami tool_use i tool_result, aby łańcuch rozumowania pozostał nienaruszony.
  • Linki do udostępnionych rozmów. URL-e claude.ai/share/... działają tak samo jak twoje własne rozmowy. Przydatne do archiwizacji wątku, który ktoś udostępnił.
  • Sesje Claude Computer Use. Ograniczone do tego, co jest widoczne w DOM --- zrzuty ekranu i rozumowanie modelu przechodzą, podstawowy stan VM nie.
  • Rozmowy Claude Code. Claude Code działa w twoim terminalu, a nie w claude.ai. Dla sesji terminala zobacz przewodnik workflow Claude Code + Obsidian do osobnego ich przechwytywania.

Połącz to ze swoim workflow

Wynik Markdown działa wszędzie tam, gdzie go potrzebujesz:

  • ChatGPT / Gemini / modele lokalne --- wklej plik, zadawaj pytania uzupełniające w innym modelu
  • Obsidian --- wrzuć do swojego vault, połącz z notatkami projektowymi, przeszukuj każdy wątek Claude, jaki kiedykolwiek zapisałeś
  • Notion --- wklej bezpośrednio, nagłówki i bloki kodu Artifactów renderują się poprawnie
  • Apple Notes --- czysty import przez rozszerzenie udostępniania Markdown
  • Repo git --- commituj Artifacts prosto z bloków kodu do właściwego pliku
  • Save Vault --- jeśli podłączyłeś, każde zapisanie Claude trafia tam automatycznie z backlinkami i tagami

FAQ

Czy Save działa na linkach do udostępnionych rozmów? Tak. Wszystko pod claude.ai/share/... eksportuje się w ten sam sposób co twoje własne rozmowy. Przydatne do archiwizacji wątków przesyłanych przez kolegów.

A co z Claude Projects? Każda rozmowa wewnątrz Projectu jest zapisywana indywidualnie. Gdy system prompt Projectu lub pliki wiedzy są widoczne na stronie (nagłówek lub pasek boczny), Save przechwytuje je we frontmatter, abyś nie stracił kontekstu, od którego zależała rozmowa.

Czy przechwytuje Artifacts? Tak --- to kluczowy wyróżnik. Artifacts (kod, dokumenty, HTML, komponenty React, diagramy Mermaid) przychodzą jako bloki kodu z właściwym identyfikatorem języka, w kolejności, w jakiej Claude je zbudował. Możesz skopiować je bezpośrednio do repo lub dokumentu.

A co z cytatami z wyszukiwania web Claude? Cytaty są zachowane jako przypisy Markdown. Tekstem przypisu jest URL źródłowy, więc możesz później zweryfikować podstawę Claude bez wracania do oryginalnego wątku.

Czy będzie działać w Claude Code (CLI)? Claude Code działa w twoim terminalu, a nie w przeglądarce. Rozszerzenie celuje w claude.ai. Dla sesji CLI transkrypcja rozmowy żyje na dysku w ~/.claude/ i może być przechwycona osobno --- przewodnik workflow Claude Code + Obsidian to omawia.

Czy obsługuje bardzo długie wątki? Tak. Kontekst 200K Claude może wyprodukować rozmowy z setkami tur. Save przewija panel rozmowy i czyta każdą turę, gdy wirtualizuje się z powrotem do DOM, więc nawet najdłuższe wątki przychodzą kompletne.

Czy uwzględniane są rozgałęzione odpowiedzi? Tylko gałąź aktualnie pokazana w UI (ta, którą zachowałeś). Regenerowane gałęzie, których nie wybrałeś, są pomijane, aby plik pasował do rozmowy tak, jak Claude pokazuje ją tobie.

Ile to kosztuje? Save ma darmowy poziom, więc możesz wypróbować go na kilku rozmowach. Potem mała subskrypcja pokrywa bieżące użycie.

Powiązane przewodniki 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

Gotowy, aby zapisywać mądrzej?

Konwertuj dowolną stronę internetową na Markdown jednym kliknięciem.

Dodaj do Chrome 🐿️