Radarr+

🎬 聊天即控制台,一键入库追进度

通过 Radarr API 实现电影自动化搜索、添加与下载追踪,支持 TMDB 海报、IMDb 评分、Plex 链接集成,打造完整的媒体库聊天请求工作流。

收藏
9.9k
安装
2.7k
版本
0.1.7
CLS 安全性认证2026-05-12
点击查看完整报告 >

使用说明

核心用法

Radarr+ 是一款面向自托管媒体服务器用户的电影自动化管理工具,通过 Radarr HTTP API 实现从聊天界面直接请求电影并追踪下载进度。

主要功能模块:

| 功能 | 说明 |
|------|------|
| 电影搜索/查找 | 支持标题模糊搜索或 TMDB ID 精确查询,返回候选列表供用户选择 |
| 智能添加 | 自动绑定画质配置(Quality Profile)和存储根目录,支持监控+自动搜索开关 |
| 富媒体卡片 | 集成 TMDB 海报、YouTube 预告片链接、OMDb IMDb 评分,生成类 App Store 风格的请求确认卡片 |
| 进度追踪 | 基于文件队列的轮询机制,自动向原聊天会话推送下载状态(已添加 → 已抓取 → 已导入) |
| Plex 联动 | 可选生成 Plex Web 播放直链,实现"请求-下载-观看"闭环 |

典型交互流程:
1. 用户输入「添加 Inception」→ 2. 机器人返回 TMDB 候选列表 → 3. 用户确认年份 → 4. 推送带海报/评分/预告片的确认卡片 → 5. 调用 Radarr API 添加并启动搜索 → 6. 后台轮询推送进度更新 → 7. 下载完成后通知「已导入 ✅」

显著优点

  • 完整的聊天原生体验:从请求到完成全程在同一会话中闭环,无需切换 Radarr Web UI
  • 低门槛配置:通过环境变量管理多实例连接,支持默认值预设减少重复交互
  • 可扩展的插件架构:TMDB/OMDb/Plex 均为可选依赖,无密钥时自动降级为文本模式
  • 状态持久化:基于文件队列的追踪系统,不依赖外部数据库,容器化部署友好
  • Radarr 原生兼容:直接调用官方 v3 API,支持所有画质配置、根目录、标签体系

潜在局限

  • 需自托管基础设施:要求用户已部署 Radarr 实例并配置下载器(qBittorrent/Transmission 等)和索引器
  • 网络可达性依赖:OpenClaw 主机需能访问 Radarr 的 7878 端口,NAT/防火墙需额外配置
  • 轮询延迟:进度追踪依赖周期性脚本执行,非 WebSocket 实时推送,延迟取决于 cron 间隔
  • TMDB 命中率:部分小众影片或非英语电影可能存在 TMDB 元数据缺失,导致卡片信息不完整
  • Plex 链接准确性:依赖标题+年份匹配,存在同名电影误判风险

适合人群

  • 已运行 Radarr + *arr 下载栈的进阶家庭影院用户
  • 希望为亲友提供「Netflix 式」电影请求入口的 Plex/Jellyfin 服务器管理员
  • 追求「聊天即控制台」自动化工作流的效率型用户
  • 愿意维护 API 密钥(TMDB/OMDb)以获得 richer 体验的进阶用户

常规风险

| 风险类型 | 说明 | 缓解建议 |
|----------|------|----------|
| API 密钥泄露 | `~/.openclaw/.env` 中存储 Radarr API Key,权限配置不当可能导致未授权访问 | 设置 600 权限,避免提交到版本控制,定期轮换密钥 |
| 误添加影片 | 标题搜索可能匹配错误电影(尤其重名、翻拍作品) | 强制要求用户从候选列表二次确认,优先使用 TMDB ID |
| 存储空间失控 | 自动监控+搜索可能触发大量下载 | 设置 Radarr 磁盘空间阈值告警,启用下载队列大小限制 |
| 轮询资源消耗 | 高频轮询大量电影状态可能产生 API 和 I/O 负载 | 调整 `poll_and_queue.py` 执行间隔,清理已完成追踪项 |
| 版权合规 | 自动化下载受版权保护内容可能违反当地法律 | 确保索引器仅包含合法来源,用户需自行承担合规责任 |

安全解读

核心用法

Radarr+ 是一款面向家庭媒体服务器的自动化管理工具,通过集成 Radarr 的 HTTP API,允许用户直接在聊天界面中完成电影的搜索、添加和下载进度追踪。核心工作流程包括:电影模糊搜索(支持标题或 TMDB ID)→ 质量档案选择 → 添加到下载队列 → 实时进度回推。

显著优点

1. 零依赖轻量化:纯 Python 标准库实现(urllib、subprocess),无第三方包依赖,部署简洁
2. 多源信息聚合:可选集成 TMDB(海报/预告片)、OMDb(IMDb 评分)、Plex(播放链接),输出富媒体卡片

3. 双向通信机制:不仅支持"下达指令",还通过轮询 Radarr 队列状态,在原始聊天会话中推送"已导入 ✅"等进度更新

4. 安全设计:API 密钥、服务地址均从环境变量读取,无硬编码敏感信息;子进程调用使用列表传参,规避 shell 注入

潜在缺点与局限性

  • 网络耦合:依赖 Radarr 实例的可访问性,若 Radarr 部署于内网,需确保 OpenClaw 宿主机能路由到达
  • 轮询开销:进度追踪采用文件队列+轮询模式,非 WebSocket 实时推送,延迟取决于 cron 调度频率
  • 无内置认证层:Radarr 自身的 API 密钥是唯一安全屏障,建议配合 VPN/反向代理使用
  • TMDB 依赖限制:富媒体卡片功能需额外申请 TMDB API 密钥,且受限于各服务的速率配额

适合人群

  • 已自建 Radarr+Sonarr+Plex 媒体栈的 NAS/Homelab 用户
  • 希望通过 Telegram/Discord 等聊天工具快速"点单"下载的家庭成员
  • 追求"聊天即自动化"体验,不愿打开 Radarr Web 界面的重度自动化用户

常规风险

| 风险点 | 说明 | 缓解措施 |
|--------|------|----------|
| 误添加电影 | 模糊匹配可能选错影片 | 强制用户二次确认年份/TMDB ID |
| 存储路径错误 | 根文件夹配置不当导致导入失败 | `resolve_defaults.py` 校验可用路径 |
| API 密钥泄露 | 环境变量文件权限配置错误 | 遵循 `.env` 不提交、600 权限原则 |
| 轮询日志膨胀 | 长期追踪大量任务产生状态文件堆积 | 需外部 cron 定期清理 `./state/radarr/outbox/` |

Radarr+ 内容

references文件夹
scripts文件夹
手动下载zip · 22.0 kB
onboarding.mdtext/markdown
请选择文件