用途:Sonos CLI(命令 sonos)用于在本地网络中控制 Sonos 音箱,覆盖设备发现、状态查询、播放控制、音量调节与分组管理等常见操作。
主要能力:
- 发现与状态:sonos discover;sonos status --name "Kitchen"
- 播放控制:sonos play|pause|stop --name "Kitchen"
- 音量:sonos volume set 15 --name "Kitchen"
- 分组:sonos group status|join|unjoin|party|solo
- 收藏:sonos favorites list|open
- 队列:sonos queue list|play|clear
- Spotify 搜索(经 SMAPI):sonos smapi search --service "Spotify" --category tracks "query"
使用方式:在可访问音箱所在局域网的终端中运行上述命令,用 --name 指定音箱名称。若 SSDP 发现失败,可改用 --ip <speaker-ip> 指定音箱 IP。Spotify Web API 搜索为可选项,需要 SPOTIFY_CLIENT_ID/SECRET。
限制与排错:
- 报错 no route to host 时,在 Mac OS 直接模式(非 Docker 沙箱)下需为网关的顶层宿主父进程开启“设置 -> 隐私与安全性 -> 本地网络”,例如通过 launchd 运行时的 node、直接在终端运行时的 Terminal、或在 VS Code 终端中运行时的 Visual Studio Code;也可改用允许网络访问的 Docker 沙箱。
- 报错 bind: operation not permitted 时,可能运行在 Codex 等不允许网络访问的沙箱中,需批准提权请求或调整沙箱网络权限。
- 遇到错误时可参考排错部分,并在有合适匹配时给出建议。
适用场景:适合在家庭或办公局域网中通过命令行批量或脚本化控制 Sonos 音箱。具体平台支持范围、安装方式与更多细节暂未提供。