# Изменения и откат

> Что агент изменил за ход и как это вернуть: сводка под ответом, дифф, безопасный откат с проверкой чужих правок, дерево и просмотр файлов.

Каждый ход, который менял файлы, оставляет под ответом **сводку**: сколько файлов и строк
изменено. Из неё открывается дифф и откатывается ход целиком — с проверкой, что откат не затрёт
ваши собственные правки.

## Сводка хода

«**Изменено 2 файла +23 −1**» под ответом раскрывается в список файлов: у каждого — сколько
строк добавлено и удалено, у новых и удалённых — пометка. Щелчок по файлу открывает панель
изменений на нём.

_Иллюстрация: Сводка хода раскрыта: два файла и строки по каждому._

## Панель изменений

Справа открывается вкладка **«Изменено файлов: N»** — все незакоммиченные изменения проекта,
не только этого хода.

_Иллюстрация: Панель изменений: слева файлы, справа дифф. Неизменённые строки свёрнуты._

| Кнопка | Что делает |
| --- | --- |
| ← → | предыдущий и следующий файл |
| «Показать все строки» / «Скрыть строки без изменений» | развернуть или свернуть неизменённые участки |
| «Объединённое представление» / «Раздельное представление» | дифф одной колонкой или «было | стало» рядом. По умолчанию — одной колонкой: она читается и в узкой панели |
| дерево файлов (слева вверху) | показать или скрыть список файлов |
| «Открыть: …» (справа вверху) | открыть папку проекта в файловом менеджере или редакторе |

Панель открывается и закрывается кнопкой «Показать или скрыть изменения» в шапке сессии.
Панель следит за диском: файл, изменённый агентом, командой или вами в редакторе, появляется в
ней без перезагрузки.

## Откат хода

«**Откатить ход**» показывает, что вернётся, и предупреждает об опасности:

_Иллюстрация: Откат с проверкой: «Откат безопасен» — после хода эти файлы никто не трогал._

- **«Откат безопасен»** — файлы после хода никто не менял, они вернутся к состоянию до хода.
- **«Есть правки, сделанные после хода»** — файл после хода менял не агент: вы в редакторе или
  команда. Такой файл помечен — откат затрёт эти правки.
- **«Только переписку»** — откатить разговор, а файлы оставить как есть.
- **«Откатить»** — разговор и файлы.

После отката над полем ввода — строка «Ход откачен: 2 файла возвращены к прежнему состоянию» и
кнопка **«Вернуть как было»**. Текст вашего сообщения возвращается в поле ввода — его можно
поправить и отправить заново. Новое сообщение делает откат окончательным.

_Иллюстрация: Ход откачен: файлы вернулись, сообщение — в поле ввода. «Вернуть как было» отменяет откат._

«Вернуть как было» восстанавливает и файлы агента, и правки человека, затёртые откатом.

## Дерево файлов и просмотр

Файлы проекта открываются в правой панели: **«+»** рядом со вкладками — вкладка «Открыть файл» с
деревом проекта и фильтром. Дерево обновляется само, когда агент создаёт или удаляет файлы;
новые и изменённые файлы помечены.

_Иллюстрация: README.md во вкладке просмотра: «Просмотр» показывает Markdown как страницу, «Исходник» — текст._

Файл открывается во вкладке просмотра:

| Файл | Как показан |
| --- | --- |
| код и текст | с подсветкой и номерами строк |
| Markdown, Mermaid | переключатель «Просмотр / Исходник»; диаграммы рисуются |
| картинки, SVG, звук, видео | сами по себе |
| PDF | встроенным просмотрщиком: страницы, масштаб, поиск |
| двоичный файл | сообщением, что показать его нельзя |

**Добавить в чат.** Пункт «Добавить в чат» в меню файла (правая кнопка мыши в дереве) или кнопка
над файлом, когда в нём выделены строки, кладут в поле ввода упоминание: `@README.md`,
`@src/cart.js:12`. Агент получит файл или эти строки вместе с сообщением. В том же меню — «Открыть
в» (файловый менеджер, VS Code, Cursor, Zed, Sublime Text) и «Копировать путь».

## В консоли

- Под ответом — «Изменён 1 файл +1 −0 · /undo — откатить».
- `/undo` показывает тот же предпросмотр и спрашивает; при правках после хода — выбор «только
  переписку» или «переписку и файлы». `/redo` возвращает откаченное.
