Streaming Buddy 📺
Personal streaming assistant that learns your taste, tracks your watching habits, and suggests what to watch next.
Features
- Search & Info: Find movies/TV shows with TMDB data
- Watch Tracking: Track what you're currently watching with progress
- Learning System: Learns your preferences from likes/dislikes/ratings
- Smart Recommendations: Personalized suggestions based on your taste
- Mood-Based Search: Find content by mood (exciting, relaxing, scary, etc.)
- Availability Check: Shows which of your services has the content
- Match Explanation: Explains why a title matches your preferences
Commands
| Command | Action |
|---------|--------|
| /stream | Show status with all commands |
| /stream search <title> | Search for movies/TV shows |
| /stream info <id> [tv\|movie] | Detailed info + availability |
| /stream watch <id> [tv\|movie] | Start tracking a title |
| /stream progress S01E05 | Update progress on current show |
| /stream done [1-5] | Mark as finished + rate (auto-learns) |
| /stream like [id] | Mark as liked → learns preferences |
| /stream dislike [id] | Mark as disliked → learns preferences |
| /stream suggest [service] [tv\|movie] | Personalized recommendations |
| /stream mood <mood> | Search by mood |
| /stream surprise | Random recommendation |
| /stream why <id> | Explain why this matches you |
| /stream watchlist | Show watchlist |
| /stream watchlist add <id> | Add to watchlist |
| /stream history | View watch history |
| /stream profile | Show your taste profile |
| /stream services | Manage streaming services |
| /stream services add <name> | Add a service |
| /stream services remove <name> | Remove a service |
Mood Options
| Mood | Genres |
|------|--------|
| exciting | Action, Thriller, Sci-Fi, Adventure |
| relaxing | Comedy, Animation, Family, Documentary |
| thoughtful | Drama, Mystery, History |
| scary | Horror, Thriller |
| romantic | Romance, Drama |
| funny | Comedy, Animation |
Supported Services
netflix,amazon-prime,disney-plus,apple-tv-plusyoutube-premium,wow,paramount-plus,crunchyrolljoyn,rtl,magenta,mubi
Learning System
The skill learns your preferences from:
-
Ratings: When you finish with
/stream done [1-5]:- Rating 4-5: Adds genres/themes/actors to "liked"
- Rating 1-2: Adds genres to "avoided"
-
Explicit Feedback:
/stream likeand/stream dislike:- Extracts genres, themes, actors, directors
- Updates preference weights
-
Preference Profile includes:
- Genre preferences (weighted scores)
- Liked/disliked themes
- Favorite actors & directors
- Custom mood mappings
Handler Usage
# Core commands
handler.sh status $WORKSPACE
handler.sh search "severance" $WORKSPACE
handler.sh info 95396 tv $WORKSPACE
handler.sh watch 95396 tv $WORKSPACE
handler.sh progress S01E05 $WORKSPACE
handler.sh done 5 "Great show!" $WORKSPACE
# Learning commands
handler.sh like $WORKSPACE # Like current watching
handler.sh like 12345 movie $WORKSPACE # Like specific title
handler.sh dislike $WORKSPACE
handler.sh why 95396 tv $WORKSPACE
handler.sh profile $WORKSPACE
# Recommendation commands
handler.sh suggest $WORKSPACE # All services, all types
handler.sh suggest prime movie $WORKSPACE # Prime movies only
handler.sh mood exciting $WORKSPACE
handler.sh mood relaxing tv $WORKSPACE
handler.sh surprise $WORKSPACE
# List commands
handler.sh watchlist list $WORKSPACE
handler.sh watchlist add 12345 tv $WORKSPACE
handler.sh history $WORKSPACE
# Service management
handler.sh services list $WORKSPACE
handler.sh services add netflix $WORKSPACE
handler.sh services remove netflix $WORKSPACE
Data Files
All data stored in $WORKSPACE/memory/streaming-buddy/:
| File | Purpose |
|------|---------|
| config.json | TMDB API key, region, language |
| profile.json | User profile metadata |
| services.json | Active streaming services |
| preferences.json | Learned taste preferences |
| watching.json | Currently watching |
| watchlist.json | Want to watch list |
| history.json | Watched + ratings |
| cache/*.json | API response cache (24h) |
Setup
- Get TMDB API key: https://www.themoviedb.org/settings/api
- Store in
memory/streaming-buddy/config.json:{ "tmdbApiKey": "your_api_key", "region": "DE", "language": "de-DE" } - Run
/stream setupto configure services
Conversation Examples
Mood-based search:
User: I want something exciting tonight
Bot: 🎬 Exciting picks for you:
1. Reacher S3 (Prime) ⭐8.5
2. Jack Ryan (Prime) ⭐8.1
...
Learning from feedback:
User: /stream done 5
Bot: ✅ Severance marked as done (⭐5)
📚 Learned: +Drama, +Mystery, +Sci-Fi
Actors: Adam Scott, Britt Lower saved to favorites
Explaining recommendations:
User: /stream why 95396
Bot: 🎯 Why Severance matches you:
✓ Genre "Drama" (you like this, +2)
✓ Genre "Mystery" (you like this, +2)
✓ Theme "office" in your preferences
✓ With Adam Scott (your favorite)
Similar to: Fallout ⭐5
Language Support
- Language detected from
config.json(language: "de-DE"or"en") - All output adapts to configured language
- Commands work in any language
Requirements
jq(JSON processor)curl(HTTP client)bash4.0+- TMDB API key (free)
References
- services.md — Full list of streaming services
- tmdb-api.md — TMDB API usage
- justwatch.md — Availability data integration
扫码联系在线客服