Главная / Блог / Алиса, которая говорит первой: Home Assistant, n8n и AI-агент вместо голосовых команд

Алиса, которая говорит первой: Home Assistant, n8n и AI-агент вместо голосовых команд

Обычная колонка с Алисой только отвечает на вопросы. Мы за один день собрали на Home Assistant, n8n и своём AI-агенте две вещи: Алиса отвечает по нашим задачам и заметкам, а любая система может сама заставить её заговорить. Рассказываем, как это устроено, почему ответ приходит в два шага и где проходит граница.

Home AssistantАлисаn8nAI-агентумный домуведомления

Коротко. Мы хотели, чтобы колонка с Алисой стала голосом нашей инфраструктуры: сама сообщала, когда что-то произошло, и отвечала на вопросы по задачам и заметкам. Собрали это из Home Assistant на ноутбуке, сценария в n8n и AI-агента Hermes в песочнице. Сейчас работают два направления: вопрос голосом получает ответ за 20–30 секунд, а любой скрипт отправляет текст на вебхук, и через пять секунд колонка его произносит. Ниже про решения, которые пришлось принять, и про ограничения, с которыми мы живём.

Схема: колонка Алиса → навык Яндекса → n8n → AI-агент → очередь ответов → Home Assistant на ноутбуке → снова колонка
Схема: колонка Алиса → навык Яндекса → n8n → AI-агент → очередь ответов → Home Assistant на ноутбуке → снова колонка

Задача: колонка, которая умеет только отвечать

У нас дома стоит Станция Мини, и через неё уже работает умный дом Яндекса: чайник, телевизор, робот-пылесос. Но Алиса устроена так, что говорит только в ответ на фразу. Узнать, что ночной бэкап не прошёл или что пылесос застрял, можно было только в Telegram, а телефон не всегда под рукой.

Нам нужны были две вещи. Первая: чтобы колонка первой говорила о событиях, без нашего вопроса. Вторая: чтобы на вопрос «какие задачи по проекту на этой неделе» отвечал не поиск Яндекса, а агент, который видит наш таск-трекер и заметки.

Home Assistant как мост к колонке

Начали с Home Assistant 2026.11 в Docker на MacBook. Колонку подключили интеграцией YandexStation: в этой версии HACS больше не нужен, интеграция ставится из встроенного каталога. После этого у Home Assistant появляется объект «Станция Мини», и одна команда заставляет её произнести любой текст. Тот же вызов с другим типом выполняет текст как голосовую команду, например «включи музыку».

Docker на macOS работает в своей виртуальной машине, поэтому автопоиск устройств в сети не видит. Пылесос, плеер и колонку добавляли по аккаунтам и IP-адресам вручную. Ноутбук при этом должен не засыпать. С закрытой крышкой он работает, только когда подключены зарядка и внешний монитор.

Почему ответ приходит в два шага

Вопросы голосом мы приняли через приватный навык в Яндекс Диалогах. Навык отправляет распознанный текст на вебхук n8n, а Яндекс ждёт ответа около трёх секунд. Агенту с инструментами этого мало: в наших тестах ответ по задачам занимал около 25–30 секунд.

Поэтому разделили ответ на два шага. n8n сразу, примерно за 0,6 секунды, отвечает навыку «Принял, сейчас узнаю» и закрывает сессию. Дальше вопрос уходит агенту, а его ответ попадает в очередь (таблица данных n8n) и копией в Telegram. Если оставить сессию навыка открытой на всё время ожидания, колонка была бы занята и не смогла бы произнести сам ответ.

Обратный путь: ноутбук сам забирает ответы

Тут было главное архитектурное решение. Сервер с n8n не может достучаться до ноутбука: тот стоит дома за роутером. Зато ноутбук свободно ходит наружу. Поэтому Home Assistant раз в пять секунд спрашивает у n8n, нет ли готовых ответов, и если есть, отдаёт их колонке.

ВариантПочему не выбрали
Открыть Home Assistant в интернетещё одна дверь в домашнюю сеть ради одной функции
Держать туннель с сервера домойрвётся при смене сети и сне ноутбука
Опрос очереди с ноутбукавыбрали: наружу ничего не открыто, задержка до 5 секунд

У опроса есть цена: около 17 тысяч запусков сценария в сутки. Когда мы на время отладки включили сохранение запусков, за три минуты в журнале n8n набралось 45 одинаковых записей. Мы вынесли очередь в отдельный сценарий и отключили у него сохранение успешных запусков. Настоящие вопросы к агенту логируются как раньше.

Эта же очередь и делает колонку проактивной. Мы добавили второй вебхук «Сказать»: любая система отправляет на него текст, он ложится в ту же очередь, и колонка произносит его в течение пяти секунд. Для Алисы нет разницы, ответ это на вопрос или сообщение от скрипта.

