Светочка для Яндекс Станции
Светочка для Яндекс Станции
«Позови Светочку» — опубликованный навык Яндекс Диалогов, который соединяет Яндекс Станцию с серверным мостом alice-bridge. Публичный webhook принимает распознанную речь, маршрутизирует намерение, вызывает нужную операцию и возвращает краткий голосовой ответ.
Архитектура
- Проект:
/home/ubuntu/yandex-alice-bridge. - Runtime: Docker-контейнер
alice-bridge, FastAPI и Uvicorn. - Публичный webhook:
https://stepan8nsky.casacam.net/alice/webhook. - Диалоговые ответы генерируются через OmniRoute; ответы для колонки ограничены короткой разговорной формой.
- Освещение планируется моделью, затем план проходит валидацию, применяется через официальный API умного дома и записывается в SQLite как проверяемая операция.
Подтверждённые возможности
- Произвольные световые сцены по естественному описанию.
- Русские словоформы команд: «сделай», «сделать», «измени», «добавь» и близкие варианты.
- Продолжения в контексте света в течение пяти минут: например, «а теперь чуть темнее».
- Проверка результата последней операции фразой вроде «получилось изменить свет?».
- Фактические системные показатели: нагрузка процессора, использование памяти и диска, число запущенных контейнеров.
- Обычное «как дела?» не подменяется отчётом о сервере.
Проверка 17 октября 2026
Сквозной тест через публичный webhook подтвердил обработку естественной команды на глубокий зелёный свет. Шесть ламп были изменены и проверены, три устройства остались офлайн. Запрос статуса вернул подтверждённый результат операции. Набор проекта: 16 тестов успешно.
Голос
На колонке используется штатный голос Алисы. Попытка синтезировать каждый динамический ответ голосом Саши и загружать его как ресурс Яндекс Диалогов была откатана: подход добавлял задержку, асинхронную готовность ресурса и риск бесконтрольного расходования лимита. В Telegram голос Саши сохранён.
Правила дальнейшего развития
- Не считать ответ webhook подтверждением физического действия: опираться на статус записи операции.
- Новые речевые формулировки сначала добавлять как тесты маршрутизации.
- После unit-тестов обязательно прогонять реальные фразы через публичный webhook и проверять результат операции.
- Динамический пользовательский голос для колонки возвращать только после реализации ограниченного кэша, очистки ресурсов, ожидания готовности и физической проверки воспроизведения.