sonoscli — скилл для Claude Code: управление колонками Sonos
Даёт агенту команду sonos, чтобы находить колонки в локальной сети, менять громкость, собирать группы и запускать плейлисты.
npx skills add openclaw/openclaw --skill sonoscli -a claude-codeЧто делает sonoscli
Скилл ставит бинарь sonos и описывает, как им пользоваться из чата. Дальше агент сам вызывает sonos discover, sonos status --name "Kitchen", sonos play|pause|stop, sonos volume set 15. Группами управляют через sonos group join|unjoin|party|solo, очередью — через sonos queue list|play|clear, избранным — через sonos favorites list|open.
Поиск по Spotify идёт через SMAPI: sonos smapi search --service "Spotify" --category tracks "query". Это необязательная часть, для неё нужны SPOTIFY_CLIENT_ID и SPOTIFY_CLIENT_SECRET. Сам скилл ставится из Go-модуля github.com/steipete/sonoscli/cmd/sonos@latest, так что в системе должен быть Go.
Если sonos discover падает с no route to host, дело в разрешении на локальную сеть: на macOS в Settings -> Privacy & Security -> Local Network его нужно выдать родительскому процессу — node при запуске через launchd, Terminal или Visual Studio Code. Ошибка bind: operation not permitted обычно значит, что агент работает в песочнице без доступа к сети. Ставить стоит тем, у кого Sonos дома или в офисе и кто уже гоняет агента по локальной сети; если колонок нет, скилл просто нечего делать.
Какие задачи решает
- найти все колонки Sonos в локальной сети
- убавить громкость в комнате одной командой
- объединить колонки в группу или развести их обратно
- поставить трек из Spotify по названию
- посмотреть очередь воспроизведения и очистить её
Примеры запросов агенту
- sonos discover и покажи, какие колонки нашлись
- поставь на паузу в Kitchen
- включи плейлист из избранного в гостиной
Как установить sonoscli
1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill sonoscli -a claude-code2Вручную: положить файлы
~/.claude/skills/sonoscli/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/sonoscli/
1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill sonoscli -a codex2Вручную: положить файлы
.agents/skills/sonoscli/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill sonoscli -a cursor2Вручную: положить файлы
.cursor/skills/sonoscli/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install openclaw/openclaw sonoscli2Вручную: положить файлы
.github/skills/sonoscli/SKILL.md1Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill sonoscli -a gemini-cli2Командой платформы
gemini skills install https://github.com/openclaw/openclaw --path skills/sonoscliВручную: положить файлы
.devin/skills/sonoscli/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add openclaw/openclaw --skill sonoscli -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора45
Весь набор →Похожие
Вопросы о sonoscli
Как установить sonoscli в Claude Code?
Командой npx skills add openclaw/openclaw --skill sonoscli -a claude-code. Файл скилла появится по пути ~/.claude/skills/sonoscli/SKILL.md.
Что делает sonoscli?
Управляет колонками Sonos из локальной сети: поиск устройств, статус, play/pause/stop, громкость, группы, избранное и очередь. Всё через бинарь sonos.
Почему `sonos discover` пишет `no route to host`?
На macOS нужно разрешить доступ к локальной сети для родительского процесса: node, Terminal или Visual Studio Code. Альтернатива — запуск в песочнице с доступом к сети.
Исходный текст
SKILL.md · MIT
---
name: sonoscli
description: "Control Sonos speakers (discover/status/play/volume/group)."
homepage: https://sonoscli.sh
metadata:
{
"openclaw":
{
"emoji": "🔊",
"requires": { "bins": ["sonos"] },
"install":
[
{
"id": "go",
"kind": "go",
"module": "github.com/steipete/sonoscli/cmd/sonos@latest",
"bins": ["sonos"],
"label": "Install sonoscli (go)",
},
],
},
}
---
# Sonos CLI
Use `sonos` to control Sonos speakers on the local network.
## Quick start
- `sonos discover`
- `sonos status --name "Kitchen"`
- `sonos play|pause|stop --name "Kitchen"`
- `sonos volume set 15 --name "Kitchen"`
## Common tasks
- Grouping: `sonos group status|join|unjoin|party|solo`
- Favorites: `sonos favorites list|open`
- Queue: `sonos queue list|play|clear`
- Spotify search (via SMAPI): `sonos smapi search --service "Spotify" --category tracks "query"`
## Notes
- If SSDP fails, specify `--ip <speaker-ip>`.
- Spotify Web API search is optional and requires `SPOTIFY_CLIENT_ID/SECRET`.
- If there is an error, check the troubleshooting section and offer advice if there is a decent match.
## Troubleshooting
### `sonos discover` - `no route to host`
- On error `Error: write udp4 0.0.0.0:64326->239.255.255.250:1900: sendto: no route to host (Command exited with code 1)`
- Note that the port number after `0.0.0.0:` is ephemeral and will change and the netmask may not match exactly either
- The `sendto: no route to host` should stay consistent
- Advise the user that in `direct` (no Docker sandbox) mode on Mac OS that Settings -> Privacy & Security -> Local Network will need to be enabled for the top-level host parent process of the Gateway
- `node` if running via `launchd`
- `Terminal` if running the gateway directly in the terminal
- `Visual Studio Code` if running via terminal in VS Code
- An alternative option is to use `sandbox` (docker container) with network access allowed for that sandbox
### `sonos discover` - `bind: operation not permitted`
- On error `Error: listen udp4 0.0.0.0:0: bind: operation not permitted`
- Advise the user that they may be running via a Codex or other sandbox that does not permit network access (this can be replicated by running `sonos discover` within a Codex CLI session with sandbox enabled and not approving the escalation request)
© openclaw · MIT · openclaw/openclaw