Перейти к содержимому

Агенты

Агент здесь — это Claude Code, Codex или другой агент с поддержкой ACP, запущенный на вашей машине и умеющий водить браузер: открывать вкладки в нужную группу, читать страницы, пересказывать их, двигать и закрывать вкладки.

Разговаривают с агентом через строку ⌘E: выберите его вместо языковой модели, и отвечать на строке будет он. Все разговоры с агентами сохраняются и собраны на странице Чаты.

Разговор идёт по ACP (Agent Client Protocol) — тому же протоколу, по которому эти агенты разговаривают с редакторами. Savoia отдаёт агенту сам себя как MCP-сервер, поэтому инструменты браузера у агента появляются сами собой.

Как выбрать агента

  • Конфигурация ▸ Ассистент ▸ Строка ⌘E, список Ассистент: Claude Code, Codex или добавленный вами агент. Под ним — Модель, которой агент отвечает; список приходит от самого агента, выбор запоминается отдельно для каждого.
  • Или прямо на строке: значок слева от поля открывает меню, в котором те же агенты и их модели.

При первом запуске то же самое спрашивается на странице Знакомство.

Что нужно поставить

Всё — во вкладке Конфигурация ▸ Ассистент ▸ Агенты. Для Claude Code и Codex там своя секция: версия адаптера и отдельно версия самого claude или codex — это разные числа, адаптер носит с собой свою копию CLI. Там же кнопки Установить и Обновить, и подсказка, как войти в аккаунт, с кнопками Скопировать команду и Открыть терминал.

Проверяется окружение вашей оболочки:

адаптер уже на PATHиспользуется напрямую; рядом с именем стоит его версия
вышла версия новеестрока говорит об этом, рядом кнопка Обновить
есть только npmкнопка Установить ставит адаптер глобально; до тех пор он запускается через npx
нет Node.jsссылка на страницу загрузки
нет самого claude / codexсекция предупредит и подскажет, как его поставить и войти

Проверяется именно интерактивная login-оболочка, так что nvm и homebrew из .zshrc учитываются. Заранее строка ⌘E об агенте ничего не проверяет: если он не запустился, причина придёт вместо ответа.

Добавить агента… подключает любого другого ACP-агента: имя, исполняемый файл и аргументы — каждый с новой строки. Изменить… и Удалить — в его секции.

Как это выглядит

Ответ агента приходит в карточку над строкой, как любой другой. Пока агент работает, рядом с именем модели видно, каким инструментом он сейчас занят — по-человечески: savoia open_window — сервер, пробел, метод. То, что агент назвал сам (Read, Bash, целое предложение), остаётся как есть.

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

Ответ «всегда» (разрешить или запретить) запоминается для этого агента и этого инструмента — и после смены модели, и после перезапуска Savoia. Больше такой вызов не спрашивает. Сколько таких ответов накопилось, видно во вкладке Агенты в разделе Вызовы инструментов; Спрашивать снова забывает их разом. Исключение — файл с диска: про него спрашивают каждый раз, и кнопки «всегда» в такой карточке нет.

Где агент работает

В папке черновиков профиля (Profiles/<имя>/Scratchpad): у каждого профиля своя, и смена профиля меняет папку — следующий вопрос переподключит агента к новой.

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

Разговоры на строке ⌘E

Каждый вызов строки начинает новый разговор; уточнения, заданные, пока строка открыта, идут в него же. Новый разговор в меню строки начинает новый, не закрывая её.

Чтобы вернуться к старому разговору, наберите в строке / и слово из его названия: под глаголами появятся подходящие чаты (просто / — пять последних). Стрелки ↑ ↓ ходят по ним, ↩ выбирает. Выбранный чат встанет в строку значком, над ней будет его последний вопрос и ответ, и следующий вопрос продолжит этот разговор — с тем агентом, с которым он был. ↗ на значке открывает чат окном, клик по значку или ⌘⌫ возвращает к новому разговору.