Агент в песочнице

На вопросы отвечает Hermes, open-source агент, который у нас уже работал в Telegram. Для голоса мы завели ему отдельный профиль. Распознанная с ошибкой фраза не должна ничего сломать, поэтому профиль работает в Docker-контейнере, где смонтирована только папка с заметками и только на чтение. Задачи он видит через MCP нашего трекера OKRFlow и может завести новую, когда мы просим.

Мы проверили изоляцию прямо: попросили агента записать файл в заметки и во временную папку. Запись в заметки ядро отклонило с ошибкой «Read-only file system», а временный файл остался внутри контейнера, на сервере его не оказалось. У профиля свой ключ доступа, а ключ основного агента с полными правами в n8n не передаётся.

Отдельно пришлось учить агента краткости. Первые ответы были по 50–60 слов, это почти минута речи. Правило «одно-два предложения, до 20 слов, при нескольких пунктах число и один-два главных» сократило их до 20 слов: «В Saler пять открытых задач. Главная: договор с логистикой завтра».

Что получилось

Вопрос «Алиса, попроси Домового, когда договор с логистикой» даёт мгновенное «Принял» и через полминуты короткий ответ с колонки, плюс то же сообщение в Telegram. Вебхук «Сказать» проверили тестовым сигналом: текст от скрипта прозвучал на колонке через несколько секунд. Похожий подход к домашнему железу без открытых портов мы описывали в статье про включение ПК из отпуска, а про то, как устроен сам агент, в статье про агента вместо сценария.

Честные ограничения

  • Мониторинг пока не подключён к голосу. Канал готов и проверен, но тревоги бэкапов и серверов по-прежнему приходят только в Telegram. Перед подключением нужно решить тихие часы, чтобы колонка не будила ночью.
  • Ноутбук должен работать. Если он спит, ответ не прозвучит, но придёт в Telegram и дождётся в очереди.
  • Распознавание ошибается. Навык мы назвали «Домовой», и Яндекс один раз услышал «запусти фильм домовой». Имя навыка лучше выбирать без омонимов.
  • Каждый вопрос отдельный. Навык закрывает сессию после «Принял», поэтому уточнять приходится новой фразой через имя навыка.
  • Задержка 20–60 секунд. Для справок нормально, для «включи свет» лучше обычные команды Алисы.

FAQ

Можно ли обойтись без ноутбука? Да, Home Assistant можно поставить на Raspberry Pi или мини-ПК. Мы начали на ноутбуке, потому что он был под рукой, но для круглосуточной работы отдельное устройство надёжнее.

Почему не открыть Home Assistant наружу и не слать команды напрямую? Опрос с ноутбука не требует ни одного открытого порта в домашней сети. Задержка до пяти секунд для голосовых уведомлений нас устраивает.

Нужен ли платный навык или публикация в каталоге Яндекса? Нет. Приватный навык публикуется без модерации и доступен только своему аккаунту, а n8n дополнительно отклоняет запросы от чужих аккаунтов.

Что агент может сделать голосом? Сейчас: ответить по задачам и заметкам, найти что-то в интернете и завести задачу в трекере. Доступа к серверам у голосового профиля нет.

→

Читать дальше

Все статьи →

AI-ассистент для бизнеса: как снять с администратора запись, напоминания и ответы клиентам

Ассистент, который только отвечает, оставляет человеку самое трудоёмкое: записать, напомнить, позвать снова. Мы добавили в GraphRAG модуль «Клиенты» с услугами, расписанием и сценариями, подключили Telegram, Max и виджет на сайт, а для обычных аккаунтов компании написали отдельный шлюз. Рассказываем, какие решения приняли, что пришлось выбросить и где граница.

Читать →

Агент вместо сценария: как мы описали логику AI-ассистента данными и проверили его на 300 вопросах

Ассистента по базе знаний обычно собирают конвейером «роутер → поиск → ответ», и каждый новый тип вопроса добавляет ветку. В GraphRAG мы заменили конвейер агентом с восемью инструментами, а всё, что должно происходить всегда, вынесли в JSON-харнес с версиями и тестами. Как это устроено, что показало сравнение на 300 вопросах и где агент пока проигрывает.

Читать →

Локальный AI-монтажёр: как ноутбук разбирает медиатеку и собирает ролик под музыку по текстовому запросу

После поездки осталась сотня роликов с телефона и десяток треков, а монтаж откладывался неделями. Написал приложение, которое само разбирает медиатеку локальной VL-моделью, размечает музыку по тактам и по одной фразе собирает черновой клип на таймлайн. Что умеет, на какие грабли наступил и чего оно делать не будет.

Читать →