返回 Skill 列表
extension
分类: 开发与工程需要 API Key

Streaming Buddy

个人流媒体助手,具备偏好学习功能。追踪观看进度,学习品味,并根据服务、心情和偏好推荐内容。在被问及电影、剧集、流媒体服务、观看推荐或追踪进度时使用。触发词:/stream、“我该看什么”、“推荐一下”,提及 Netflix/Prime/Disney+/Apple TV+,询问剧集/季/集,以及“来点刺激的”等心情类请求。

person作者: udiedrichsenhubclawhub

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-plus
  • youtube-premium, wow, paramount-plus, crunchyroll
  • joyn, rtl, magenta, mubi

Learning System

The skill learns your preferences from:

  1. 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"
  2. Explicit Feedback: /stream like and /stream dislike:

    • Extracts genres, themes, actors, directors
    • Updates preference weights
  3. 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

  1. Get TMDB API key: https://www.themoviedb.org/settings/api
  2. Store in memory/streaming-buddy/config.json:
    {
      "tmdbApiKey": "your_api_key",
      "region": "DE",
      "language": "de-DE"
    }
    
  3. Run /stream setup to 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)
  • bash 4.0+
  • TMDB API key (free)

References