Przeglądarka Wątków Chatu
Wklej tablicę messages OpenAI lub Anthropic (JSON) i zobacz ją jako czytelny wątek czatu. Kolory wg roli. Parametry tool-calli rozwijane. Tylko przeglądarka, bez uploadu.
Do czego to służy?
Aplikacje LLM logują rozmowy jako tablice JSON wiadomości — to jest to, co leci do API i co zobaczysz w audit logach, trace'ach ewaluacji, datasetach fine-tuningu i debugu SDK. Czytanie tych tablic gołym okiem to koszmar: ściany ucharowanych stringów, argumenty tool-calli zawinięte w escapowany JSON-w-JSON, system prompty pomieszane z resztą. To narzędzie daje ci szybki render w dymkach, żebyś przeszedł właściwą rozmowę, zobaczył które wiadomości zawierały tool-calle i znalazł ten jeden prompt, który wyleciał z torów.
Jakie formaty rozumie
- OpenAI Chat Completions.
[{role, content}, ...]z opcjonalnymitool_callsna wiadomościach assistanta irole: "tool"dla wyników tool. Najczęstsza forma. - Anthropic Messages API.
[{role, content: [...]}]gdziecontentto tablica bloków (text,tool_use,tool_result,image). System prompt jest zwykle top-level — wklej go jako wiadomość system, jeśli chcesz go zobaczyć. - Dumpy wiadomości LangChain.
[{type: "human" | "ai" | "system", content: ...}]— starsza forma LangChain, wciąż częsta w zapisanych trace'ach. - Obiekty wrappery. Jak wkleisz
{"messages": [...]}albo{"input": [...]}, wrapper jest automatycznie rozpakowany.
Co jest renderowane
- Dymki kolorowane wg roli. System = szary wyśrodkowany, user = indygo po prawej, assistant = neutralny po lewej, tool result = zielony.
- Tool-calle. Domyślnie rozwinięte z ładnie sformatowanymi argumentami. Obsługiwane są zarówno
tool_callsz OpenAI jak i blokitool_usez Anthropica. Wiadomości wyników pojawiają się w osobnym dymku. - Code fence'y i inline code. Bloki potrójnych backticków renderowane jako
<pre>monospace, pojedyncze backticki jako inline code. Bez syntax highlightingu (nie wozimy tokenizera dla tego), wcięcia zachowane. - Odwołania do obrazków. Bloki image Anthropica pokazują małą pigułkę z URL-em albo media-type — obrazka nie ładujemy (narzędzie zostaje offline).
- Linia statystyk. Wykryty format, liczba wiadomości, liczba tool-calli i przybliżona estymacja tokenów z tą samą heurystyką co Token Counter.
Częste pułapki
- Trailing comma. Standardowe JSON ich nie pozwala. Jeśli skopiowałeś z debuggera albo REPLa, możesz musieć posprzątać
{...},]→{...}]przed wklejeniem. - Pojedyncze cudzysłowy.
reprPythona używa pojedynczych. Przepuść przezjson.dumps, albo użyj konwertera Python-literal do JSON. - System prompt Anthropica. Instrukcja system w API Anthropica to pole top-level, nie wiadomość. Jeśli twój dump ma tylko tablicę messages, system prompta tam nie ma — wklej jako
{"role": "system", "content": "..."}na początku. - Argumenty tool-calli jako escapowany JSON. OpenAI zwraca
argumentsjako string JSON. Odescape'ujemy i ładnie drukujemy. Jeśli JSON w stringu jest zepsuty, pokazywany jest surowy string. - Prywatność. Nic nie opuszcza strony. Cały render leci w JS na wklejonym JSONie. Nie wklejaj nic, czego nie wkleiłbyś do appki notatek.