sonos-control

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Sonos Control

Sonos控制

Overview

概述

This skill provides comprehensive control over Sonos speaker systems through MCP tools. Use it to search for and play music, manage playback queues and playlists, control volume, and switch between speakers. The skill handles both simple requests ("play some Neil Young") and complex multi-step workflows ("create a mix of 5 tracks from these artists").
本Skill可通过MCP工具对Sonos音箱系统进行全面控制。你可以用它搜索并播放音乐、管理播放队列和播放列表、控制音量以及切换音箱。该Skill既能处理简单请求(如“播放一些Neil Young的歌”),也能完成复杂的多步骤工作流(如“从这些歌手中选5首歌创建一个混音列表”)。

Core Principle: Multi-Step Workflows

核心原则:多步骤工作流

Most music requests require multiple tool calls in sequence. Execute workflows automatically without asking permission at each step - just complete the workflow and confirm the result.
Critical Rule: Search results are ephemeral. After using
search_for_track
or
search_for_album
, immediately select and add desired tracks/albums to the queue before executing another search, as each new search clears previous results.
大多数音乐请求需要依次调用多个工具。自动执行工作流,无需在每一步都请求许可——只需完成工作流并确认结果即可。
**重要规则:**搜索结果是临时的。在使用
search_for_track
search_for_album
后,必须立即选择并将所需曲目/专辑添加到队列中,再执行下一次搜索,因为每次新搜索都会清除之前的结果。

Available MCP Tools

可用的MCP工具

Speaker Management

音箱管理

  • sonos:get_master_speaker
    - Get current active speaker name
  • sonos:set_master_speaker
    - Switch to a different speaker (e.g., "Bedroom", "Kitchen")
  • sonos:get_master_speaker
    - 获取当前活跃音箱的名称
  • sonos:set_master_speaker
    - 切换到其他音箱(例如“Bedroom”、“Kitchen”)

Search and Selection

搜索与选择

  • sonos:search_for_track
    - Search by track title, artist, album (e.g., "Heart of Gold Neil Young")
  • sonos:search_for_album
    - Search by album title and artist (e.g., "Harvest Neil Young")
  • sonos:add_track_to_queue
    - Add track from search results by position (1-based)
  • sonos:add_album_to_queue
    - Add album from search results by position (1-based)
  • sonos:search_for_track
    - 按曲目名称、歌手、专辑搜索(例如“Heart of Gold Neil Young”)
  • sonos:search_for_album
    - 按专辑名称和歌手搜索(例如“Harvest Neil Young”)
  • sonos:add_track_to_queue
    - 按位置(从1开始计数)将搜索结果中的曲目添加到队列
  • sonos:add_album_to_queue
    - 按位置(从1开始计数)将搜索结果中的专辑添加到队列

Queue Management

队列管理

  • sonos:list_queue
    - View all queued tracks
  • sonos:clear_queue
    - Remove all tracks from queue
  • sonos:remove_from_queue
    - Remove a track from the queue by position (1-based)
  • sonos:play_from_queue
    - Play track at specific queue position (1-based)
  • sonos:list_queue
    - 查看所有已加入队列的曲目
  • sonos:clear_queue
    - 清空队列中的所有曲目
  • sonos:remove_from_queue
    - 按位置(从1开始计数)从队列中移除曲目
  • sonos:play_from_queue
    - 播放队列中指定位置的曲目(从1开始计数)

Playback Control

播放控制

  • sonos:current_track
    - Get information about currently playing track
  • sonos:play_pause
    - Toggle play/pause
  • sonos:next_track
    - Skip to next track
  • sonos:current_track
    - 获取当前播放曲目的信息
  • sonos:play_pause
    - 切换播放/暂停状态
  • sonos:next_track
    - 跳转到下一曲目

Volume Control

音量控制

  • sonos:turn_volume
    - Adjust volume by 10 ("louder" or "quieter")
  • sonos:set_volume
    - Set absolute volume (0-100)
  • sonos:mute
    - Mute or unmute (True/False)
  • sonos:turn_volume
    - 调整音量(幅度为10,参数为“louder”或“quieter”)
  • sonos:set_volume
    - 设置绝对音量(范围0-100)
  • sonos:mute
    - 静音或取消静音(参数为True/False)

