介绍
# Streaming Buddy 📺
个人流媒体助手,它会学习你的品味,追踪你的观看习惯,并推荐接下来观看的内容。
## 功能特性
- **搜索与信息**:使用 TMDB 数据查找电影/电视剧 - **观看追踪**:追踪你正在观看的内容及进度 - **学习系统**:通过喜欢/不喜欢/评分学习你的偏好 - **智能推荐**:基于你的品味提供个性化建议 - **基于心情的搜索**:根据心情(刺激、放松、惊悚等)查找内容 - **可用性检查**:显示哪些平台上有你想要的内容 - **匹配解释**:解释为什么某部作品符合你的偏好
## 命令
| 命令 | 动作 | |---------|--------| | `/stream` | 显示状态及所有命令 | | `/stream search <title>` | 搜索电影/电视剧 | | `/stream info <id> [tv\|movie]` | 详细信息 + 可用性 | | `/stream watch <id> [tv\|movie]` | 开始追踪某部作品 | | `/stream progress S01E05` | 更新当前剧集的进度 | | `/stream done [1-5]` | 标记为完成 + 评分(自动学习) | | `/stream like [id]` | 标记为喜欢 → 学习偏好 | | `/stream dislike [id]` | 标记为不喜欢 → 学习偏好 | | `/stream suggest [service] [tv\|movie]` | 个性化推荐 | | `/stream mood <mood>` | 按心情搜索 | | `/stream surprise` | 随机推荐 | | `/stream why <id>` | 解释为什么该内容适合你 | | `/stream watchlist` | 显示片单 | | `/stream watchlist add <id>` | 添加到片单 | | `/stream history` | 查看观看历史 | | `/stream profile` | 显示你的品味档案 | | `/stream services` | 管理流媒体服务 | | `/stream services add <name>` | 添加服务 | | `/stream services remove <name>` | 移除服务 |
## 心情选项
| 心情 | 类型 | |------|--------| | `exciting` | 动作、惊悚、科幻、冒险 | | `relaxing` | 喜剧、动画、家庭、纪录片 | | `thoughtful` | 剧情、悬疑、历史 | | `scary` | 恐怖、惊悚 | | `romantic` | 爱情、剧情 | | `funny` | 喜剧、动画 |
## 支持的服务
- `netflix`, `amazon-prime`, `disney-plus`, `apple-tv-plus` - `youtube-premium`, `wow`, `paramount-plus`, `crunchyroll` - `joyn`, `rtl`, `magenta`, `mubi`
## 学习系统
该技能通过以下方式学习你的偏好:
1. **评分**:当你使用 `/stream done [1-5]` 完成观看时: - 评分 4-5:将类型/主题/演员添加到“喜欢” - 评分 1-2:将类型添加到“避免”
2. **明确反馈**:`/stream like` 和 `/stream dislike`: - 提取类型、主题、演员、导演 - 更新偏好权重
3. **偏好档案** 包括: - 类型偏好(加权分数) - 喜欢/不喜欢的主题 - 喜爱的演员和导演 - 自定义心情映射
## 处理器使用
```bash # 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 ```
## 数据文件
所有数据存储在 `$WORKSPACE/memory/streaming-buddy/`:
| 文件 | 用途 | |------|---------| | `config.json` | TMDB API 密钥、地区、语言 | | `profile.json` | 用户档案元数据 | | `services.json` | 活跃的流媒体服务 | | `preferences.json` | 学习到的品味偏好 | | `watching.json` | 正在观看的内容 | | `watchlist.json` | 想看列表 | | `history.json` | 已观看内容 + 评分 | | `cache/*.json` | API 响应缓存(24小时) |
## 设置
1. 获取 TMDB API 密钥:https://www.themoviedb.org/settings/api 2. 存储到 `memory/streaming-buddy/config.json`: ```json { "tmdbApiKey": "your_api_key", "region": "DE", "language": "de-DE" } ``` 3. 运行 `/stream setup` 配置服务
## 对话示例
**基于心情的搜索:** ``` User: I want something exciting tonight Bot: 🎬 Exciting picks for you: 1. Reacher S3 (Prime) ⭐8.5 2. Jack Ryan (Prime) ⭐8.1 ... ```
**从反馈中学习:** ``` User: /stream done 5 Bot: ✅ Severance marked as done (⭐5) 📚 Learned: +Drama, +Mystery, +Sci-Fi Actors: Adam Scott, Britt Lower saved to favorites ```
**解释推荐理由:** ``` 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 ```
## 语言支持
- 语言从 `config.json` 检测(`language: "de-DE"` 或 `"en"`) - 所有输出适配配置的语言 - 命令适用于任何语言
## 依赖要求
- `jq` (JSON 处理器) - `curl` (HTTP 客户端) - `bash` 4.0+ - TMDB API 密钥(免费)
## 参考资料
- [services.md](references/services.md) — 完整的流媒体服务列表 - [tmdb-api.md](references/tmdb-api.md) — TMDB API 使用说明 - [justwatch.md](references/justwatch.md) — 可用性数据集成