Xuất dưới dạng JSON có cấu trúc
Bên cạnh bảy định dạng tài liệu, lưới tệp — và menu Xuất tệp nội tuyến của mỗi tin nhắn — cung cấp tùy chọn xuất JSON. Không giống như các định dạng khác, JSON không phải là một tài liệu hoàn chỉnh để đọc: đó là cuộc trò chuyện dưới dạng dữ liệu có thể đọc được bằng máy, dành cho các nhà phát triển muốn đưa một cuộc trò chuyện vào một tập lệnh, cơ sở dữ liệu hoặc công cụ khác mà không cần tự mình cạo trang.
Tệp là một đối tượng JSON được định dạng đẹp duy nhất — một khối siêu dữ liệu về cuộc trò chuyện, theo sau là một danh sách phẳng các tin nhắn của nó.
- Siêu dữ liệu cuộc trò chuyện —
schema(một định danh có phiên bản, hiện tại làai-chat-extractor/conversation@2, để người tiêu dùng có thể nhận ra định dạng và phiên bản của nó),site,title,url,exported_at(một dấu thời gian ISO),content_format(luôn làmarkdown), vàmessage_count. messages— một mảng có thứ tự, mỗi mục một tin nhắn, mỗi mục mangindex,rolecủa nó (ai đã nói —userhoặcassistant), và hai dạng xem của văn bản:content, tin nhắn đầy đủ dưới dạng Markdown, vàcontents, cùng một tin nhắn đó được chia thành các phần có kiểu.
Hai dạng xem phục vụ hai loại người tiêu dùng. content là toàn bộ tin nhắn dưới dạng một chuỗi Markdown — mọi thứ mà một tập lệnh đơn giản cần. contents chia nó thành một danh sách có thứ tự các phân đoạn có kiểu, để một quy trình có thể chọn hoặc bỏ các phần theo loại mà không cần phân tích lại Markdown: text cho văn xuôi, thinking cho một khối lý luận của mô hình, code cho một khối mã được bao quanh (với một language tùy chọn), image cho một hình ảnh (với url và văn bản alt của nó — cho dù nó được viết dưới dạng Markdown hay dưới dạng thẻ HTML), và table cho một bảng Markdown, được chia thành headers và rows của nó để người tiêu dùng nhận được các cột thực sự thay vì một khối ký tự ống. AI Chat Clipper chỉ phát ra một loại phân đoạn mà nó có thể xác định một cách trung thực từ cuộc trò chuyện — nó sẽ không tạo ra cấu trúc không có ở đó. Ví dụ, các trích dẫn đến dưới dạng các liên kết nội tuyến thông thường mà không có khối riêng, vì vậy cố ý không có loại sources riêng biệt.
Một câu trả lời ngắn của trợ lý có chứa một khối mã sẽ xuất như thế này:
{
"schema": "ai-chat-extractor/conversation@2",
"site": "claude",
"title": "Reversing a string",
"url": "https://claude.ai/chat/…",
"exported_at": "2026-07-18T10:32:00.000Z",
"content_format": "markdown",
"message_count": 2,
"messages": [
{ "index": 0, "role": "user", "content": "How do I reverse a string in Python?",
"contents": [ { "type": "text", "text": "How do I reverse a string in Python?" } ] },
{ "index": 1, "role": "assistant", "content": "Use a slice:\n\n```python\ns[::-1]\n```",
"contents": [
{ "type": "text", "text": "Use a slice:" },
{ "type": "code", "language": "python", "text": "s[::-1]" }
] }
]
}