Экран открывается из списка сессий проекта тапом по нужному диалогу, а кнопка «+» там же создаёт новую сессию и сразу её открывает. Один экран чата — это всегда одна сессия: своя история, своя модель, своя роль и своя рабочая папка.
Как устроен экран
Слои идут сверху вниз, и каждый отвечает за своё:
| Слой | Что на нём | Зачем он нужен |
|---|---|---|
| Шапка | название сессии, строка «модель · уровень», кнопка назад и меню сессии | Показать, где вы находитесь, и дать быстрый доступ к настройкам |
| Полоса расхода | контекст, процент заполнения, цена хода и доля кэша | Показать, сколько занято и во сколько обошёлся ход |
| Лента | переписка и работа агента по порядку | Показать, что происходит, по мере поступления |
| Разрешения | карточки запросов, на которые нужен ваш ответ | Не дать агенту делать опасное молча |
| Очередь | промпты, которые ждут своей очереди | Показать отложенное и дать им ход |
| Полоса этапов | чем агент занят прямо сейчас, таймер и полоса прогресса | Ответить на вопрос «он ещё работает?» |
| Вопрос | карточка вопроса агента | Показывать вопрос, пока на него не ответят |
| Поле ввода | текст, вложения, навыки, роль, Stop и Send | Написать, приложить и отправить или остановить |
Поверх всего открываются окна: выбор модели, токены, Git, терминалы, навыки, MCP и меню сессии. Поверх ленты, когда вы ушли наверх, всплывает кнопка возврата вниз.
Что зависит от чего
- Шапка меняется от сессии к сессии. Название появляется после первого хода (до этого — фолбэк), модель и уровень — из каталога агента, а строка состояния связи появляется только при обрыве.
- Полоса расхода появляется, когда агент прислал данные о токенах, и показывает заполнение контекста, процент попадания в кэш и цену последнего хода.
- Очередь есть, только когда вы отправили сообщение, пока агент ещё работал. Сообщение из очереди в ленте не показывается: оно появится там, когда агент возьмёт его в работу.
- Вопрос и разрешения появляются, только когда агент их задал. Пока вопрос или разрешение открыто, ход стоит, а полоса этапов честно пишет «ждёт ответа» или «ждёт одобрения» вместо «работает».
- Полоса этапов есть всегда, кроме обрыва связи — при обрыве о состоянии говорит шапка.
- Кнопка Stop появляется ровно на время хода, а Send стоит на месте и гаснет, когда в поле пусто.
Жизненный цикл одного хода
- Вы пишете сообщение и отправляете его. Пока агент не начал отвечать, сообщение висит в ленте и помечается как отправляемое.
- Агент работает. В полосе этапов появляется занятие — команда, инструмент, чтение, правка, ответ или размышление, — идёт таймер и бежит тонкая полоса прогресса. Карточки в ленте появляются по мере поступления, а не после конца хода.
- Агент может спросить или попросить разрешение. Карточка вопроса или запроса встаёт в ленте, полоса меняется на «ждёт ответа» или «ждёт одобрения», и ход стоит, пока вы не ответите.
- Агент закончил. Под последним ответом появляется строка итога: «Готово» (или «Ошибка»), время, число инструментов, число правок и расход токенов. Полоса этапов возвращается в «готов».
- Если ход не удался, ошибка видна в строке итога и в карточке упавшего инструмента, а не в общем «что-то пошло не так».
Навигация
- В чат попадают из списка сессий проекта тапом по карточке или кнопкой «+» для новой сессии.
- Кнопка назад в шапке возвращает к списку сессий этого проекта.
- Из чата можно уйти в статистику, а из меню — в Git, терминалы, навыки и MCP.
- Из окна «Терминалы» открывается живой терминал: тап по строке PTY (или кнопка «Новый») поднимает шелл в каталоге проекта прямо поверх чата — с выделением, скроллбеком и панелью Ctrl/Alt, как на экране Shell. Закрытие окна сессию не убивает: она ждёт в списке, пока её не удалят.
Технические данные
| Параметр | Значение |
|---|---|
| Полоса расхода | контекст и процент, $ цены и доля кэша справа; тап открывает токены |
| Цвета процента заполнения | до 70% бирюзовый, от 70% жёлтый, от 90% красный |
| Предупреждение о контексте в меню | с 80% заполнения |
| Окно истории на входе | последняя страница истории (около 50 сообщений), догрузки вглубь пока нет |
| Таймер этапов | обновляется раз в секунду |
| Порог большой вставки | 5000 символов |
| Лимит вложения | 5 МБ |
| Строк в поле ввода | минимум 2, максимум 5; в развороте — до 1000 |
| Разворот поля ввода | лента 30%, поле 70% |