Чат с агентом
Сервер запускает сессию через @anthropic-ai/claude-agent-sdk, авторизуясь OAuth-токеном из ~/.claude — или ключом облака, если чат идёт через провайдера. Транскрипт пишется в обычный ~/.claude/projects/**/*.jsonl, поэтому чат сразу появляется в общем списке — и в claude --resume в терминале тоже.

Начать и продолжить
- «💬 Новый чат» — выбрать каталог (или взять из списка недавних), модель и уровень усилий, отправить первое сообщение.
- «+ Новый проект» в списке проектов — то же самое, но начинается с выбора папки, в которой сессий ещё не было; папку можно создать на месте.
- «💬 Продолжить в чате» на странице сессии —
resumeпо её id.
Режим ответа
Один и тот же блок в форме нового чата и над композером живого: модель с расшифровкой, ряд усилий и две галочки — ⚡ ultracode и воркфлоу (трёхпозиционная: «вкл / выкл / как решит план»).
Модель, усилия и ultracode меняются на ходу. Воркфлоу — переподъёмом сессии: набор инструментов CLI собирает при старте, на живой сессии его не поменять.
Композер
К сообщению можно приложить картинки — из галереи, камерой или вставкой из буфера; они сжимаются на клиенте. Незаконченный текст (и приложенные к нему картинки) лежит черновиком у каждого чата и у каждого каталога в форме нового чата — уйти за папкой и вернуться можно без потерь.
Картинку можно обрезать и повернуть до отправки. Тап по превью приложенной картинки открывает правку: рамку обрезки тянут за углы или двигают целиком, «Повернуть» крутит по часовой стрелке, «Сбросить» возвращает как было. Лишний край скриншота или снятое боком фото больше не приходится переснимать. Во весь экран картинку открывает кнопка в той же правке. В вебе и в Android.
Отправленное можно отменить и забрать назад. Сообщение, вставшее в очередь за текущим ответом, снимается крестиком и возвращается в поле; долгое нажатие копирует текст, ссылку или блок кода. То же делает «↑» в пустом поле, пока сообщение ещё в очереди. В остальное время «↑» листает историю отправленного — и из набранного текста тоже, если курсор в самом начале: черновик не теряется, «↓» до самого низа возвращает его в поле.
Команда вместо сообщения. Строка, начатая с !, модели не уходит: её выполняет оболочка в каталоге этого чата. !git status, !npm test, !tail -50 log — то же, за чем обычно идут в терминал, но не выходя из разговора и не тратя на это ответ агента. Вывод ложится в ленту отдельной записью.
@ дополняет пути файлов. Наберите @ и начало имени — над полем появится список файлов папки чата. Ищет сервер по всему дереву и с учётом .gitignore, поэтому node_modules и сборки в список не лезут. Файл встаёт в текст как @путь, а выбранный каталог раскрывается дальше — так спускаются по дереву, не набирая имён. Путь с пробелом уходит в кавычках, как его понимает CLI. Модели уходит обычный текст: файл по пути она прочитает сама. С клавиатуры по списку ходят стрелками, Tab и Enter выбирают — и в вебе, и в Android; на телефоне без клавиатуры выбирают касанием.
Блок кода копируется кнопкой. Значок в правом верхнем углу фенса забирает его целиком. Копирование работает и по локальной сети без https: браузер в незащищённом контексте не отдаёт странице буфер обмена, поэтому используется запасной путь.
Вопросы модели
Вопросы (AskUserQuestion) показываются карточкой с вариантами. Висящий вопрос переживает перезагрузку страницы и приходит на все устройства сразу — ответили с телефона, в браузере карточка погасла.
Вопрос чужой сессии — той, что ведёт claude в терминале, — тоже можно перехватить и ответить на него из Clauder. Для этого нужны хуки.
Чат идёт у другого Clauder — например, с другой стороны WSL и Windows, — а вы смотрите его у себя зеркалом? Вопрос модели и запрос разрешения приходят карточкой и к вам, как обычно, а ответ уходит на ту машину, где идёт ответ. Ответили там — карточка у вас гаснет.
Замечания к правкам
Как ревью на GitHub: нажмите на строку развёрнутой правки агента (Edit/Write) в ленте — под ней откроется поле замечания (в Android — окно). «Добавить» — и строка помечена. Замечания копятся плашкой над полем ввода: их можно развернуть, убрать по одному или «Очистить» все, а «В сообщение» вставляет их одним текстом, сгруппированным по файлам: строка из диффа и под ней ваше замечание. Отправляете вы сами, дописав что хотите, — пересказывать словами, какая строка не понравилась, больше не нужно.
Замечания живут в клиенте до отправки, сервер о них не знает. Ключ «только чтение» их не оставляет.
Пароль — карточкой, а не сообщением
Агенту понадобился пароль, токен или ключ — он поднимает над композером карточку с полем-паролем, а ход встаёт до вашего ответа. Значение уходит на сервер и подставляется в команду там; в переписке, в транскрипте и в контексте модели остаётся только имя секрета. Подробно — Секреты и безопасный режим.
Слэш-команды
В композере работают свои команды:
| Команда | Что делает |
|---|---|
/model, /effort, /permissions, /ultracode, /workflows | меняют настройки живой сессии |
/context, /cost | показывают её состояние |
/btw | задаёт попутный вопрос в том же диалоге |
/continue | пишет «Продолжай» и сразу отправляет |
/agents, /chats, /files, /search | водят по интерфейсу |
/login, /logout | вход в Claude и выход: окно с OAuth-ссылкой и полем для кода |
/mcp | MCP-серверы сессии — см. ниже |
/plugin | плагины Claude Code — см. ниже |
Незнакомое имя командой не считается и уходит сообщением — так через композер проходят команды самого CLI (/compact, /init, ваши проектные команды).
MCP-серверы и плагины
/mcp показывает все серверы сессии, включая коннекторы claude.ai и встроенные в Clauder. У каждого — «Инструменты» (список с пометками «только чтение», «меняет данные»), «Переподключить» и «Выключить»/«Включить»; сервер из каталога можно подключить к уже идущему чату. Серверу, которому нужен вход, — «Войти», которому нужен ключ, — «Настроить». Встроенные серверы Clauder не выключаются: обратно их CLI уже не включает.
Вызовы MCP в ленте подписаны по-человечески: вместо mcp__plugin_context-mode_context-mode__ctx_execute — context-mode · ctx_execute, у коннекторов claude.ai — Claude Docs · batch. Так же они выглядят в строке «чем занят» на экране агентов, в карточке разрешения и на экране расхода.
/plugin — три вкладки, как в консольном Claude Code:
- «Установленные» — включить и выключить (живые чаты подхватывают сразу, без перезапуска), состав плагина с ценой в токенах, «Обновить», «Удалить» с подтверждением;
- «Обзор» — плагины маркетплейсов по популярности, с поиском и установкой;
- «Маркетплейсы» — обновить или убрать. Добавляют новый маркетплейс только в терминале: это доверие к чужому репозиторию целиком.
Те же карточки лежат в настройках — разделы «MCP-серверы» и «Плагины» в группе «Агент», в вебе и в Android. Без чата там нет живых статусов: включить сервер в идущем чате и посмотреть его инструменты можно только из самого чата.
Окно контекста
В строке расхода под композером — процент заполнения окна с полоской и тремя ступенями цвета. Считается он от рабочей части окна (0.9 номинала): остальное CLI держит под автосжатие и свой ответ.
По нажатию раскрывается график заполнения по времени с отметками сжатий и заголовком вида «Окно контекста: 45k из 200k · занято 23%».
Посмотреть, что поднял агент
Агент запустил npm run dev — его страницу можно открыть прямо из меню чата, пункт «Превью dev-сервера», и с телефона тоже: без VPN и проброса портов. Подробно — Превью dev-сервера.
Живое рядом
Строка над композером говорит про всё живое разом: «⤷ 2 субагента · ⚙ 3 фоновые задачи работают — посмотреть». Субагент пишет в свой файл, дочерний чат живёт отдельной сессией — в ленте они о себе не напоминают, а строка ведёт на экран агентов.
Режимы прав
В режимах default, plan и acceptEdits над композером появляется карточка «Агент хочет вызвать инструмент» с кнопками «Разрешить», «Всегда для этого инструмента» и «Отказать»; ответ при этом стоит до вашего решения. Режим меняется в настройках и командой /permissions.
По умолчанию стоит bypassPermissions — инструменты выполняются без подтверждений. Что это значит на практике, написано в разделе Безопасность.
Чужая сессия слушается тоже
Чат, открытый в терминале или другим Clauder-ом, принимает сообщение (оно доедет хуком), показывает в шапке, чем занят прямо сейчас («⚙ Bash(…)»), и завершается пунктом «Завершить сессию» под «⋮». Второй процесс на неё при этом не поднимается.
Очередь работ в одном каталоге
Несколько долгих работ в одной папке правят одни файлы и сбивают друг друга. Порядок им задают в меню чата, пункт «Очередь работ»: список работ этого каталога, перестановка местами, «пустить сейчас» и «снять».
Идёт всегда одна — держатель очереди; остальные заморожены до её «готово». Написанное в замороженный чат не пропадает и не влезает посреди чужого хода: сообщение ждёт своей очереди, а над композером стоит плашка «⏸ ждёт очереди» со счётчиком накопленного. Очередь живёт в базе, поэтому перезапуск сервера её не теряет.
Забрать чат или показать его
Файлом. «Скачать в Markdown» в меню чата (в Android — «Поделиться в Markdown»): шапка с названием, каталогом и моделью, дальше разговор — «Вы» и «Агент», вызовы инструментов строкой под ответом. Вывод команд и субагенты в файл не идут, размышления — только флагом ручки (?thinking=1). Файл собирает сервер, поэтому во всех клиентах он одинаковый.
Живой ссылкой. «Поделиться ссылкой» там же выдаёт ссылку на чтение одного этого чата — без ключа доступа и без остального Clauder. Пока ссылка жива, гость видит, как чат идёт дальше. Что ему видно и чего нет — в разделе Ключи доступа.
Места, где поведение неочевидно
Это не баги, а свойства SDK — но знать про них полезно.
resume часто заводит новый файл. SDK не гарантирует продолжение в том же транскрипте. Клиенты следят за фактическим sessionId ответа и сами переходят на новую сессию — иначе экран остался бы на старом файле и выглядел бы зависшим.
Отправленное сообщение появляется в файле не сразу. Пока идёт текущий ответ, оно лежит в очереди SDK. Клиенты рисуют его сами (pending-пузырь) и убирают, когда та же строка появилась в транскрипте.
Сессии агента живут в памяти. Перезапуск api (в том числе hot-reload после правки api/src) стирает их, и прежний runId отдаёт 404. Оборванный ответ api досылает сам — вместе с MCP-серверами, подключёнными в этом чате, — а открытый экран поднимает сессию заново. Не поднимается только ответ на висевший вопрос: новый процесс о нём не знает.
Сорвавшийся запрос к API виден. Пока CLI повторяет его, в композере идёт отсчёт («ошибка API (сервис перегружен, HTTP 529) — повтор 2 из 8 через 8 с»), а строка кликабельна: нажатие повторяет запрос сразу. Ответ, оборванный лимитом плана, не досылается: до сброса окна повтор вернёт ту же ошибку.
Настройки агента
Переменные AGENT_* в .env (или раздел «Агент» в окне приложения): модель, режим прав, разрешённые корни для cwd, потолок одновременных сессий, время простоя до автозакрытия. Полный список — в справочнике переменных.