Sonos CLI (sonoscli)

GitHub

通过 CLI 控制局域网内的 Sonos 音箱,支持播放、音量、分组、队列管理、Spotify 集成及场景预设等功能。

Trigger Scenarios

用户需要控制智能音箱播放音乐或调整设置 用户希望自动化管理家庭音响系统的状态

Install

npx skills add composio-community/awesome-agent-clis --skill Sonos CLI (sonoscli) -g -y
More Options

Non-standard path

npx skills add https://github.com/composio-community/awesome-agent-clis/tree/master/sonoscli -g -y

Use without installing

npx skills use composio-community/awesome-agent-clis@Sonos CLI (sonoscli)

指定 Agent (Claude Code)

npx skills add composio-community/awesome-agent-clis --skill Sonos CLI (sonoscli) -a claude-code -g -y

安装 repo 全部 skill

npx skills add composio-community/awesome-agent-clis --all -g -y

预览 repo 内 skill

npx skills add composio-community/awesome-agent-clis --list

SKILL.md

Frontmatter
{
    "name": "Sonos CLI (sonoscli)",
    "description": "CLI to discover and control Sonos speakers over local network — playback, grouping, queue, favorites, scenes, Spotify, and volume. Use when an agent needs to control music playback, manage speaker groups, or play Spotify on Sonos."
}

sonoscli — Control Sonos speakers from your terminal

Modern Go CLI for Sonos speaker control over your local network (UPnP/SOAP).

Installation

brew install steipete/tap/sonoscli

Or build from source:

go install github.com/steipete/sonoscli/cmd/sonos@latest

Requirements

  • Machine must be on the same network as Sonos speakers
  • Speakers reachable on TCP port 1400
  • Spotify must be linked in Sonos app (for Spotify features)

Key Commands

Discovery & Status

sonos discover
sonos discover --format json
sonos status --name "Kitchen"
sonos now --name "Kitchen"

Playback

sonos play --name "Kitchen"
sonos pause --name "Kitchen"
sonos stop --name "Kitchen"
sonos next --name "Kitchen"
sonos prev --name "Kitchen"

Volume & Mute

sonos volume get --name "Kitchen"
sonos volume set --name "Kitchen" 25
sonos mute toggle --name "Kitchen"

Speaker Grouping

sonos group status
sonos group join --name "Bedroom" --to "Living Room"
sonos group unjoin --name "Bedroom"
sonos group solo --name "Office"
sonos group party --to "Bar"          # all speakers join target
sonos group dissolve --name "Living Room"

Queue Management

sonos queue list --name "Kitchen"
sonos queue play --name "Kitchen" 1    # play track at position
sonos queue remove --name "Kitchen" 3
sonos queue clear --name "Kitchen"

Favorites

sonos favorites list --name "Kitchen"
sonos favorites open --name "Kitchen" --index 1
sonos favorites open --name "Kitchen" "BBC Radio 6 Music"

Spotify

# Play a Spotify link
sonos open --name "Kitchen" https://open.spotify.com/track/6NmXV4o6bmp704aPGyTVVG

# Enqueue a playlist
sonos enqueue --name "Kitchen" spotify:playlist:37i9dQZF1DXcBWIGoYBM5M

# Search and play via SMAPI (no Spotify API credentials needed)
sonos play spotify --name "Office" "gareth emery"

# Search via Spotify Web API (needs SPOTIFY_CLIENT_ID/SECRET)
sonos search spotify --type track "daft punk harder better"
sonos search spotify --open --name "Kitchen" "miles davis so what"

Scenes (Presets)

sonos scene save "Evening"
sonos scene apply "Evening"
sonos scene list
sonos scene delete "Evening"

Play Arbitrary URI

sonos play-uri --name "Kitchen" "https://example.com/stream.mp3"
sonos tv --name "Living Room"       # switch to TV input
sonos linein --name "Kitchen" --from "Living Room"

Watch Live Events

sonos watch --name "Kitchen"
sonos watch --name "Kitchen" --format json

Output Modes

  • --format plain (default)
  • --format json
  • --format tsv
  • --debug for trace logs

Configuration

sonos config set defaultRoom "Office"
sonos config set format json
sonos config get

Room targeting supports fuzzy substring matching — --name "Kit" matches "Kitchen".

Version History

  • 9f765d2 Current 2026-07-24 16:04

Same Skill Collection

aws-cli/SKILL.md
coderabbit-cli/SKILL.md
composio-cli/SKILL.md
elevenlabs-cli/SKILL.md
gcloud-cli/SKILL.md
github-cli/SKILL.md
gitlab-cli/SKILL.md
google-workspace-cli/SKILL.md
mailcoach-cli/SKILL.md
neon-cli/SKILL.md
ntn/SKILL.md
planetscale-cli/SKILL.md
posthog-cli/SKILL.md
railway-cli/SKILL.md
ramp-cli/SKILL.md
remotion-cli/SKILL.md
resend-cli/SKILL.md
sendblue-cli/SKILL.md
sentry-cli/SKILL.md
stripe-cli/SKILL.md
stripe-projects-cli/SKILL.md
supabase-cli/SKILL.md
tavily-cli/SKILL.md
turso-cli/SKILL.md
vercel-cli/SKILL.md
visa-cli/SKILL.md
wacli/SKILL.md
kapso-cli/SKILL.md

Metadata

Files
0
Version
9f765d2
Hash
f95cd76f
Indexed
2026-07-24 16:04

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-18 05:03
浙ICP备14020137号-1 $mapa de visitantes$