Playlist Management

播放列表管理

Terminology:
  • "playlist" or "local playlist" = Playlists stored locally on the filesystem (
    ~/.sonos/playlists/
    )
  • "native Sonos playlist" = Playlists stored on the Sonos system (accessible from Sonos mobile app)
Local Playlist Tools:
  • sonos:list_playlists
    - Display all local playlists
  • sonos:list_playlist_tracks
    - Show tracks in a specific local playlist
  • sonos:add_to_playlist_from_queue
    - Add queue track to local playlist by position
  • sonos:add_to_playlist_from_search
    - Add search result to local playlist by position
  • sonos:add_playlist_to_queue
    - Load entire local playlist into queue (optionally shuffled with shuffle=True)
  • sonos:remove_track_from_playlist
    - Remove track from local playlist by position
Native Sonos Playlist Tools:
  • sonos:list_native_sonos_playlists
    - Display all native Sonos playlists
  • sonos:create_native_sonos_playlist_from_local(local_playlist, native_playlist_name=None)
    - Convert a local playlist to a native Sonos playlist
    • Checks for naming conflicts and reports if native playlist already exists
    • Temporarily uses queue but restores original queue contents
    • Makes playlist accessible from Sonos mobile app and other Sonos controllers
术语说明:
  • “playlist”“local playlist” = 存储在本地文件系统中的播放列表(路径为
    ~/.sonos/playlists/
  • “native Sonos playlist” = 存储在Sonos系统中的播放列表(可通过Sonos移动应用访问)
本地播放列表工具:
  • sonos:list_playlists
    - 显示所有本地播放列表
  • sonos:list_playlist_tracks
    - 显示指定本地播放列表中的曲目
  • sonos:add_to_playlist_from_queue
    - 按位置将队列中的曲目添加到本地播放列表
  • sonos:add_to_playlist_from_search
    - 按位置将搜索结果中的曲目添加到本地播放列表
  • sonos:add_playlist_to_queue
    - 将整个本地播放列表加载到队列中(可通过shuffle=True参数开启随机播放)
  • sonos:remove_track_from_playlist
    - 按位置从本地播放列表中移除曲目
原生Sonos播放列表工具:
  • sonos:list_native_sonos_playlists
    - 显示所有原生Sonos播放列表
  • sonos:create_native_sonos_playlist_from_local(local_playlist, native_playlist_name=None)
    - 将本地播放列表转换为原生Sonos播放列表
    • 检查命名冲突,若原生播放列表已存在则进行提示
    • 临时使用队列,但会恢复队列原有内容
    • 转换后的播放列表可通过Sonos移动应用及其他Sonos控制器访问

Basic Workflow: Play a Track or Album

基础工作流:播放曲目或专辑

To play a specific track or album:
  1. Search - Use
    sonos:search_for_track
    or
    sonos:search_for_album
  2. Select - Use
    sonos:add_track_to_queue
    or
    sonos:add_album_to_queue
    with position number
  3. Find Position - Use
    sonos:list_queue
    to see where track(s) were added
  4. Play - Use
    sonos:play_from_queue
    with the position from step 3
  5. Verify - Use
    sonos:current_track
    to confirm correct track is playing
Example: User says "play Like a Hurricane by Neil Young"
1. sonos:search_for_track "Like a Hurricane Neil Young"
2. sonos:add_track_to_queue 1  (select best match)
3. sonos:list_queue  (find it was added at position 15)
4. sonos:play_from_queue 15
5. sonos:current_track  (confirm)
播放特定曲目或专辑的步骤:
  1. 搜索 - 使用
    sonos:search_for_track
    sonos:search_for_album
  2. 选择 - 使用
    sonos:add_track_to_queue
    sonos:add_album_to_queue
    并指定位置编号
  3. 查找位置 - 使用
    sonos:list_queue
    查看曲目/专辑被添加到队列的位置
  4. 播放 - 使用
    sonos:play_from_queue
    并传入步骤3中获取的位置
  5. 验证 - 使用
    sonos:current_track
    确认正在播放正确的曲目
示例: 用户说“播放Neil Young的Like a Hurricane”
1. sonos:search_for_track "Like a Hurricane Neil Young"
2. sonos:add_track_to_queue 1 (选择最佳匹配结果)
3. sonos:list_queue (发现曲目被添加到第15位)
4. sonos:play_from_queue 15
5. sonos:current_track (确认播放内容)

Advanced Workflows

高级工作流

Creating Custom Mixes

创建自定义混音列表

To build a custom mix from multiple artists:
  1. For each artist: Execute search → select → add cycle
  2. Between searches: Ensure previous track is added to queue before next search
  3. Play first track when all selections complete
  4. Verify the queue contains all desired tracks
Example: User says "play a mix of Springsteen, Jackson Browne, and Patty Griffin"
1. sonos:search_for_track "Born to Run Springsteen"
2. sonos:add_track_to_queue 1
3. sonos:search_for_track "Running on Empty Jackson Browne"
4. sonos:add_track_to_queue 1
5. sonos:search_for_track "Let Him Fly Patty Griffin"
6. sonos:add_track_to_queue 1
7. sonos:list_queue (verify all added)
8. sonos:play_from_queue 1 (start first track)
从多个歌手中创建自定义混音列表的步骤:
  1. 针对每位歌手: 执行搜索→选择→添加的循环
  2. 搜索间隔: 确保在上一次搜索的曲目添加到队列后,再进行下一次搜索
  3. 所有选择完成后 播放第一首曲目
  4. 验证 队列中包含所有所需曲目
示例: 用户说“播放Springsteen、Jackson Browne和Patty Griffin的混音”
1. sonos:search_for_track "Born to Run Springsteen"
2. sonos:add_track_to_queue 1
3. sonos:search_for_track "Running on Empty Jackson Browne"
4. sonos:add_track_to_queue 1
5. sonos:search_for_track "Let Him Fly Patty Griffin"
6. sonos:add_track_to_queue 1
7. sonos:list_queue(验证所有曲目已添加)
8. sonos:play_from_queue 1(开始播放第一首曲目)

Finding Live Performances

查找现场演出曲目

To find live tracks or albums:
  1. Include "live" or "unplugged" in search queries
  2. Look for venue names in search results: "Massey Hall", "Nashville", "The Troubadour", "Red Rocks", "The Fillmore", "The Ryman"
  3. Check album titles for indicators: "Live at", "Unplugged", "In Concert"
Example: User says "play 5 live tracks from Patty Griffin"
1. sonos:search_for_track "Patty Griffin live"
2. Review results for venue names or "live" indicators
3. sonos:add_track_to_queue 1
4. sonos:add_track_to_queue 3
5. sonos:add_track_to_queue 5
6. sonos:add_track_to_queue 7
7. sonos:add_track_to_queue 9
8. sonos:play_from_queue 1
查找现场演出曲目或专辑的方法:
  1. 在搜索查询中包含“live”或“unplugged”
  2. 在搜索结果中查找场馆名称:如“Massey Hall”、“Nashville”、“The Troubadour”、“Red Rocks”、“The Fillmore”、“The Ryman”
  3. 检查专辑标题中的标识:如“Live at”、“Unplugged”、“In Concert”
示例: 用户说“播放Patty Griffin的5首现场曲目”
1. sonos:search_for_track "Patty Griffin live"
2. 查看结果中的场馆名称或“live”标识
3. sonos:add_track_to_queue 1
4. sonos:add_track_to_queue 3
5. sonos:add_track_to_queue 5
6. sonos:add_track_to_queue 7
7. sonos:add_track_to_queue 9
8. sonos:play_from_queue 1

Multi-Room Control

多房间控制

To play music in a specific room:
  1. Switch speaker first - Use
    sonos:set_master_speaker
    with room name
  2. Verify switch - Check response confirms speaker change
  3. Continue with normal workflow - Search, add, play as usual
Example: User says "play some Neil Young in the bedroom"
1. sonos:set_master_speaker "Bedroom"
2. sonos:search_for_track "Neil Young"
3. sonos:add_track_to_queue 1
4. sonos:play_from_queue 1
在特定房间播放音乐的步骤:
  1. 先切换音箱 - 使用
    sonos:set_master_speaker
    并传入房间名称
  2. 验证切换结果 - 检查返回信息确认音箱已切换
  3. 继续执行常规工作流 - 按正常步骤搜索、添加、播放
示例: 用户说“在卧室播放一些Neil Young的歌”
1. sonos:set_master_speaker "Bedroom"
2. sonos:search_for_track "Neil Young"
3. sonos:add_track_to_queue 1
4. sonos:play_from_queue 1

Playlist Workflows

播放列表工作流

Adding Tracks to Playlists

向播放列表添加曲目

From queue:
  1. Use
    sonos:list_queue
    to find track position
  2. Use
    sonos:add_to_playlist_from_queue
    with playlist name and position
From search:
  1. Use
    sonos:search_for_track
    to find track
  2. Use
    sonos:add_to_playlist_from_search
    with playlist name and position
Example: User says "add the current track to my Chill Vibes playlist"
1. sonos:current_track (get what's playing)
2. sonos:list_queue (find its position)
3. sonos:add_to_playlist_from_queue "Chill Vibes" <position>
从队列添加:
  1. 使用
    sonos:list_queue
    查找曲目在队列中的位置
  2. 使用
    sonos:add_to_playlist_from_queue
    并传入播放列表名称和曲目位置
从搜索结果添加:
  1. 使用
    sonos:search_for_track
    查找曲目
  2. 使用
    sonos:add_to_playlist_from_search
    并传入播放列表名称和曲目位置
示例: 用户说“将当前播放的曲目添加到我的Chill Vibes播放列表”
1. sonos:current_track(获取当前播放的曲目)
2. sonos:list_queue(查找该曲目在队列中的位置)
3. sonos:add_to_playlist_from_queue "Chill Vibes" <position>

Copying Entire Queue to New Playlist

将整个队列复制到新播放列表

To save the current queue as a new playlist (useful for preserving a curated queue):
  1. Use
    sonos:list_queue
    to see all tracks and count them
  2. For each track position (1 through N), use
    sonos:add_to_playlist_from_queue
    with the new playlist name
  3. The first call creates the new playlist; subsequent calls append tracks
  4. Optionally verify with
    sonos:list_playlist_tracks
Important: When removing multiple tracks from a queue or playlist, always remove from highest position to lowest to avoid position shifts affecting remaining targets.
Example: User says "save everything in the queue as playlist20250119"
1. sonos:list_queue (count 59 tracks)
2. sonos:add_to_playlist_from_queue "playlist20250119" 1
3. sonos:add_to_playlist_from_queue "playlist20250119" 2
... (continue for all 59 positions)
60. sonos:list_playlist_tracks "playlist20250119" (verify)
Note: For large queues (50+ tracks), execute all additions in sequence without requesting permission at each step, following the "Multi-Step Workflows" principle.
将当前队列保存为新播放列表(适用于保存精心整理的队列):
  1. 使用
    sonos:list_queue
    查看所有曲目并统计数量
  2. 对每个曲目位置(从1到N),使用
    sonos:add_to_playlist_from_queue
    并传入新播放列表名称
  3. 第一次调用会创建新播放列表;后续调用会追加曲目
  4. 可选择使用
    sonos:list_playlist_tracks
    验证结果
重要提示: 当从队列或播放列表中移除多个曲目时,务必从位置编号最大的曲目开始删除,避免因位置偏移影响剩余目标曲目。
示例: 用户说“将队列中的所有内容保存为playlist20250119播放列表”
1. sonos:list_queue(统计到59首曲目)
2. sonos:add_to_playlist_from_queue "playlist20250119" 1
3. sonos:add_to_playlist_from_queue "playlist20250119" 2
...(重复操作直到所有59首曲目都添加完成)
60. sonos:list_playlist_tracks "playlist20250119"(验证结果)
注意: 对于大型队列(50首曲目以上),请依次执行所有添加操作,无需在每一步请求许可,遵循“多步骤工作流”原则。

Selecting Multiple Tracks from One Artist

从同一歌手中选择多首曲目

When a user requests N tracks from an artist without specific guidance:
当用户请求某歌手的N首曲目但未给出具体要求时:

Default Strategy (No Prior Context)

默认策略(无上下文)

  1. Mix popular and quality tracks - Include 1-2 well-known hits, rest can be deep cuts
  2. Album variety - Spread selections across 2-3 different albums when possible
  3. Career representation - For established artists, vary across different periods
  4. Mood consistency - Ensure tracks flow well together in sequence
  1. 混合热门曲目和优质深轨 - 包含1-2首知名热门曲目,其余选择专辑中的非主打优质曲目
  2. 专辑多样性 - 尽可能从2-3张不同专辑中选择曲目
  3. 职业生涯代表性 - 对于资深歌手,选择其不同时期的作品
  4. 情绪连贯性 - 确保曲目在序列中流畅衔接

Contextual Adjustments

上下文调整

  • If user mentions "favorites" - Prioritize most-streamed/canonical tracks
  • If user says "best of" - Focus on greatest hits and popular tracks
  • If user mentions specific album - Select all tracks from that album
  • If user says "variety" or "mix" - Maximize album and style diversity
  • 如果用户提到“最爱” - 优先选择播放量最高/经典的曲目
  • 如果用户说“精选” - 聚焦于热门金曲和流行曲目
  • 如果用户提到特定专辑 - 选择该专辑中的所有曲目
  • 如果用户说“多样化”或“混音” - 最大化专辑和风格的多样性

When to Ask for Clarification

何时需要询问澄清

Only ask if the request is genuinely ambiguous:
  • ✗ Don't ask: "play 3 Vienna Teng songs" (use default strategy)
  • ✓ Do ask: "play Neil Young songs" when user has requested both acoustic and electric in past
  • ✓ Do ask: "play some Beatles" (too many eras/styles to assume)
仅当请求确实存在歧义时才询问:
  • ✗ 无需询问:“播放3首Vienna Teng的歌”(使用默认策略)
  • ✓ 需要询问:当用户之前既请求过原声又请求过电音版本时,说“播放Neil Young的歌”
  • ✓ 需要询问:“播放一些Beatles的歌”(风格和时代太多,无法默认选择)

Selection Transparency

选择透明度

In your response, briefly mention your selection reasoning:
  • "I've added 3 tracks mixing popular hits and album favorites..."
  • "Here are 3 tracks spanning her early and recent work..."
在回复中简要说明你的选择理由:
  • “我已添加3首曲目,混合了热门金曲和专辑中的优质曲目……”
  • “这里是3首涵盖她早期和近期作品的曲目……”

Playing Playlists

播放播放列表

To play a saved playlist:
  1. Use
    sonos:add_playlist_to_queue
    to load all tracks (optionally with shuffle=True)
  2. Use
    sonos:play_from_queue 1
    to start playing
Example: User says "play my favorites playlist"
1. sonos:add_playlist_to_queue "favorites"
2. sonos:play_from_queue 1
Example: User says "play my workout playlist in random order"
1. sonos:add_playlist_to_queue "workout" shuffle=True
2. sonos:play_from_queue 1
播放已保存的播放列表:
  1. 使用
    sonos:add_playlist_to_queue
    加载所有曲目(可通过shuffle=True参数开启随机播放)
  2. 使用
    sonos:play_from_queue 1
    开始播放
示例: 用户说“播放我的favorites播放列表”
1. sonos:add_playlist_to_queue "favorites"
2. sonos:play_from_queue 1
示例: 用户说“随机播放我的workout播放列表”
1. sonos:add_playlist_to_queue "workout" shuffle=True
2. sonos:play_from_queue 1

Converting Local Playlists to Native Sonos Playlists

将本地播放列表转换为原生Sonos播放列表

To make a local playlist accessible in the Sonos mobile app and other Sonos controllers:
  1. Check for conflicts - Use
    sonos:list_native_sonos_playlists
    to see if the name already exists
  2. Convert - Use
    sonos:create_native_sonos_playlist_from_local
    with the local playlist name
  3. Optionally specify different name - Pass
    native_playlist_name
    parameter if desired
  4. Verify - Use
    sonos:list_native_sonos_playlists
    to confirm creation
Example: User says "create a native Sonos playlist from my favorites playlist"
1. sonos:list_native_sonos_playlists (check if "favorites" already exists)
2. sonos:create_native_sonos_playlist_from_local "favorites"
3. sonos:list_native_sonos_playlists (verify it was created)
Example: User says "make a Sonos playlist called favorites_backup from my favorites playlist"
1. sonos:create_native_sonos_playlist_from_local "favorites" native_playlist_name="favorites_backup"
2. sonos:list_native_sonos_playlists (verify)
Important Notes:
  • The conversion temporarily uses the queue but restores it automatically
  • If a native playlist with that name already exists, you'll get an error with a clear message
  • Ask the user if they want to use a different name or if they want you to proceed differently
  • Local and native playlists are independent - changes to one don't affect the other
让本地播放列表可在Sonos移动应用及其他Sonos控制器中访问:
  1. 检查冲突 - 使用
    sonos:list_native_sonos_playlists
    查看是否存在同名播放列表
  2. 转换 - 使用
    sonos:create_native_sonos_playlist_from_local
    并传入本地播放列表名称
  3. 可选择指定不同名称 - 若需要,传入
    native_playlist_name
    参数
  4. 验证 - 使用
    sonos:list_native_sonos_playlists
    确认转换完成
示例: 用户说“将我的favorites本地播放列表转换为原生Sonos播放列表”
1. sonos:list_native_sonos_playlists(检查是否存在名为“favorites”的原生播放列表)
2. sonos:create_native_sonos_playlist_from_local "favorites"
3. sonos:list_native_sonos_playlists(确认已创建)
示例: 用户说“将我的favorites本地播放列表创建为名为favorites_backup的原生Sonos播放列表”
1. sonos:create_native_sonos_playlist_from_local "favorites" native_playlist_name="favorites_backup"
2. sonos:list_native_sonos_playlists(确认已创建)
重要说明:
  • 转换过程会临时使用队列,但会自动恢复原有队列内容
  • 若已存在同名原生播放列表,你会收到清晰的错误提示
  • 询问用户是否要使用其他名称或选择其他操作方式
  • 本地播放列表和原生播放列表相互独立——对其中一个的修改不会影响另一个

Common Request Patterns

常见请求模式

Simple Requests

简单请求

  • "What's playing?" →
    sonos:current_track
  • "Show me the queue" →
    sonos:list_queue
  • "Turn it up" →
    sonos:turn_volume "louder"
  • "Set volume to 50" →
    sonos:set_volume 50
  • "Mute" →
    sonos:mute True
  • "Next song" →
    sonos:next_track
  • "Pause" →
    sonos:play_pause
  • "What playlists do I have?" →
    sonos:list_playlists
  • "Show my native Sonos playlists" →
    sonos:list_native_sonos_playlists
  • “现在在播放什么?” →
    sonos:current_track
  • “显示队列” →
    sonos:list_queue
  • “调大音量” →
    sonos:turn_volume "louder"
  • “把音量调到50” →
    sonos:set_volume 50
  • “静音” →
    sonos:mute True
  • “下一首歌” →
    sonos:next_track
  • “暂停” →
    sonos:play_pause
  • “我有哪些播放列表?” →
    sonos:list_playlists
  • “显示我的原生Sonos播放列表” →
    sonos:list_native_sonos_playlists

Complex Requests

复杂请求

  • "Play [specific track]" → Execute Basic Workflow
  • "Play [number] tracks by [artist]" → Execute Advanced Workflow with multiple searches
  • "Create a mix of [artists]" → Execute Custom Mix Workflow
  • "Play some [artist] in [room]" → Execute Multi-Room Workflow
  • "Add [track] to [playlist]" → Execute Playlist Workflow
  • "Play [playlist] shuffled/randomized/in random order" → Use
    add_playlist_to_queue
    with shuffle=True
  • "Create a native Sonos playlist from [local playlist]" → Execute Converting Local Playlists Workflow
  • "Make [local playlist] available in the Sonos app" → Execute Converting Local Playlists Workflow
  • “播放[特定曲目]” → 执行基础工作流
  • “播放[歌手]的[数量]首歌” → 执行多搜索的高级工作流
  • “创建[多个歌手]的混音列表” → 执行自定义混音工作流
  • “在[房间]播放一些[歌手]的歌” → 执行多房间控制工作流
  • “将[曲目]添加到[播放列表]” → 执行播放列表工作流
  • “随机播放[播放列表]” → 使用带shuffle=True参数的
    add_playlist_to_queue
  • “将[本地播放列表]转换为原生Sonos播放列表” → 执行本地播放列表转换工作流
  • “让[本地播放列表]可在Sonos应用中访问” → 执行本地播放列表转换工作流

Response Guidelines

回复指南

After Completing Workflows

完成工作流后

Provide natural, music-focused responses:
  • Confirm what's playing
  • Share relevant context (album, year, interesting facts)
  • Explain selection reasoning for custom mixes
  • Mention notable aspects (live performance, rare version, etc.)
提供自然、聚焦音乐的回复:
  • 确认正在播放的内容
  • 分享相关背景信息(专辑、发行年份、有趣的事实)
  • 解释自定义混音的选择理由
  • 提及值得注意的点(现场演出、稀有版本等)

When Making Selections

选择曲目时

Use music knowledge to select best matches:
  • Prefer original studio versions unless user requests otherwise
  • For "live" requests, prioritize well-known live albums
  • For deep cuts, select lesser-known but high-quality tracks
  • Consider chronology and artist periods when building mixes
利用音乐知识选择最佳匹配:
  • 优先选择原版录音室版本,除非用户另有要求
  • 对于“现场”请求,优先选择知名现场专辑中的曲目
  • 对于深轨,选择知名度较低但质量较高的曲目
  • 构建混音列表时考虑时间顺序和歌手的不同时期

Handling Ambiguity

处理歧义

If search results are unclear:
  • Make best judgment based on context
  • Select most popular/canonical version
  • Only ask for clarification if results are completely ambiguous
  • Provide reasoning for selection in response
如果搜索结果不明确:
  • 根据上下文做出最佳判断
  • 选择最受欢迎/经典的版本
  • 仅当结果完全模糊时才询问澄清
  • 在回复中说明选择理由

Error Handling

错误处理

Search Returns No Results

搜索无结果

  • Try simplified search (fewer keywords)
  • Suggest alternative artist/track names
  • Offer to search for similar artists or tracks
  • Consult
    references/search_tips.md
    for search strategies
  • 尝试简化搜索(减少关键词)
  • 建议替代的歌手/曲目名称
  • 提供搜索相似歌手或曲目的选项
  • 参考
    references/search_tips.md
    获取搜索策略

Queue Issues

队列问题

  • If queue is full, suggest clearing old tracks
  • If position is invalid, list queue to find correct position
  • 如果队列已满,建议清除旧曲目
  • 如果位置无效,列出队列内容以找到正确位置

Playback Issues

播放问题

  • Verify track is in queue using
    sonos:list_queue
  • Confirm correct speaker using
    sonos:get_master_speaker
  • Check current status with
    sonos:current_track
  • 使用
    sonos:list_queue
    验证曲目是否在队列中
  • 使用
    sonos:get_master_speaker
    确认音箱是否正确
  • 使用
    sonos:current_track
    检查当前状态

Additional Resources

额外资源

For detailed search strategies, artist name variations, and mix-building tips, reference the bundled file:
  • references/search_tips.md
    - Comprehensive guide for effective music searches
如需详细的搜索策略、歌手名称变体和混音构建技巧,请参考附带文件:
  • references/search_tips.md
    - 高效音乐搜索的综合指南