y83 code / чат агента

Чат агента: рабочее место, а не лента сообщений

Чат — главный экран системы. Здесь видно, что агент делает прямо сейчас, сколько это стоит, что он спрашивает и что изменил. Полосы состояния, очередь, планы, диффы, ревью и фоновые терминалы — части одного экрана, а не отдельные программы.

полосы под лентой
очередь · план · ход
окна треда
цель · расход · сжатие · перенос
запросы агента
6 видов карточек
движки
Codex · opencode · Claude

Чат агента

Лента: что видно во время хода

Состояние работы читается по полосам над лентой и по самой ленте — не нужно листать переписку, чтобы понять, где сейчас агент.

Полоса контекста

Сколько токенов занято в окне, какая доля входа пришла из кэша и сколько контекста доступно: цена хода видна по ходу.

  • токены

Полоса лимитов модели

Появляется, когда израсходовано от 70 % лимита, и красится по порогам — предупреждение приходит до отказа, а не вместо него.

  • лимиты

Живые стадии

В полосе статуса видно, что именно делает агент: читает файл, выполняет команду, вызывает инструмент, думает или пишет ответ.

  • ход

Лента порциями и локальный журнал

В памяти держится окно последних элементов, старая история подгружается порциями — длинный тред открывается сразу. Завершённые ходы лежат блоками в локальной базе, активный ход пишется журналом событий и доигрывается после перезапуска приложения.

  • производительность

Баннеры проблемы

Обрыв связи, подозрение на залипание кэша и плашка «агент не отвечает» с понятным следующим шагом.

  • диагностика

Строка загрузки страницы

На время веб-поиска вместо полосы контекста показывается домен, размер ответа и время загрузки — внешний запрос не выглядит как зависание.

  • веб

Один хозяин прокрутки

Лента не дёргается во время хода: намерение меняет только палец, а программная прокрутка не может выключить следование за текстом. Пока идёт жест, лента не двигается вообще.

  • прокрутка

Чат агента

Вмешательство: очередь, правка, прерывание

Работа не останавливается, чтобы что-то уточнить: сообщение можно отложить, поднять или отправить вместо текущего хода.

Очередь сообщений

Полоска очереди появляется, когда агенту отправлено лишнее: у первого пункта метка next, у недошедшего — not sent.

  • очередь

Состояние отправки

У сообщения пять состояний — sending, waiting, не подтверждено, ошибка и отправлено. При повторе после обрыва связи приложение сверяет свой локальный идентификатор с сервером, поэтому ход не отправляется дважды.

  • надёжность

Send now прерывает ход

Кнопка отправляет выбранное сообщение вместо текущего хода — не нужно ждать конца, чтобы поправить направление.

  • вмешательство

Правка на месте

Тап по тексту сообщения открывает окно правки с Save и Cancel — опечатку видно и правится там же, где она появилась.

  • правка

Скиллы и заготовки в сообщении

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

  • скиллы
  • промпты

Планы рядом с лентой

Панель плана раскрывается над лентой, а экран планов собирает и планы из переписки, и файлы планов проекта.

  • планы

Управление самим диалогом

Отдельные окна треда: цель с бюджетом токенов, расход, сжатие переписки и перенос в новый диалог.

  • тред

Чат агента

Что спрашивает агент

Опасные и неоднозначные шаги не проходят молча: на них появляется карточка, а ответ остаётся в истории треда.

Вопрос с вариантами

Агент спрашивает, как делать дальше, и предлагает варианты — в одном запросе их может быть несколько.

  • вопрос

Одобрение команды

Разрешение на запуск команды в терминале: видно, что именно будет выполнено.

  • терминал

Одобрение правки файлов

Разрешение на применение изменений в файлах проекта.

  • файлы

Запрос прав и сети

Расширенный доступ к инструментам или к сети запрашивается отдельно, а не выдаётся по умолчанию.

  • доступ

