Ассистент
Ассистент в Savoia — не чат, а одна строка, ⌘E. Она появляется там, куда вы
уже указываете: под выделенным текстом, у поля, где стоит курсор, а если на
странице ничего не выделено — внизу окна. Сама по себе она не появляется
никогда.
История есть только у разговоров с агентами: они сохраняются и собраны на странице Чаты.
Строка ⌘E
⌘E поднимает строку, Esc или второй ⌘E убирает. Пока есть ответ, строка
не исчезает.
Спрашивать можно свободно, своими словами. Строка сама говорит, о чём будет вопрос — о выделенном, об этом поле или о странице целиком.
У поля и у выделения готовые действия видно сразу, рядом со строкой: ← и →
переводят выбор, ⏎ запускает выбранное, мышью можно нажать любое. Начните
печатать — ряд уходит, а буква уже в строке, и дальше вы спрашиваете своими
словами.
Внизу ряда нет: там нечего показывать, пока ни на что не указано. Действия
оттуда вызываются через / — наберите /, список сузится по набранному
(/перес оставит Пересказать страницу), ⏎ запустит первое. Английские
имена тоже подходят: /sum, /explain. Свои действия
находятся по названию.
⏎ отправляет вопрос. ⏎ в пустой строке применяет уже полученный ответ.
Когда отвечает агент, / ищет ещё и прежние разговоры с ним — см.
Разговоры на строке ⌘E.
Прокрутка, пока указатель на строке или на ответе, прокручивает то, что под ними, — страницу или чат.
Если выбранная модель ответить не может, строка скажет об этом вместо действий:
нет ключа — рядом кнопка Настроить…, которая открывает настройки, и ⏎
делает то же самое. Если дело не в настройках — модель ещё не готова, Apple
Intelligence выключён, этот Mac её не тянет — будет только фраза, без кнопки.
Диктовка
Справа в строке ⌘E и рядом с полем сообщения в панели агента есть микрофон
(Диктовать). Нажмите и говорите: пока вы говорите, распознанное видно серым,
а когда замолчите на пару секунд, текст встаёт в поле. Остановить раньше — второе
нажатие. Отправляет всегда ⏎ — ваш, после того как вы прочитали.
Речь распознаётся на этом Mac, ничего никуда не уходит. Русский и английский в одной фразе — нормально. Для этого нужна модель на 470 МБ: при первом нажатии Savoia спросит Скачать модель распознавания речи?, и без ответа Скачать ничего не качается. Первый запуск после загрузки готовит модель около двадцати секунд, дальше диктовка начинается сразу.
Доступ к микрофону macOS спросит один раз. Если он выключен, микрофон скажет, где его включить: Системные настройки → Конфиденциальность и безопасность.
Пока только на Mac.
Выделили текст
Выделите текст и нажмите ⌘E — строка встанет под выделением, а над ней
появятся действия:
| Объяснить | что здесь сказано, простыми словами — с терминами и сокращениями |
| Пересказать кратко | то же самое, но короче: три предложения или список |
| Что это? | если выделено имя, термин или название |
| Проверить утверждение | на чём оно держится и что должно быть правдой, чтобы оно было ложью |
Если выделено в поле, куда можно писать — в комментарии, в письме, в текстовом редакторе на странице, — первыми идут действия, которые меняют текст: Исправить ошибки, Переписать, Сделать короче, Перевести на английский. Объяснить и Что это? остаются, а пересказ и проверка утверждения — нет: это действия для чужого текста, а не для своего черновика.
Курсор в поле ввода
Пока вы печатаете, Savoia никуда ничего не отправляет. Оставьте курсор в поле и
нажмите ⌘E — строка встанет у поля, а рядом появятся действия:
| Продолжить текст | дописать с того места, где вы остановились |
| Набросать ответ | поле — это ответ на то, что на странице; вот он |
| Причесать написанное | орфография, грамматика и пунктуация по всему полю, словами не своими, а вашими |
Esc возвращает курсор обратно в поле.
Поля с паролями не читаются вообще. Ни содержимого, ни курсора, ни события: страница отбрасывает их у себя, до того как что-то ушло в Savoia. То же для полей, похожих на код подтверждения или номер карты.
Свои действия
К готовым действиям можно добавить свои: Конфигурация ▸ Ассистент ▸ Строка ⌘E ▸ Действия, кнопка Добавить действие….
| Название | то, что написано на действии в строке и по чему оно находится после / |
| Инструкция | что сказать модели — своими словами, на любом языке |
| Применяется к | где действие предлагается: Выделенный текст, Выделенный текст вне поля, Выделенный текст в поле, Курсор в поле, Вся страница |
| Ответ | куда идёт ответ: Показать, Заменить выделенное, Заменить всё поле, Вставить у курсора |
Менять текст страницы может только действие для поля: для выделенного в поле — Заменить выделенное или Заменить всё поле, для курсора — Вставить у курсора или Заменить всё поле. Остальные только показывают ответ.
Свои действия стоят в ряду перед готовыми, в том порядке, что в списке, —
стрелки вверх и вниз в строке действия его меняют. У поля ⏎ сразу после ⌘E
запускает первое из них, так что наверх стоит поднять то, что нужно чаще.
Изменить… и Удалить — там же.
Отвечает на своё действие то же, что и на всё остальное в строке, — модель или
агент. В страницу ответ попадает так же, как у готовых: только по вашему ⏎.
Как ответ попадает в страницу
Сам он туда не попадает никогда. Под ответом появляются кнопки Вставить или
Заменить, и то же делает ⏎ в пустой строке. Текст входит в поле так же,
как если бы его напечатали, поэтому ⌘Z возвращает как было.
Как выключить это целиком
Конфигурация ▸ Ассистент ▸ Использовать языковые модели и агентов — один
переключатель на всё: строку ⌘E, агентов,
глубокое исследование и MCP-сервер Savoia.
Выключено — это не серая кнопка. Строки внизу нет вовсе, команда ⌘E в меню
неактивна, наблюдатель за выделением убирается из страниц (в страницу,
открытую после этого, Savoia не кладёт ничего), а сокет, через который браузером
управляют внешние агенты, закрывается.
Поиск по закладкам и перевод страниц продолжают работать: это не модель, которая с вами разговаривает, а поиск и переводчик.
Спрашивается это один раз, при первом запуске, вкладкой — savoia://welcome.
Если ответить «Да, использовать», следующим шагом там же выбирается, кто
отвечает: «На устройстве», Claude Code, Codex или «Ключ API» (Anthropic или
OpenAI-совместимый сервер) — и сразу настраивается: для агента видно, установлен
ли адаптер, для ключа — поля ключа и адреса. «Готово» ставит выбранное в строку
⌘E. Ответить можно и потом: переключатель на месте всегда.
Какая модель отвечает
| На устройстве | модель системы, ничего не покидает Mac |
| Private Cloud Compute | облако Apple с его гарантиями |
| Claude Sonnet 5 / Opus 5 | по ключу API Anthropic |
| OpenAI-совместимая | что угодно, говорящее в формате /chat/completions: OpenAI, шлюз, или llama.cpp и Ollama прямо на этой машине |
| Claude Code (ACP), Codex (ACP), добавленный агент | ту же строку отвечает агент; разговоры с ним сохраняются в Чатах |
Выбирается это в Конфигурация ▸ Ассистент ▸ Строка ⌘E, список Ассистент. Меню на самой строке — значок слева от поля — переключает агентов и модель, которой агент отвечает, задаёт, в каких закладках искать, и держит Конфигурация… и Новый разговор.
OpenAI-совместимая — это один пункт, а не список моделей, потому что за ним
стоит настройка: savoia://configuration ▸ Ассистент ▸ Строка ⌘E держит адрес сервера,
имя модели и ключ. Локальному серверу ключ не нужен, и пустое поле означает, что заголовок
авторизации не уйдёт вовсе. Ключ Anthropic вводится там же.
Глаголы отвечает то же самое, что и строку ⌘E, — агент в том числе. Одна
выбранная модель отвечает на всё, о чём просят ассистента; ответ агента приходит
дольше и может спросить разрешение, но действия через / работают всегда.
Про ключи честно
Ключи хранятся в настройках приложения — этого достаточно для работы на своей машине, но это не хранилище секретов.
Что ассистент умеет кроме ответа
Ему выданы инструменты браузера — те же, что и агентам: открыть окно, перейти по адресу, прочитать страницу, пересказать её, найти в вебе, закрыть или перенести окно, поискать по вашим закладкам. Поэтому «найди билеты и открой три сайта рядом» — это не метафора, а то, что произойдёт.
В какие закладки он смотрит — задаёт Конфигурация ▸ Основные ▸ Закладки ▸ Искать в или тот же выбор в меню строки: Этот профиль или Все профили.
Команда для исследования
research: … в строке ⌘E, или /research и вопрос после него, запускает
глубокое исследование: группу с источниками и документ, в
который агент пишет ответ.
Команда «сделай»
сделай: … или /do … в строке ⌘E поручает Savoia саму работу на
открытой странице: она смотрит на страницу, нажимает и заполняет поля сама, шаг
за шагом, пока не будет видно, что задача выполнена. Годится для того, что
формулируется одной фразой со всеми нужными значениями — «найди рейс Цюрих →
Лондон на 16 октября, 2 взрослых, бизнес» или «заполни эту форму от имени…».
Ответ — это список шагов: что нажато, что введено, кто это решил и сколько времени заняло. Перед кнопкой, которая платит, бронирует, отправляет заказ или удаляет, Savoia останавливается и говорит, что всё готово: последнее нажатие остаётся за тобой.
Если страница объявила инструменты для агентов (WebMCP), Savoia пользуется ими, а не кнопками, и сначала спрашивает вас — как и для агента. Если не объявила, но у адреса есть значок инструментов, форма заполняется за один шаг.
Решать шаги может быстрая модель-классификатор, если её адрес указан в
Конфигурация ▸ Ассистент ▸ Задачи на странице ▸ Сервер быстрой модели (https://api.openai.com/v1/decisions — OpenAI Decisions
с ключом OpenAI из настроек ассистента, Jev от TypeSafe или свой сервер laya-browser на этой же машине), — тогда очевидные шаги она берёт на себя, а
выбранная модель ассистента пишет текст в поля и разбирает то, в чём
классификатор не уверен. Без этого адреса все шаги решает модель ассистента.
Если модель недоступна
Строка так и скажет — с причиной. Удалённые модели могут быть выключены, если версии Foundation Models в системе и в сборке разошлись; это проверяется при запуске, чтобы приложение не падало на первом же вопросе.