Просмотр изменений
Каждый раз, когда агент редактирует файл, изменения отражаются в панели изменений внутри чата. Вы можете просмотреть, принять или отклонить правки — для каждого файла по отдельности или все сразу.
Одобренные правки локальных файлов за пределами рабочей папки также доступны для проверки после Reload Window. Keep All сохраняет решение без повторной записи файлов. Undo All отменяет правки агента, сохраняя конфликтующие изменения пользователя. Пока общее действие выполняется, обе кнопки недоступны; при неудаче правка остаётся в списке для повторной попытки.
Панель изменений
Заголовок раздела «Панель изменений»Панель изменений появляется в чате, когда есть непринятые правки. Она показывает:
- Количество изменённых файлов
- Суммарное количество добавленных и удалённых строк
- Список файлов с индивидуальными счётчиками строк
Если агент редактирует один файл в нескольких сообщениях, эти счётчики показывают итоговую разницу между исходной и текущей версиями файла. После Reload Window они сохраняются такими же: промежуточные замены не суммируются как отдельные изменения.
Нажмите на заголовок панели, чтобы развернуть список файлов. Нажмите на конкретный файл, чтобы открыть его в редакторе — курсор автоматически переместится к первой изменённой строке.
Если одобренные правки завершаются в чатах, которые сейчас не показаны, Kodik всё равно открывает каждый изменённый файл в закреплённой фоновой вкладке. Выбранный чат и его состояние проверки файлов не меняются.
Просмотр diff
Заголовок раздела «Просмотр diff»Нажмите кнопку с иконкой FileDiff в заголовке панели, чтобы открыть все изменённые файлы в многофайловом просмотрщике diff. Это удобно для обзора всех правок перед принятием решения.
Встроенные фрагменты изменений в чате убирают отступ, общий для всех показанных строк. Глубоко вложенные правки легче просматривать, а содержимое файла и относительные отступы не меняются.
Одобрение связано с той версией файла, которая была показана в предпросмотре. Если файл или его открытая рабочая копия изменились до одобрения, Kodik не затрагивает новое содержимое и просит агента перечитать файл и подготовить новый предпросмотр. Одновременные правки одного файла применяются в порядке запросов, а правки разных файлов по-прежнему могут выполняться параллельно.
Если текстовый файл уже открыт и не содержит несохранённых изменений, Kodik применяет одобренную правку через рабочую копию редактора и сохраняет её как одно отменяемое изменение диапазона. Если в редакторе есть несохранённые изменения, Kodik отклоняет правку агента до одобрения; сохраните или отмените свои изменения и попросите агента повторить попытку. Несохранённый буфер и его версия на диске не перезаписываются.
Карточки редактирования и создания файлов, включая вставку, изменение и удаление ячеек ноутбука через edit_notebook, содержат до десяти изменённых строк прямо в сообщении чата. Размер предпросмотра ограничен 2 КиБ для слишком длинных строк. Имя файла и полные счётчики изменений остаются в заголовке: нажатие на имя открывает файл, а на остальную часть заголовка — разворачивает или сворачивает diff. Настройка раскрытия изменений файлов определяет начальное состояние. Открытие предпросмотра не запрашивает оставшийся результат.
Наведите указатель на diff, чтобы у нижнего края появилась стрелка вниз, и нажмите её для загрузки полного сохранённого diff одним запросом. Предпросмотр остаётся видимым во время загрузки и затем заменяется целиком, без добавления или объединения страниц. Кнопка также появляется при фокусе с клавиатуры и имеет подпись Показать ещё для программ чтения с экрана. Она расположена поверх diff и не добавляет отдельную нижнюю строку; при ошибке предпросмотр сохраняется и доступна кнопка Повторить. Diff читается из контрольной точки конкретного вызова инструмента, а не из накопленного diff панели изменений: последующие правки и принятие всех изменений не подменяют историю. После перезагрузки окна снова показывается небольшой предпросмотр; стрелка загружает полный diff повторно. Существующий защитный лимит 16 МиБ и ограничения длины отдельных строк могут сокращать необычно большие diff с явным уведомлением; полный файл доступен в редакторе.
Kodik вычисляет большие построчные diff в ограниченном пуле worker. Полная перезапись без общих строк использует точный линейный путь; остальные правки сохраняют точные диапазоны строк, не запуская сопоставление в общем renderer workbench. Если worker не запускается, Kodik переходит к точному вычислению diff в основном процессе, не оставляя правку и следующие инструменты в ожидании.
Большие правки остаются в панели изменений, но не открывают тяжёлый встроенный просмотр редактора автоматически. Нажмите на файл или Просмотреть изменения, когда захотите его проверить; действия принятия и отмены остаются доступны и при закрытом просмотре.
Для правок ноутбуков используется полнофайловый snapshot diff: элементы встроенной проверки не размещаются внутри отдельной ячейки. Кнопка Просмотреть ожидающие изменения остаётся внизу редактора ноутбука; нажмите её, чтобы открыть ноутбук в отдельной вкладке diff Ожидающие изменения. Действия принятия и отмены по-прежнему доступны в панели изменений файлов.
Для Jupyter Notebook Оставить все принимает сохранённые ячейки, а Отменить все восстанавливает прежние ячейки или удаляет только что созданный агентом ноутбук. Ожидающие проверки сохраняются после Перезагрузки окна, пока вы не примете решение; завершённые решения после перезагрузки не сбрасываются.
Результаты других инструментов
Заголовок раздела «Результаты других инструментов»Команды shell и чтение терминала включают небольшой предпросмотр вывода: до 16 последних строк в пределах 2 КиБ. При раскрытии строки предпросмотр виден сразу, пока сохранённый вывод загружается в фоне, а затем заменяется загруженными данными. Небольшой полный вывод shell не требует дополнительного запроса. Большие журналы загружаются ограниченными страницами; высота области вывода shell не меняется во время загрузки. При ошибке предпросмотр остаётся видимым и доступна кнопка Повторить.
Поиск файлов и диагностика могут показывать до пяти записей предпросмотра, также в пределах 2 КиБ. Раскрытие строки загружает сохранённые подробности и заменяет ими предпросмотр; счётчики относятся ко всему результату. Каждый инструмент выбирает свой предпросмотр. Старые сообщения без него по-прежнему загружают подробности по запросу.
Клавиатурные сокращения
Заголовок раздела «Клавиатурные сокращения»Когда файл с изменениями открыт в редакторе, доступны следующие сочетания клавиш (при условии, что фокус в редакторе и активен режим проверки файлов):
| Действие | Сочетание |
|---|---|
| Перейти к следующему файлу | Alt+Right |
| Перейти к предыдущему файлу | Alt+Left |
| Принять изменения в файле | Alt+A |
| Отклонить изменения в файле | Alt+R |
Alt+K (Принять все), Alt+U (Отменить все) и Alt+D (Просмотреть изменения) действуют на весь набор ожидающих изменений и работают, когда сфокусирован редактор или чат, — решение можно принять, не покидая беседу. Кнопки Keep All и Undo All показывают запускаемое ими сочетание клавиш; после переназначения команды в редакторе горячих клавиш подсказка обновляется.
Принятие и отклонение изменений
Заголовок раздела «Принятие и отклонение изменений»Отдельный файл:
- В списке файлов наведите курсор на файл — появятся кнопки с иконками Check (принять) и X (отклонить).
- В заголовке редактора используйте действия перехода вперёд/назад, принятия и отклонения; те же действия доступны с клавиатуры через
Alt+A/Alt+R.
Все изменения сразу:
- Оставить все — принимает все правки и перемещает базовую точку вперёд.
- Отменить все — откатывает рабочее пространство к состоянию до всех текущих правок. Kodik обрабатывает это как одну пакетную операцию проверки и из кнопки панели, и через
Alt+U, поэтому многофайловая отмена проходит одни и те же проверки конфликтов в обоих путях.
Если задача открыта в двух окнах и одно окно принимает или отменяет изменения, по которым другое окно уже приняло решение, второе окно просто убирает эти изменения из списка. Если при любом из этих действий хранилище чатов даёт сбой, Kodik показывает ошибку хранилища и оставляет файлы и ожидающие изменения без изменений, чтобы действие можно было повторить.
Завершённые решения о принятии и отмене сохраняются вместе с задачей. После перезагрузки окна панель изменений не открывается повторно для тех же правок; если правки выполнялись по плану, сохранённый прогресс его чеклиста также восстанавливается независимо.
Изменения, внесённые субагентом, отображаются на панели изменений родительского чата. Ожидающие проверки и встроенные различия сохраняются после Перезагрузки окна, а Оставить всё и Отменить всё применяют решение к изменениям, принадлежащим рабочей сессии, прямо из родительской панели.
Одобренные правки файлов вне папок рабочей области (например, документа на рабочем столе) отображаются в той же панели. Оставить, Оставить всё, Отклонить и Отменить всё применяются к ним сразу из текущего окна: «Оставить» сохраняет файл в том виде, в каком его записал агент, а «Отменить» возвращает прежнее содержимое на диске. Непринятые правки и завершённые решения сохраняются после закрытия или перезагрузки окна.
Когда ожидающий файл уже показан, действие Оставить использует эту отображённую проверку напрямую, не загружая заново все ожидающие различия. Повторные действия Оставить для одного файла объединяются в одно решение, а если каноническая ревизия изменилась без изменения проверенных байтов, Kodik обновляет её и автоматически завершает действие.
Если хранилище чата на мгновение отклонило решение (например, пока закрывался ответ), Kodik обновляет строки и повторяет Оставить один раз. Оставить все никогда не показывает ошибку: файлы уже сохранены на диске, поэтому изменения, решение по которым записать не удалось, просто остаются в панели, и следующее нажатие Оставить все завершает их.
Связь с авто-одобрением
Заголовок раздела «Связь с авто-одобрением»Если авто-одобрение для редактирования файлов включено, правки применяются автоматически без появления запроса. Панель изменений всё равно показывает все правки, и вы всегда можете воспользоваться кнопкой Отменить все или откатиться через контрольную точку.
Если процесс хранилища чата перезапускается во время отмены или редактирования и повторной отправки сообщения, Kodik повторяет тот же запрос. Попытка, прерванная до изменения файлов, может безопасно начаться заново; завершённая операция использует сохранённый результат. Конфликтующие пользовательские правки остаются защищены.
После изменения первого сообщения новый ответ остаётся видимым без переключения между чатами. Предыдущая работа с очередью не мешает восстановлению более позднего сообщения.
В старых чатах также восстанавливается контекст модели, сохранённый после предыдущих откатов, чтобы повторное редактирование продолжало нужную ветку разговора.
Если запись изменений переподключается во время принятия решения, проверка продолжится автоматически. Undo All использует сохранённое содержимое и обрабатывает независимые файлы параллельно. Если один файл не удалось восстановить, его строка и кнопки остаются доступны вместе с сообщением об ошибке; успешно восстановленные файлы исчезают из списка. После перезапуска хранилища отмена продолжится с сохранённого этапа.
В рабочей области SSH кнопки Keep All и Undo All принимают и отменяют изменения через подключённую удалённую файловую систему, не ожидая регистрации удалённого файла локальным процессом.
