Agent Skills
› spinabot/brigade
› sonoscli
sonoscli
GitHub用于控制局域网内的 Sonos 音箱,支持设备发现、状态查询、播放控制、音量调节及分组管理。同时提供收藏夹、队列操作和 Spotify 搜索功能,并附带针对 macOS 网络权限等常见错误的故障排除指南。
Trigger Scenarios
用户需要控制 Sonos 音箱的播放、暂停或停止
用户希望调整 Sonos 音箱的音量或查看设备状态
用户想要将多个 Sonos 音箱进行分组或解组
用户尝试在 Sonos 设备上搜索或播放 Spotify 音乐
用户遇到 Sonos 设备发现失败或网络连接错误
Install
npx skills add spinabot/brigade --skill sonoscli -g -y
SKILL.md
Frontmatter
{
"name": "sonoscli",
"homepage": "https:\/\/sonoscli.sh",
"metadata": {
"brigade": {
"emoji": "🔊",
"install": [
{
"id": "go",
"bins": [
"sonos"
],
"kind": "go",
"label": "Install sonoscli (go)",
"module": "github.com\/steipete\/sonoscli\/cmd\/sonos@latest"
}
],
"requires": {
"bins": [
"sonos"
]
}
}
},
"description": "Control Sonos speakers (discover\/status\/play\/volume\/group)."
}
Sonos CLI
Use sonos to control Sonos speakers on the local network.
Quick start
sonos discoversonos 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 hostshould stay consistent
- Note that the port number after
- 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 Gatewaynodeif running vialaunchdTerminalif running the gateway directly in the terminalVisual Studio Codeif 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 the agent or other sandbox that does not permit network access (this can be replicated by running
sonos discoverwithin a the agent CLI session with sandbox enabled and not approving the escalation request)
Version History
- db99206 Current 2026-07-05 10:59


