Порядок
- Снизу вверх. Новые карточки встают в хвост, и лента сама следует за ними, пока вы у нижнего края.
- Строго хронологически. Порядок карточек — тот, в каком агент выполнял шаги. Внутри ответа текст, рассуждения и вызовы инструментов идут вперемешку, как их принёс агент.
- Порции одного блока склеиваются. Рассуждения приходят кусками, но лента собирает их в один блок с общей длительностью.
Карточки
- Ваше сообщение — плашка с текстом, временем и кнопкой копирования. Рядом показываются вложения: картинка — превью (тап открывает её целиком), остальные файлы — строкой с именем.
- Ответ агента — текст с настоящей разметкой: код подсвечен, таблицы нарисованы, картинки показаны миниатюрами, текст можно выделять.
- Рассуждения — свёрнутая карточка в одну строку: начало мысли, время и иконка. Пока агент думает, она раскрыта и следует за текстом; когда ход закончился, карточка сворачивается сама.
- Вызов инструмента — карточка с одной строкой: у команд это
$ команда, у чтения и правок — путь к файлу. Карточка раскрыта, только пока работа идёт; по завершении сворачивается, а результат открывается тапом: у правок внутри цветной дифф, у чтения и записи — содержимое файла, у прочих инструментов — вход и вывод. - Упавший инструмент — та же карточка, но с красным фоном и крестом вместо галочки.
- Сжатие контекста — отдельная строка о том, что история свёрнута в сводку.
- Итог хода — строка-разделитель под последним ответом агента: «Готово» или «Ошибка», время, число инструментов, число правок и токены. У идущего хода итога нет.
Вопросы и разрешения
- Вопрос агента — карточка с полями: выбор одного варианта или нескольких, «Да/Нет» или свободный ввод. Кнопка «Ответить» активна, только когда заполнены обязательные поля. Пока вопрос не отвечен, ход стоит.
- Запрос разрешения — карточка с названием инструмента и текстом запроса. Ответов три:
Alwaysразрешает всегда,Once— один раз,Reject— отказывает. Пока агент ждёт, полоса этапов пишет «ждёт одобрения».
Действия у ответа агента
У ответа агента есть кнопка копирования и меню ⋮:
- Копировать — весь текст, текст без разметки, только код (подписан числом найденных блоков) и таблицы как CSV. Отдельные пункты появляются, только когда в ответе есть что взять.
- Откатить до этого сообщения — история обрезается до выбранного места, приложение переспрашивает.
- Форк отсюда — создаётся новая сессия на базе этой, и вы остаётесь в ней.
Пункты отката и форка есть только у сообщений с серверным идентификатором: у вашего сообщения, которое ещё висит на отправке, откатывать нечего.
Прокрутка
- Лента следует за хвостом, пока вы внизу, и перестаёт двигаться сама, как только вы ушли наверх.
- Кнопка со стрелкой вниз появляется над лентой, когда вы ушли вверх, и возвращает к последнему сообщению.
- Тап по пустому месту ленты убирает клавиатуру.
Ожидание и повторы
- Агент ждёт повтора у провайдера — в полосе статуса видно «повтор запроса, попытка N»: это не зависание, а попытка заново после ответа провайдера.
- Сжатие контекста идёт отдельным этапом «сжимаю контекст…»; если оно не удалось, чат говорит об этом текстом ошибки.
- Служебные пометки (навык активирован, инструкции обновлены, служебный шаг агента) показываются приглушённой строкой над полем ввода — они описывают состав контекста, а не ответ агента.
Технические данные
| Параметр | Значение |
|---|---|
| Окно истории на входе | последняя страница истории (около 50 сообщений) |
| Догрузка вглубь | кнопка «Показать более раннее» вверху ленты: шаг за страницей, пока сервер отдаёт курсор |
| Отступ между карточками | 8dp |
| Высота раскрытого рассуждения | до 240dp, дальше внутренняя прокрутка |
| Таймер карточки инструмента | 0.1 с, пока работа идёт |
| Кнопка копирования кода | подписана числом блоков («Код · 3») |
| Когда карточка инструмента раскрыта | только пока работа идёт, после — по тапу |