Вызов MCP-инструмента и его форма

Сторонний инструмент не вызывается без подтверждения, а MCP-сервер может запросить форму: текст, число, переключатель или выбор.

  • mcp

Чат агента

Результат: диффы, ревью, git, терминалы

Результат работы разбирается там же, где появился, и не требует уходить в другое приложение.

Полный диф хода

Карточка в ленте даёт короткий пересказ, а отдельное окно — весь диф по файлам с переходом в просмотрщик.

  • дифф

Ревью правок

Отдельный ревьюер читает изменения и пишет отчёт о рисках, регрессиях и недостающих тестах — и ничего не правит сам.

  • ревью

Git без терминала

Изменения, коммиты и сравнение в одном экране: pull с перебазированием, push и коммит — и для папки на телефоне, и для папки на сервере.

  • git

Фоновые терминалы

Процессы, которые агент оставил работать: локальные серверы, вотчеры, длинные сборки — со списком и остановкой.

  • процессы

Зависание и разблокировка

Подозрение на зависание ничего не прерывает само, а заблокированный диалог ждёт решения человека — ход не теряется молча.

  • надёжность

Чат агента

Claude Code: третий чат

Claude Code получил не «внешний терминал», а полноценный чат в приложении — с той же дисциплиной хода, что у Codex.

Лента как в Codex

Размышления и инструменты собираются в сворачиваемые шаги; Bash, Read, Write/Edit, TodoWrite, Grep/WebFetch/MCP рисуются своими карточками, а под ответом появляется «Изменено файлов» с +a/−r и диффом по файлу.

  • лента
  • инструменты

Очередь и палитра /…

Набранное во время хода встаёт в локальную очередь и уходит само, когда CLI закрыл ход. Команды и скиллы приходят из init.slash_commands самого CLI, а терминальные команды честно помечены unavailable.

  • очередь
  • слэш-команды

Разрешения над композером

Allow/Deny висит между статус-баром и полем ввода при любой прокрутке; в ленте остаётся компактная строка решения. SSE подписывается с Last-Event-ID, поэтому история не дублируется.

  • approvals
  • sse

Модель, режим и reasoning

Модель выбирается из каталога провайдеров, режим — manual/acceptEdits/plan/bypass, уровень — auto…max. Смена режима, модели и уровня читается плашкой «было → стало», а bypass подсвечен предупреждением.

  • модель
  • режим

Токены и стоимость

Над лентой тот же токен-бар, что в Codex: контекст, цена хода и доля кэша. Ходы пишутся в turn_costs со scope claude и видны в общем экране «Затраты»; для native-режима цена не выдумывается.

  • токены
  • цена

Чат агента

Три движка рядом

Codex, opencode и Claude Code работают в одном контуре, но не сливаются в один чат: у каждого свой протокол, свои сессии и свой способ выбирать модель.

Свой чат и свои сессии

У opencode — проекты, сессии, лента, композер и меню сессии; у Claude — проекты, сессии, шаги и разрешения. Движок выбирается под задачу, а не навязывается.

  • opencode
  • claude

Общий реестр и общая приёмка

Инструменты агента, ворота и релизный цикл общие для всех трёх движков — знание о проекте не делится на три мира.

  • общее

Открытый протокол

opencode подключается по сети (host:port) как обычный сервер, а Claude ходит в Anthropic-совместимый роутер. Рабочая машина не обязана быть телефоном.

  • протокол

проверяемое

Что здесь можно перепроверить

  • Полоса контекста показывает расход и долю кэша во время хода, а не после него.
  • Сообщение можно отправить вместо текущего хода одной кнопкой.
  • Изменяющие действия и вызовы сторонних инструментов не проходят без подтверждения; read-only команды идут сразу.
  • У Codex, opencode и Claude Code свои ленты, но общий реестр инструментов и общая приёмка.
  • Полный диф хода и отчёт ревью открываются из ленты, не выходя в другое приложение.