介绍
# Radarr+
从聊天中请求电影,并将其添加到 **Radarr**(在同一个聊天中接收进度更新)。
## 外观示例(示例)
以下是用户请求电影时将收到的**单条消息**海报卡片 + 说明文字示例(海报附件 + 预告片 + 评分):

消息说明文字示例:
> **Shutter Island (2010)** > > ⭐ IMDb: 8.2/10 > > 🎬 Trailer: https://www.youtube.com/watch?v=qdPw9x9h5CY > > 已添加到 Radarr ✅ (Ultra-HD, /movies)。我将在此处发布进度 + “导入完成 ✅”。
## 设置(一次性)
1) 在 `~/.openclaw/.env` 中设置密钥(切勿提交这些):
- `RADARR_URL=http://<host>:7878` - `RADARR_API_KEY=...`
可选(建议设置,以便日后减少提问): - `RADARR_DEFAULT_PROFILE=HD-1080p` - `RADARR_DEFAULT_ROOT=/data/media/movies`
可选(用于接下来我们要添加的“丰富”体验): - `TMDB_API_KEY=...` (海报 + 预告片) - `OMDB_API_KEY=...` (IMDb 评分) - `PLEX_URL=http://<plex-host>:32400` - `PLEX_TOKEN=...`
2) 验证环境变量 + 连通性:
```bash ./skills/radarr/scripts/check_env.py ./skills/radarr/scripts/radarr.sh ping ```
如果失败,请检查: - Radarr 可从 OpenClaw 主机访问 - API 密钥正确 - URL 正确(http vs https)
## 常见任务
### 列出可用的质量配置文件
```bash ./skills/radarr/scripts/radarr.sh profiles ```
### 列出已配置的根文件夹
```bash ./skills/radarr/scripts/radarr.sh roots ```
### 查找/搜索电影
```bash ./skills/radarr/scripts/radarr.sh lookup --compact "inception" ./skills/radarr/scripts/radarr.sh lookup --compact "tmdb:603" ```
### 添加电影(首选:TMDB id)
```bash ./skills/radarr/scripts/radarr.sh add --tmdb 603 --profile "HD-1080p" --root "/data/media/movies" --monitor --search ```
### 添加电影(按标题;可选择指定年份)
```bash ./skills/radarr/scripts/radarr.sh add --term "Dune" --year 2021 --profile "HD-1080p" --root "/data/media/movies" --monitor --search ```
## 聊天工作流(推荐)
当用户说“request/add <movie>”(DM 或群组)时:
### 1) 查找 运行: - `./skills/radarr/scripts/radarr.sh lookup --compact "<movie>"`
如果有多个可能的匹配项,请要求用户选择(年份或 TMDB id)。
### 2) 通过提示解析缺失的配置 从环境变量解析默认值(并在缺失时获取提示选项):
```bash ./skills/radarr/scripts/resolve_defaults.py ```
如果缺少默认值,提示用户选择返回的选项之一: - `options.profiles[]` - `options.roots[]`
(如果存在默认值,则静默使用。)
### 3) 可选的丰富“电影卡片”(附加组件) 如果设置了 `TMDB_API_KEY`,则构建电影卡片:
```bash ./skills/radarr/scripts/movie_card.py --tmdb <id> ```
- 如果输出包含 `posterUrl`,您可以下载它并附加它:
```bash ./skills/radarr/scripts/fetch_asset.py --url "<posterUrl>" --out "./outbound/radarr/<tmdbId>.jpg" ```
如果设置了 `OMDB_API_KEY` 且已知 IMDb id,卡片将包含 IMDb 评分。
### 4) 添加到 Radarr 尽可能使用 TMDB:
```bash ./skills/radarr/scripts/radarr.sh add --tmdb <id> --profile "<profile>" --root "<root>" --monitor --search ```
### 5) 在同一聊天中跟踪进度 + 通知(仅 Radarr,轮询) 该技能提供了一个基于文件的跟踪队列:
1) 将来自**同一聊天**(DM 或群组)的请求加入跟踪队列:
```bash ./skills/radarr/scripts/enqueue_track.py --channel telegram --target "<chatId>" --movie-id <id> --title "<title>" --year <year> ```
2) 应运行一个定期调度器:
```bash ./skills/radarr/scripts/poll_and_queue.py ```
这将创建 `./state/radarr/outbox/` 下的发件箱项目,您的 OpenClaw cron 运行器可以发送这些项目。
### 6) Plex 链接(可选附加组件) 如果配置了 Plex,尝试生成 Plex Web URL:
```bash ./skills/radarr/scripts/plex_link.py --title "<title>" --year <year> ```
## 参考
- 入职指引:`references/onboarding.md` - 设置:`references/setup.md` - API 说明:`references/radarr-api-notes.md`