Sonos扬声器控制工具Skill sonoscli

Sonos CLI 是一个命令行工具,用于在局域网内发现、管理和控制 Sonos 智能音箱。它支持播放控制(播放/暂停/停止)、音量调节、扬声器分组、管理收藏夹和播放队列,并能通过 Spotify 等音乐服务进行搜索。适用于家庭自动化、智能家居集成和音响系统管理场景。关键词:Sonos 控制,命令行工具,智能音箱管理,局域网控制,音乐播放,音量调节,扬声器分组,家庭自动化。

其他 0 次安装 0 次浏览 更新于 2/24/2026

name: sonoscli description: 控制 Sonos 扬声器(发现/状态/播放/音量/分组)。 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”: “安装 sonoscli (go)”, }, ], }, }

Sonos 命令行工具

使用 sonos 命令控制本地网络上的 Sonos 扬声器。

快速开始

  • sonos discover
  • sonos status --name "厨房"
  • sonos play|pause|stop --name "厨房"
  • sonos volume set 15 --name "厨房"

常用任务

  • 分组: 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 "查询内容"

注意事项

  • 如果 SSDP 失败,请指定 --ip <扬声器-ip>
  • Spotify Web API 搜索是可选的,需要配置 SPOTIFY_CLIENT_ID/SECRET 环境变量。
  • 如果出现错误,请查看故障排除部分,如果匹配度高,请提供建议。

故障排除

sonos discover - no route to host

  • 当出现错误 Error: write udp4 0.0.0.0:64326->239.255.255.250:1900: sendto: no route to host (Command exited with code 1)
    • 请注意 0.0.0.0: 后面的端口号是临时的,会变化,子网掩码也可能不完全匹配
    • sendto: no route to host 这部分信息应该是一致的
  • 建议用户,在 Mac OS 的 direct(非 Docker 沙箱)模式下,需要为网关的顶级父进程启用 设置 -> 隐私与安全性 -> 本地网络 权限
    • 如果是通过 launchd 运行,则为 node 进程
    • 如果直接在终端运行网关,则为 Terminal 应用
    • 如果通过 VS Code 内的终端运行,则为 Visual Studio Code 应用
  • 另一种选择是使用允许网络访问的 sandbox(docker 容器)模式

sonos discover - bind: operation not permitted

  • 当出现错误 Error: listen udp4 0.0.0.0:0: bind: operation not permitted
  • 建议用户,他们可能正在通过 Codex 或其他不允许网络访问的沙箱中运行(可以通过在启用沙箱的 Codex CLI 会话中运行 sonos discover 且不批准权限提升请求来复现此问题)