Агент помнит разговор и после перезапуска Savoia: сессия продолжается там же, где остановилась. Если агент этого не умеет или сессия у него потерялась, начинается новая, а сохранённая переписка остаётся выше как запись.

Чаты

Все разговоры с агентами собраны на странице Чаты (⌘⇧E или «Вид» ▸ «Чаты»). Это не боковая панель, а вкладка, как любая страница: открылась рядом с тем, что вы делаете, и закрывается, когда нашли нужное. Разговоры сгруппированы по дням; поиск идёт по названию, переключатель Все папки показывает и разговоры из других папок. Новый чат открывает пустой разговор.

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

Ниже, в Другие сессии, — то, что агенты помнят о папке сами: например, сессии, начатые из командной строки Claude Code или Codex. У каждой подписано, с каким агентом она была. Откройте такую и нажмите Загрузить у агента — агент перешлёт её историю.

Что агент умеет в браузере

В словаре инструментов окно — это вкладка, а рабочий стол — группа вкладок профиля. По умолчанию всё относится к тому, что на экране.

посмотретьперечислить группы и вкладки, прочитать текст страницы, её ссылки, пересказать её
открытьнайти в вебе; открыть вкладку по адресу или по запросу — в том числе в фоне, чтобы экран не прыгал; открыть приватное окно
подвигатьперейти во вкладку, перенести её в другую группу, поставить две рядом, закрыть
действоватьснимок страницы с пронумерованными кнопками и полями, нажать, заполнить поле, выбрать вариант в списке, нажать клавишу, прокрутить, навести указатель, перетащить, приложить файл, ответить на окно страницы, дождаться результата — так агент заполняет формы и ищет билеты сам
разобратьсячто страница вывела в консоль, какие запросы сделала, снимок страницы, выполнить код на странице
написатьзавести документ, писать в него по разделам, сослаться на источник, выделить нужные абзацы
закладкиперечислить, найти по смыслу, прочитать, добавить, перечитать, удалить

Консоль и сеть агент видит, только если включено Конфигурация ▸ Ассистент ▸ Строка ⌘E ▸ Доступ к консоли и сетевым запросам страницы — см. инструменты разработчика.

Действует агент в настоящем окне и в вашем профиле — то есть там, где вы уже вошли на сайты. Перед каждым действием он спрашивает разрешение в карточке ответа. Оплатить, забронировать, отправить или удалить агента просят не нажимать: он останавливается, говорит, что всё готово, и последнюю кнопку оставляет вам. Если страница сама объявила инструменты для агентов, он пользуется ими, а не кнопками (WebMCP). Языковой модели на строке ⌘E эти инструменты не даются: её просят действовать командой «сделай».

Два случая стоит знать заранее. Файл агент прикладывает с вашего диска, назвав путь, — окно выбора файла при этом не открывается, а разрешение спрашивается каждый раз, на каждый файл: в карточке видно, какой файл и куда, и ответить «всегда» нельзя. Если файл просит приложить программа со стороны, подключённая через Savoia --mcp, или агент, который сам ни о чём не спросил, вопрос появляется полосой во вкладке — путь к файлу, сайт и кнопки Запретить и Разрешить; этот ответ тоже не запоминается. Окно страницы — alert, confirm, prompt — появляется как обычно, и ответить на него можете и вы, и агент: кто первый, того ответ и принят. Если ответил агент, окно закроется само.

Браузер как MCP-сервер для чего угодно ещё

Тот же бинарник, запущенный как Savoia --mcp, — это MCP-сервер поверх работающего приложения. Любой клиент MCP может подключиться к нему и водить браузер так же, как это делает агент на строке ⌘E. Например:

Terminal window
claude mcp add savoia -- /Applications/Savoia.app/Contents/MacOS/Savoia --mcp

Кто может подключиться

К сокету может подключиться любой процесс, запущенный от вашего пользователя; отдельной аутентификации там нет, только права на файл. Сами агенты при этом по-прежнему спрашивают разрешение перед вызовом инструмента. Файл с диска странице не уйдёт без вашего ответа, кто бы ни подключился: об этом спросит сама вкладка.