# Body Diff JSON (Інкрементальне порівняння тіла запиту)

## Передумови

MainAgent Claude Code використовує механізм повного надсилання контексту — кожен запит містить повну історію розмови, system prompt, визначення інструментів тощо. Це означає, що в міру просування розмови тіло запиту стає дедалі більшим, і безпосередній перегляд необробленого Body ускладнює швидке визначення того, "що саме було додано в цьому раунді".

Body Diff JSON створений саме для вирішення цієї проблеми: він автоматично порівнює тіла двох послідовних запитів MainAgent, витягує інкрементальну частину і дозволяє одразу побачити, що саме було додано в цьому запиті.

## Принцип роботи

1. **Ідентифікація послідовних запитів MainAgent**: Поточний запит повинен бути типу MainAgent, і повинен існувати попередній запит MainAgent
2. **Порівняння по полях**: Переглядаються всі поля верхнього рівня тіла запиту, внутрішні властивості з префіксом `_` пропускаються
3. **Інтелектуальне витягування різниць**:
   - Додані поля: Відображаються безпосередньо
   - Видалені поля: Не відображаються (зазвичай не впливають на розуміння)
   - Змінені поля: Відображається поточне значення
   - Масив `messages` обробляється спеціально: Показуються лише додані повідомлення (оскільки в нормальній розмові використовується режим додавання, префіксні повідомлення не змінюються)
4. **Виявлення зменшення тіла запиту**: Якщо поточне тіло запиту менше за попереднє, це означає, що відбулося обрізання контексту або скидання сесії; в цьому випадку замість diff відображається інформаційне повідомлення

## Типові сценарії

У звичайному раунді розмови Body Diff JSON зазвичай містить лише:
- `messages`: 1~2 додані повідомлення (введення користувача + відповідь асистента з попереднього раунду)

Якщо ви бачите в diff зміни полів `system`, `tools`, `model`, це означає, що в цьому раунді відбулася зміна конфігурації, що зазвичай є причиною перебудови кешу.

## Спосіб використання

- Body Diff JSON відображається на панелі деталей запиту MainAgent
- Натисніть на заголовок, щоб розгорнути/згорнути
- Підтримуються два режими перегляду — JSON і Text, а також копіювання одним кліком
- У лівому верхньому куті в **CC-Viewer → Глобальні налаштування** можна встановити "Розгортати Body Diff JSON за замовчуванням"
