y83 code / справочник

Лента

Лента — центральная часть экрана чата: переписка и вся работа агента по порядку. Самое новое сообщение всегда внизу, выше — история. Лента ничего не пересказывает в конце хода: карточки появляются по мере поступления, поэтому видно, чем агент занят прямо сейчас.

раздел
Чат opencode
пунктов возможностей
21
источник
docs/opencode/chat-feed.md

Порядок

  • Снизу вверх. Новые карточки встают в хвост, и лента сама следует за ними, пока вы у нижнего края.
  • Строго хронологически. Порядок карточек — тот, в каком агент выполнял шаги. Внутри ответа текст, рассуждения и вызовы инструментов идут вперемешку, как их принёс агент.
  • Порции одного блока склеиваются. Рассуждения приходят кусками, но лента собирает их в один блок с общей длительностью.

Карточки

  • Ваше сообщение — плашка с текстом, временем и кнопкой копирования. Рядом показываются вложения: картинка — превью (тап открывает её целиком), остальные файлы — строкой с именем.
  • Ответ агента — текст с настоящей разметкой: код подсвечен, таблицы нарисованы, картинки показаны миниатюрами, текст можно выделять.
  • Рассуждения — свёрнутая карточка в одну строку: начало мысли, время и иконка. Пока агент думает, она раскрыта и следует за текстом; когда ход закончился, карточка сворачивается сама.
  • Вызов инструмента — карточка с одной строкой: у команд это $ команда, у чтения и правок — путь к файлу. Карточка раскрыта, только пока работа идёт; по завершении сворачивается, а результат открывается тапом: у правок внутри цветной дифф, у чтения и записи — содержимое файла, у прочих инструментов — вход и вывод.
  • Упавший инструмент — та же карточка, но с красным фоном и крестом вместо галочки.
  • Сжатие контекста — отдельная строка о том, что история свёрнута в сводку.
  • Итог хода — строка-разделитель под последним ответом агента: «Готово» или «Ошибка», время, число инструментов, число правок и токены. У идущего хода итога нет.

Вопросы и разрешения

  • Вопрос агента — карточка с полями: выбор одного варианта или нескольких, «Да/Нет» или свободный ввод. Кнопка «Ответить» активна, только когда заполнены обязательные поля. Пока вопрос не отвечен, ход стоит.
  • Запрос разрешения — карточка с названием инструмента и текстом запроса. Ответов три: Always разрешает всегда, Once — один раз, Reject — отказывает. Пока агент ждёт, полоса этапов пишет «ждёт одобрения».

Действия у ответа агента

У ответа агента есть кнопка копирования и меню ⋮:

  • Копировать — весь текст, текст без разметки, только код (подписан числом найденных блоков) и таблицы как CSV. Отдельные пункты появляются, только когда в ответе есть что взять.
  • Откатить до этого сообщения — история обрезается до выбранного места, приложение переспрашивает.
  • Форк отсюда — создаётся новая сессия на базе этой, и вы остаётесь в ней.

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

Прокрутка

  • Лента следует за хвостом, пока вы внизу, и перестаёт двигаться сама, как только вы ушли наверх.
  • Кнопка со стрелкой вниз появляется над лентой, когда вы ушли вверх, и возвращает к последнему сообщению.
  • Тап по пустому месту ленты убирает клавиатуру.

Ожидание и повторы

  • Агент ждёт повтора у провайдера — в полосе статуса видно «повтор запроса, попытка N»: это не зависание, а попытка заново после ответа провайдера.
  • Сжатие контекста идёт отдельным этапом «сжимаю контекст…»; если оно не удалось, чат говорит об этом текстом ошибки.
  • Служебные пометки (навык активирован, инструкции обновлены, служебный шаг агента) показываются приглушённой строкой над полем ввода — они описывают состав контекста, а не ответ агента.

Технические данные

ПараметрЗначение
Окно истории на входепоследняя страница истории (около 50 сообщений)
Догрузка вглубькнопка «Показать более раннее» вверху ленты: шаг за страницей, пока сервер отдаёт курсор
Отступ между карточками8dp
Высота раскрытого рассуждениядо 240dp, дальше внутренняя прокрутка
Таймер карточки инструмента0.1 с, пока работа идёт
Кнопка копирования кодаподписана числом блоков («Код · 3»)
Когда карточка инструмента раскрытатолько пока работа идёт, после — по тапу

Источник: docs/opencode/chat-feed.md. Страница собрана из документации проекта при сборке сайта — без пересказа.