核心用法
sonoscli 是一款专为 Sonos 智能音箱设计的轻量级命令行控制工具,基于 Go 语言开发,可在局域网内快速发现并操控音箱设备。
基础功能:
- 设备发现:
sonos discover自动扫描局域网内所有 Sonos 设备 - 状态查询:
sonos status查看指定音箱的播放状态 - 播放控制:
sonos play|pause|stop实现基本媒体控制 - 音量调节:
sonos volume set <0-100>精确设置音量
进阶特性:
- 分组管理:支持
join/unjoin/party/solo等多音箱协同模式,一键开启全屋派对模式 - 收藏夹操作:快速浏览并播放预设收藏内容
- 队列管理:查看、播放或清空当前播放队列
- Spotify 集成:通过 SMAPI 协议搜索 Spotify 曲库(需指定服务名称)
故障排查:当 SSDP 自动发现失败时,可手动指定 --ip 参数直连音箱 IP。
显著优点
1. 零 GUI 依赖:纯命令行交互,适合 SSH 远程管理或脚本自动化
2. 快速响应:Go 编译产物性能优异,操作延迟低
3. 分组逻辑完善:派对模式 (party) 和独占模式 (solo) 设计直观
4. 扩展性:可选 Spotify Web API 集成,满足高级搜索需求
潜在局限
- 网络依赖:完全依赖局域网 SSDP 发现,跨网段或复杂网络环境需手动指定 IP
- Spotify 配置门槛:Web API 搜索需额外申请
CLIENT_ID/SECRET,非开箱即用 - 平台限制:仅支持 Sonos 生态,无法跨品牌控制其他音箱
- 功能深度:相比官方 App,缺少均衡器调节、立体声对等高级设置
适合人群
- 智能家居自动化爱好者(配合 Home Assistant 等系统)
- 习惯终端操作的开发者和技术用户
- 需要批量管理多房间音箱的场景(如民宿、办公空间)
- 追求极简控制、拒绝臃肿官方 App 的用户
常规风险
- 网络暴露风险:若将控制脚本部署在公网服务器,需确保 Sonos 设备不直接暴露
- SSDP 可靠性:某些路由器可能过滤 SSDP 广播,导致自动发现失败
- Spotify 凭据管理:Web API 密钥需安全存储,避免硬编码在共享脚本中