Trình Xem Thread Chat
Dán mảng messages của OpenAI hoặc Anthropic (JSON) và xem dưới dạng thread chat dễ đọc. Tô màu theo vai trò. Tham số tool-call có thể mở rộng. Hoàn toàn trên trình duyệt, không upload.
Cái này để làm gì?
Các app LLM ghi log hội thoại của chúng dưới dạng mảng JSON các message — đó là cái được gửi tới API và là cái bạn thấy trong audit log, evaluation trace, dataset fine-tuning và debug output của SDK. Đọc các mảng đó bằng mắt thường rất khổ: những bức tường string đã escape, tham số tool-call bọc trong JSON-trong-JSON đã escape, system prompt trộn lẫn với phần còn lại. Công cụ này cho bạn render bubble nhanh để bạn có thể quét cuộc hội thoại thực, xem message nào có tool-call, và tìm ra cái prompt đã chạy lệch.
Hiểu những định dạng nào
- OpenAI Chat Completions.
[{role, content}, ...]vớitool_callstùy chọn trên message assistant vàrole: "tool"cho kết quả tool. Dạng phổ biến nhất. - Anthropic Messages API.
[{role, content: [...]}]trong đócontentlà mảng các block (text,tool_use,tool_result,image). System prompt thường ở top-level — dán nó như message system nếu muốn thấy. - Dump message LangChain.
[{type: "human" | "ai" | "system", content: ...}]— dạng LangChain cũ, vẫn phổ biến trong các trace đã lưu. - Object wrapper. Nếu bạn dán
{"messages": [...]}hoặc{"input": [...]}, wrapper được unwrap tự động.
Cái gì được render
- Bubble màu theo vai trò. System = xám giữa, user = chàm phải, assistant = trung tính trái, tool result = xanh lá.
- Tool-call. Mở rộng mặc định với tham số được format đẹp. Cả
tool_callscủa OpenAI và blocktool_usecủa Anthropic đều được xử lý. Message kết quả tool xuất hiện trong bubble riêng. - Code fence và inline code. Block triple backtick render thành
<pre>monospace, single backtick thành inline code. Không syntax highlight (chúng tôi không mang tokenizer cho việc đó), indent được giữ. - Tham chiếu hình ảnh. Block image của Anthropic render thành pill nhỏ hiển thị URL hoặc media-type — chúng tôi không thực sự load image (giữ công cụ offline).
- Dòng stats. Định dạng phát hiện, số message, số tool-call, và ước tính token thô bằng cùng heuristic như Token Counter của chúng tôi.
Bẫy thường gặp
- Dấu phẩy cuối. JSON chuẩn không cho phép. Nếu bạn copy từ debugger hoặc REPL, có thể cần làm sạch
{...},]→{...}]trước khi dán. - Dấu nháy đơn.
reprcủa Python dùng nháy đơn. Cho quajson.dumps, hoặc dùng converter Python-literal sang JSON. - System prompt Anthropic. Lệnh system trong API Anthropic là field top-level, không phải message. Nếu dump của bạn chỉ có mảng messages, system prompt sẽ không có ở đó — dán nó như
{"role": "system", "content": "..."}ở đầu. - Tham số tool-call dưới dạng JSON đã escape. OpenAI trả về
argumentsdưới dạng string JSON. Chúng tôi unescape và format đẹp. Nếu JSON trong string bị hỏng, hiển thị string thô. - Quyền riêng tư. Không gì rời khỏi trang. Toàn bộ render chạy trong JS trên JSON bạn dán. Đừng dán bất cứ gì bạn không dán vào app ghi chú.