codecamp

OpenClaw Skills Sonos CLI(Sonos 命令行控制器)

一款轻量、极速、无依赖的 Sonos 音响命令行控制工具,支持所有 Sonos 设备,自动发现、无需配置、开箱即用。

支持:播放/暂停、上一曲/下一曲、音量控制、静音、音源切换、房间分组、语音播报(TTS)、收藏夹、闹钟等。

👤 作者:Peter Steinberger
👉 Skills 下载地址:sonoscli-1.0.0.zip

安装

## 通过 Homebrew 安装 Sonos 命令行工具
brew install steipete/tap/sonoscli


## 验证安装
sonoscli --version

基础使用(自动发现设备)

## 列出当前局域网内所有 Sonos 设备
sonoscli list


## 播放(默认设备)
sonoscli play


## 暂停
sonoscli pause


## 下一曲
sonoscli next


## 上一曲
sonoscli previous


## 停止播放
sonoscli stop

指定设备操作

## 控制“客厅”音响播放
sonoscli play "客厅"


## 控制“卧室”音响暂停
sonoscli pause "卧室"


## 控制“书房”音响下一曲
sonoscli next "书房"

音量控制

## 获取当前音量
sonoscli volume


## 设置音量为 30(0-100)
sonoscli volume 30


## 音量+5
sonoscli volume +5


## 音量-5
sonoscli volume -5


## 静音
sonoscli mute


## 取消静音
sonoscli unmute

音源 / 播放模式

## 列出所有可用音源
sonoscli sources


## 切换到 AirPlay 音源
sonoscli source "AirPlay"


## 切换到 Spotify Connect
sonoscli source "Spotify"


## 开启随机播放
sonoscli shuffle on


## 关闭随机播放
sonoscli shuffle off


## 开启循环播放
sonoscli repeat on


## 关闭循环播放
sonoscli repeat off

房间分组(多房间同步)

## 将“卧室”加入“客厅”(客厅为主设备)
sonoscli group "客厅" "卧室"


## 将“书房”加入“客厅”
sonoscli group "客厅" "书房"


## 取消所有分组
sonoscli ungroup all


## 单独取消“卧室”分组
sonoscli ungroup "卧室"

TTS 语音播报(超实用)

## 让客厅音响语音播报:“你好,欢迎回家”
sonoscli say "你好,欢迎回家" "客厅"


## 播报并指定音量(20)
sonoscli say "外卖已送达" "客厅" --volume 20

播放收藏 / 我的音乐

## 列出收藏的电台/歌单
sonoscli favorites


## 播放指定收藏(如“轻音乐”)
sonoscli favorite "轻音乐" "客厅"

播放状态查询

## 查看当前播放状态
sonoscli status


## 查看当前播放歌曲信息
sonoscli track

闹钟与定时

## 列出所有闹钟
sonoscli alarms


## 设置闹钟:每天早上 7:30 播放
sonoscli alarm add "07:30" daily "客厅"


## 删除指定闹钟
sonoscli alarm remove "闹钟ID"

完整命令速查表

命令 功能
sonoscli list 列出所有 Sonos 设备
sonoscli play 播放
sonoscli pause 暂停
sonoscli next 下一曲
sonoscli previous 上一曲
sonoscli volume 40 设置音量 40
sonoscli mute 静音
sonoscli group 主设备 从设备 房间分组
sonoscli say "文字" 房间 语音播报
sonoscli favorite "名称" 播放收藏
sonoscli status 查看播放状态

工具特点

自动发现设备,无需手动输入 IP
零配置、无依赖,开箱即用
支持所有 Sonos 设备(Play:1/3/5、Arc、Beam、Move、Roam 等)
全功能控制:播放、音量、分组、TTS、音源、收藏、闹钟
极快响应(本地网络控制,延迟 < 0.1 秒)
支持脚本自动化(智能家居、自动化播报)

官方信息

  • 技能地址:https://clawhub.ai/steipete/sonoscli
  • 适用平台:macOS / Linux
  • 安装命令:brew install steipete/tap/sonoscli

Sonos 命令行工具使用指南

使用 sonos 命令控制局域网内的 Sonos 音响设备。

快速上手

## 发现局域网内所有 Sonos 设备
sonos discover


## 查看指定设备(厨房)的播放状态
sonos status --name "厨房"


## 播放 / 暂停 / 停止(指定设备:厨房)
sonos play --name "厨房"   # 播放
sonos pause --name "厨房"  # 暂停
sonos stop --name "厨房"   # 停止


## 设置音量(数值 0-100)
sonos volume set 15 --name "厨房"

常用功能

## 设备分组管理
sonos group status   # 查看分组状态
sonos group join     # 加入分组
sonos group unjoin   # 退出分组
sonos group party    # 派对模式(全设备同步播放)
sonos group solo     # 单独播放(取消同步)


## 收藏音乐/电台
sonos favorites list  # 列出收藏列表
sonos favorites open  # 播放收藏内容


## 播放队列
sonos queue list   # 查看播放队列
sonos queue play   # 播放队列
sonos queue clear  # 清空队列


## Spotify 搜索播放(通过 SMAPI 接口)
sonos smapi search --service "Spotify" --category tracks "搜索关键词"

使用说明

## 如果自动发现(SSDP)失败,可手动指定设备 IP 地址
sonos status --ip 192.168.1.100


## Spotify 网页搜索为可选功能,需要配置:
## SPOTIFY_CLIENT_ID 和 SPOTIFY_CLIENT_SECRET 环境变量
OpenClaw Skills 主动式智能体(Proactive Agent)
OpenClaw Skills Notion CLI(Notion 命令行控制器)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }