Озвучка на Яндекс Станции голосом Алисы
yandex-station-speak
Скилл озвучивает текст на Яндекс Станции голосом Алисы по протоколу Glagol: пауза музыки, громкость 80%, аккуратный возврат
Низкий риск
Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.
Почему такой уровень
- Скилл только произносит фразу и временно меняет громкость колонки
- Токен MUSIC_TOKEN дает доступ к управлению устройством и хранится локально
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/yandex-station-speakОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a claude-code -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a cursor -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a github-copilot -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a codex -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a gemini-cli -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a cline -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a roo -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Форк Roo Code, папки .roo те же.
Выполните в терминале в папке проекта
npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a opencode -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Создай ~/.hermes/skills/smart-home/yandex-station-speak, положи туда SKILL.md, speak.sh, scripts/tts_dialog.py и env.example, заполни .env значениями MUSIC_TOKEN, DEVICE_ID, DEVICE_PLATFORM и STATION_IP, затем вызывай speak.sh 'текст'.
Другие способы из описания автора
git clone https://github.com/Realmagnum/yandex-station-speak.git
cd yandex-station-speak
bash install.shСкрипт раскладывает файлы в ~/.claude/skills/speak и создает .env из env.example, после этого нужно заполнить MUSIC_TOKEN и DEVICE_ID.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл отправляет фразу до 500 символов на колонку Яндекс Станция через протокол Glagol по WebSocket на порту 1961, голосом Алисы. Перед озвучкой музыка ставится на паузу, громкость поднимается до 80%, после фразы громкость и музыка возвращаются в исходное состояние, а если колонка молчала, музыка не запускается заново благодаря детекту hasPause. Проект открыто назван эволюцией более раннего скилла claude-skill-yandex-tts: сохранена протокольная основа, добавлен полный звуковой цикл с прерыванием и восстановлением музыки.
Для кого. Для тех, кто хочет получать голосовые уведомления от агента на домашней Яндекс Станции без перебивания музыки навсегда.
Подходит, если
- Нужно озвучить короткий статус или уведомление на колонку во время фоновой музыки
- Нужен аккуратный звуковой цикл: пауза, фраза, возврат громкости и музыки
- Работаете в связке с Hermes Agent и уже используете его схему скиллов
Не подходит, если
- Нужен длинный текст: лимит 500 символов, без кода, JSON и спецсимволов
- Колонка недоступна в локальной сети рабочего хоста и нет способа проброса по ssh
Пример запроса к агенту
Озвучь на колонке фразу: тесты прошли успешно, деплой запущенОграничения
Рабочий MUSIC_TOKEN получают только через oauth.mobile.yandex.net, а не через эндпоинт из оригинального README, который отдает 403. Нужен Python 3.10+, на macOS системный python3 часто 3.9 и не подходит. Colонка должна быть в той же локальной сети, что и хост, либо доступна через ssh на сервер, где она видна.
Как отключить. Удалите каталог ~/.hermes/skills/smart-home/yandex-station-speak и файл .env с токенами.
Проверка безопасности
- Скилл только произносит фразу и временно меняет громкость колонки
- Токен MUSIC_TOKEN дает доступ к управлению устройством и хранится локально
Коротко о README
README описывает полный звуковой цикл озвучки, дает установку в ~/.hermes/skills, шаблон .env с MUSIC_TOKEN, DEVICE_ID, DEVICE_PLATFORM и STATION_IP, предупреждает про рабочий эндпоинт получения токена и версию Python на macOS, показывает прямой вызов, вызов через ssh и ручной вызов python-скрипта с флагами --pause и --volume.
SKILL.md
--- name: yandex-station-speak description: Озвучка текста на колонку Яндекс Мини через Алису. --- # Озвучка на Яндекс Станцию (с поддержкой Glagol) Отправляет текст на колонку Яндекс Станция голосом Алисы через протокол Glagol (WSS, порт 1961). Решает: пауза музыки, подъем громкости до 80% для озвучки, возврат громкости и музыки после. ## Ключевые факты - Колонка: Яндекс Станция с поддержкой Glagol (проверено на Станции Мини 2). Свои deviceId, platform и статический IP берутся из .env. - Прямое подключение работает, когда рабочий хост в локальной сети колонки. Если хост не в этой сети, есть резерв через SSH на сервер, где колонка доступна. - Рабочий MUSIC_TOKEN получается только через https://oauth.mobile.yandex.net/1/token, эндпоинт из оригинального README дает 403. ## Команда для озвучки (полный цикл) ~/.hermes/skills/smart-home/yandex-station-speak/speak.sh 'ТЕКСТ ФРАЗЫ' Порядок в полном цикле: пауза, громкость 0.8, озвучка, ожидание конца фразы, возврат громкости, пауза 1 секунда, продолжение музыки.
Частые вопросы
Почему не работает эндпоинт из старого README?
oauth.yandex.ru/token отдает 403 USER_IS_NOT_AUTHORIZED_FOR_API, рабочий токен дает только oauth.mobile.yandex.net/1/token.
Что если колонка играла музыку до озвучки?
Музыка ставится на паузу, громкость поднимается до 80%, после фразы оба параметра возвращаются, детект hasPause не включает музыку заново, если ее не было.
Похожие
Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам
CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие
Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP
Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI