Агенты
Агент здесь — это 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. Например:
claude mcp add savoia -- /Applications/Savoia.app/Contents/MacOS/Savoia --mcpКто может подключиться
К сокету может подключиться любой процесс, запущенный от вашего пользователя; отдельной аутентификации там нет, только права на файл. Сами агенты при этом по-прежнему спрашивают разрешение перед вызовом инструмента. Файл с диска странице не уйдёт без вашего ответа, кто бы ни подключился: об этом спросит сама вкладка.