yandex-station-speak

A skill speaks text on a Yandex Station in Alice's voice over the Glagol protocol: pauses music, raises volume to 80%, restores it cleanly

Skill

Low risk

We rate an entry low when it mostly gives the agent instructions and reference material.

Why this level

  • The skill only speaks a phrase and temporarily changes the speaker's volume
  • The MUSIC_TOKEN grants device control and is stored locally
All reasons and checks
Russian stack

realmagnum/yandex-station-speak

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/yandex-station-speak

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a claude-code -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a cursor -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a github-copilot -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a codex -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a gemini-cli -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a cline -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a roo -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

A fork of Roo Code, same .roo folders.

Run in a terminal in the project folder

npx skills add realmagnum/yandex-station-speak --skill yandex-station-speak -a opencode -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

You will need: Node.js

Checked against the repository on Sep 25, 2026, commit c61a7aa.

Text for your agent

Create ~/.hermes/skills/smart-home/yandex-station-speak, place SKILL.md, speak.sh, scripts/tts_dialog.py and env.example there, fill .env with MUSIC_TOKEN, DEVICE_ID, DEVICE_PLATFORM and STATION_IP, then call speak.sh 'text'.

Other ways from the author
git clone https://github.com/Realmagnum/yandex-station-speak.git
cd yandex-station-speak
bash install.sh

The script lays out files into ~/.claude/skills/speak and creates .env from env.example; after that you fill in MUSIC_TOKEN and DEVICE_ID.

This is third-party code. Review the repository files before installing.

What it does

The skill sends a phrase of up to 500 characters to a Yandex Station speaker over the Glagol WebSocket protocol on port 1961, in Alice's voice. Before speaking, music is paused and volume raised to 80%; after the phrase, volume and music are restored, and if the speaker was silent beforehand, music does not start again thanks to an hasPause detector. The project openly calls itself an evolution of an earlier skill, claude-skill-yandex-tts, keeping the same protocol base and adding a full audio cycle with music interruption and restoration.

Who it is for. For people who want voice notifications from an agent on a home Yandex Station without permanently interrupting the music.

Good fit when

  • You need to speak a short status or notification on the speaker while music plays in the background
  • You need a clean audio cycle: pause, phrase, then restore volume and music
  • You work with Hermes Agent and already use its skill layout

Not a fit when

  • You need a long text: the limit is 500 characters, no code, JSON or special characters
  • The speaker is unreachable on the working host's local network and there is no ssh forwarding option

Example request

Speak this phrase on the speaker: tests passed, deployment started

Limitations

A working MUSIC_TOKEN is only issued via oauth.mobile.yandex.net, not the endpoint from the original README, which returns 403. It needs Python 3.10+; on macOS the system python3 is often 3.9 and does not work. The speaker must be on the same local network as the host, or reachable via ssh to a server that can see it.

How to disable. Delete the ~/.hermes/skills/smart-home/yandex-station-speak folder and the .env file with tokens.

Security check

  • The skill only speaks a phrase and temporarily changes the speaker's volume
  • The MUSIC_TOKEN grants device control and is stored locally

README in short

The README describes the full audio speak cycle, gives a ~/.hermes/skills install, a .env template with MUSIC_TOKEN, DEVICE_ID, DEVICE_PLATFORM and STATION_IP, warns about the working token endpoint and the Python version on macOS, and shows a direct call, an ssh call, and a manual python script call with --pause and --volume flags.

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 секунда, продолжение музыки.

FAQ

Why doesn't the old README's endpoint work?

oauth.yandex.ru/token returns 403 USER_IS_NOT_AUTHORIZED_FOR_API; a working token only comes from oauth.mobile.yandex.net/1/token.

What if the speaker was already playing music?

Music is paused and volume raised to 80%; after the phrase both are restored, and the hasPause detector avoids restarting music that was not playing.

Official

A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes

MCP serverMedium risk46.5KRepository stars
Editors’ pick

A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more

CLIHigh risk31.2KRepository stars
Editors’ pick

Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server

CLIMedium riskNo VPN needed30.1KRepository stars
Editors’ pick

A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI

MCP serverMedium risk28.1KRepository stars
Foxx AIyandex-station-speak

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.