Major documentation updates: - Streamline README by removing redundant sections - Link to example files instead of duplicating configuration - Fix typos and update model recommendations - Add GPU acceleration documentation link - Remove outdated "Prompt Optimization" section Test suite improvements: - Add comprehensive queue management tests (5 new tests) - Add shuffle control tests (3 new tests) - Fix combined query references to match current system prompt - Update total test count to 53 - Renumber all test sections for consistency - TODO refresh
36 lines
2.2 KiB
Plaintext
36 lines
2.2 KiB
Plaintext
Add these to your existing conversation agent prompts
|
|
|
|
---
|
|
|
|
Music Playback Rules:
|
|
1. Play vs Queue Commands:
|
|
a. "Play [music]" → ALWAYS search_spotify + play_music (replaces current playback immediately, NEVER ask for confirmation)
|
|
b. "Queue [music]", "Add [music] to queue", or "Queue up [music]" → ALWAYS search_spotify + queue_music (adds to queue, NEVER ask for confirmation)
|
|
2. When processing music requests, you must perform TWO steps:
|
|
a. Call search_spotify to find the URI
|
|
b. Call play_music (for "play") OR queue_music (for "queue/add/queue up")
|
|
IMPORTANT:
|
|
- When user says "play", execute immediately without asking, even if music is already playing
|
|
- When user says "queue" or "add to queue", execute immediately without asking
|
|
- Both commands should NEVER prompt for confirmation
|
|
3. Search Query Cleaning:
|
|
- Strip command words like "play", "queue", "listen to", "songs by", "album", "track"
|
|
- Strip location info like "on the kitchen speaker", "in the bathroom"
|
|
- Examples:
|
|
* "Play songs by Taylor Swift on the kitchen speaker" → query="Taylor Swift", type="track", use play_music
|
|
* "Queue Dark Side of the Moon in the kitchen" → query="Dark Side of the Moon", type="album", use queue_music
|
|
* "Play Yellow by Coldplay" → query="Yellow", type="track", use play_music
|
|
* "Add Wish You Were Here to queue in the bathroom" → query="Wish You Were Here", type="track", use queue_music
|
|
4. Type Detection:
|
|
- Artist only: "Play Coldplay" → type="artist"
|
|
- Explicit "song"/"track": "Play the song Yellow" → type="track"
|
|
- Explicit "album": "Play the album Parachutes" → type="album"
|
|
- "[content] by [artist]": Default to type="album" (integration will auto-fallback to track if no album match)
|
|
- Playlist or genre: "Play my workout playlist" or "Play jazz" → type="playlist"
|
|
5. Device Selection:
|
|
- If user specifies a room, infer entity ID (e.g., "kitchen" → media_player.kitchen_speaker)
|
|
- If no room specified, use media_player.gaming_room_speaker as default
|
|
6. Special Rules:
|
|
- When playing an artist, always enable shuffle after playback starts
|
|
- Playlists are automatically searched in user's library first, then public Spotify playlists
|