Visualiseur de Fil de Chat
Collez un tableau de messages OpenAI ou Anthropic (JSON) et voyez-le rendu en fil de chat lisible. Code couleur par rôle. Paramètres de tool-calls dépliables. Pur navigateur, sans upload.
À quoi ça sert ?
Les applis LLM journalisent leurs conversations en tableaux JSON de messages — c'est ce qui est envoyé à l'API et ce que vous verrez dans les audit logs, traces d'évaluation, datasets de fine-tuning et debug SDK. Lire ces tableaux à l'œil nu est pénible : murs de chaînes échappées, arguments de tool-calls enveloppés dans du JSON-dans-JSON échappé, system prompts mélangés au reste. Cet outil vous donne un rendu rapide en bulles pour scanner la vraie conversation, voir quels messages contenaient des tool-calls, et repérer le prompt qui a déraillé.
Quels formats il comprend
- OpenAI Chat Completions.
[{role, content}, ...]avectool_callsoptionnels sur les messages assistant etrole: "tool"pour les résultats de tool. La forme la plus courante. - Anthropic Messages API.
[{role, content: [...]}]oùcontentest un tableau de blocs (text,tool_use,tool_result,image). Le system prompt est généralement au niveau racine — collez-le comme message system si vous voulez le voir. - Dumps de messages LangChain.
[{type: "human" | "ai" | "system", content: ...}]— ancienne forme LangChain, encore courante dans les traces sauvegardées. - Objets wrapper. Si vous collez
{"messages": [...]}ou{"input": [...]}, le wrapper est déballé automatiquement.
Ce qui est rendu
- Bulles colorées par rôle. System = gris centré, user = indigo à droite, assistant = neutre à gauche, résultat de tool = vert.
- Tool-calls. Dépliés par défaut avec arguments mis en forme. Les
tool_callsd'OpenAI et les blocstool_used'Anthropic sont tous deux gérés. Les messages de résultat apparaissent dans leur propre bulle. - Code fences et inline code. Blocs triples backticks rendus en
<pre>monospace, backticks simples en code inline. Pas de coloration syntaxique (on n'embarque pas de tokenizer pour ça), l'indentation est préservée. - Références d'image. Les blocs image d'Anthropic affichent une petite pastille avec l'URL ou le media-type — on ne charge pas l'image (l'outil reste offline).
- Ligne de stats. Format détecté, nombre de messages, nombre de tool-calls, et estimation grossière de tokens avec la même heuristique que notre Token Counter.
Pièges courants
- Virgules en fin. Le JSON standard ne les autorise pas. Si vous avez copié depuis un debugger ou REPL, vous devrez peut-être nettoyer
{...},]→{...}]avant de coller. - Quotes simples. Le
reprPython utilise les simples. Passez-le parjson.dumps, ou utilisez un convertisseur Python-literal vers JSON. - System prompt Anthropic. L'instruction system dans l'API Anthropic est un champ top-level, pas un message. Si votre dump ne contient que le tableau messages, le system prompt n'y sera pas — collez-le comme
{"role": "system", "content": "..."}en tête. - Arguments de tool-call en JSON échappé. OpenAI renvoie
argumentscomme string JSON. On le désescappe et le formate. Si le JSON-dans-string est cassé, la string brute est affichée. - Privacy. Rien ne quitte la page. Tout le rendu tourne en JS sur le JSON collé. Ne collez rien que vous ne colleriez pas dans une appli de notes.