Penampil Thread Chat
Tempel array messages OpenAI atau Anthropic (JSON) dan lihat sebagai thread chat yang mudah dibaca. Diwarnai per role. Parameter tool-call bisa diexpand. Murni browser, tanpa upload.
Buat apa ini?
App LLM mencatat percakapan mereka sebagai array JSON pesan — itu yang dikirim ke API dan yang kamu lihat di audit log, trace evaluasi, dataset fine-tuning, dan debug output SDK. Membaca array itu sebagai manusia menyiksa: dinding string yang di-escape, argumen tool-call dibungkus JSON-dalam-JSON yang di-escape, system prompt tercampur dengan sisanya. Tool ini memberimu render bubble cepat supaya kamu bisa scan percakapan sebenarnya, lihat pesan mana yang punya tool-call, dan temukan prompt yang melenceng.
Format apa yang dipahami
- OpenAI Chat Completions.
[{role, content}, ...]dengantool_callsopsional di pesan assistant danrole: "tool"untuk hasil tool. Bentuk paling umum. - Anthropic Messages API.
[{role, content: [...]}]di manacontentadalah array blok (text,tool_use,tool_result,image). System prompt biasanya top-level — tempel sebagai pesan system kalau mau lihat. - Dump pesan LangChain.
[{type: "human" | "ai" | "system", content: ...}]— bentuk LangChain lama, masih umum di trace yang disimpan. - Objek wrapper. Kalau kamu tempel
{"messages": [...]}atau{"input": [...]}, wrapper di-unwrap otomatis.
Apa yang dirender
- Bubble berwarna sesuai role. System = abu di tengah, user = indigo kanan, assistant = netral kiri, tool result = hijau.
- Tool-call. Diperluas default dengan argumen yang diformat rapi. Baik
tool_callsOpenAI maupun bloktool_useAnthropic ditangani. Pesan hasil tool muncul di bubble sendiri. - Code fence dan inline code. Blok triple backtick jadi
<pre>monospace, single backtick jadi inline. Tanpa syntax highlighting (kami nggak bawa tokenizer untuk itu), indentasi dipertahankan. - Referensi gambar. Blok image Anthropic menampilkan pill kecil dengan URL atau media-type — gambarnya tidak kami load (tool tetap offline).
- Baris stats. Format yang terdeteksi, jumlah pesan, jumlah tool-call, dan estimasi token kasar dengan heuristik yang sama seperti Token Counter kami.
Jebakan umum
- Koma akhir. JSON standar nggak mengizinkan. Kalau kamu copy dari debugger atau REPL, mungkin perlu bersihkan
{...},]→{...}]sebelum tempel. - Single quote.
reprPython pakai single quote. Lewatkan viajson.dumps, atau pakai converter Python-literal ke JSON. - System prompt Anthropic. Instruksi system di API Anthropic adalah field top-level, bukan pesan. Kalau dump-mu cuma punya array messages, system prompt-nya nggak ada — tempel sebagai
{"role": "system", "content": "..."}di awal. - Argumen tool-call sebagai JSON ter-escape. OpenAI mengembalikan
argumentssebagai string JSON. Kami unescape dan pretty-print. Kalau JSON dalam string-nya rusak, string mentah ditampilkan. - Privasi. Tidak ada yang keluar dari halaman. Seluruh render jalan di JS pada JSON yang kamu tempel. Jangan tempel apa pun yang tidak akan kamu tempel ke app catatan.