二次元专属工具:OpenClaw+nanobot自动下载新番并整理到Plex媒体库

二次元专属工具:OpenClaw+nanobot自动下载新番并整理到Plex媒体库 二次元专属工具OpenClawnanobot自动下载新番并整理到Plex媒体库1. 为什么需要自动化追番系统作为一个资深二次元爱好者我每周都要花大量时间手动下载新番、整理文件、上传到Plex媒体库。这个过程不仅耗时还经常因为文件名不规范导致Plex无法正确识别剧集信息。直到我发现OpenClawnanobot这个组合才真正实现了追番自由。这套系统的核心价值在于时间节省从RSS订阅到Plex入库全自动完成每周至少节省2小时手动操作命名规范自动按照番剧名 S01E01格式重命名解决Plex识别问题即时更新新番发布后30分钟内就能在Plex上观看个人定制可以根据自己的收藏偏好调整过滤规则2. 系统架构与核心组件2.1 整体工作流程整个自动化系统由四个关键环节组成RSS订阅监控通过nyaa.si等BT站点的RSS订阅获取新番发布信息资源下载调用qBittorrent的Web API自动下载种子文件文件处理重命名、移动文件到指定目录并提取元数据媒体库同步触发Plex媒体库扫描完成入库2.2 核心工具选型经过多次尝试我最终确定了以下工具组合OpenClaw作为自动化执行框架负责流程编排和任务调度nanobot基于Qwen3-4B的轻量模型处理自然语言指令和决策qBittorrent支持Web API的BT客户端用于自动下载Plex Media Server个人媒体库管理软件FileBot用于文件重命名和元数据提取可选3. 环境准备与安装3.1 基础环境配置首先需要在本地电脑或服务器上准备好运行环境# 安装OpenClaw核心组件 curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --install-daemon # 部署nanobot镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qingchen/nanobot:latest docker run -d -p 8000:8000 --gpus all --name nanobot \ -v ~/nanobot_data:/app/data \ registry.cn-hangzhou.aliyuncs.com/qingchen/nanobot:latest3.2 组件互联配置在OpenClaw的配置文件~/.openclaw/openclaw.json中添加nanobot作为模型提供方{ models: { providers: { nanobot: { baseUrl: http://localhost:8000/v1, api: openai-completions, models: [ { id: qwen3-4b-instruct, name: Nanobot Qwen, contextWindow: 32768 } ] } } } }配置完成后重启OpenClaw网关服务openclaw gateway restart4. 自动化流程实现4.1 RSS订阅解析模块我创建了一个Python脚本用于处理RSS订阅关键代码如下import feedparser from openclaw.sdk import OpenClawClient def check_rss_feed(feed_url): feed feedparser.parse(feed_url) new_episodes [] for entry in feed.entries: # 使用nanobot判断是否为目标番剧 response OpenClawClient().ask_model( promptf判断以下资源是否是需要下载的番剧(回答是/否): {entry.title}, modelnanobot/qwen3-4b-instruct ) if 是 in response: new_episodes.append({ title: entry.title, link: entry.link, published: entry.published }) return new_episodes4.2 下载与文件处理流程通过OpenClaw的Skill机制我实现了以下自动化操作链将识别出的番剧资源链接发送到qBittorrent监控下载进度完成后触发文件处理使用规则重命名文件并移动到Plex媒体目录通知Plex刷新媒体库对应的OpenClaw任务描述文件(anime_auto.yml)如下name: 自动追番流程 tasks: - name: 解析RSS type: python script: rss_parser.py args: feed_url: https://nyaa.si/?pagerssq1080p%5BLeopard-Raws%5D - name: 添加下载任务 type: http method: POST url: http://localhost:8080/api/v2/torrents/add body: urls: {{ tasks.解析RSS.output.link }} headers: Content-Type: application/x-www-form-urlencoded - name: 监控下载进度 type: polling target: http://localhost:8080/api/v2/torrents/info condition: {{ response.progress 100 }} interval: 60 - name: 文件重命名 type: python script: rename_anime.py args: file_path: {{ tasks.添加下载任务.output.save_path }} - name: 刷新Plex库 type: http method: GET url: http://localhost:32400/library/sections/1/refresh5. 实际使用效果与优化5.1 基础功能验证系统部署完成后我测试了从RSS订阅到Plex入库的全流程新番《葬送的芙莉莲》第10集发布RSS监控在5分钟内检测到资源自动下载耗时约15分钟取决于网络速度文件重命名和移动过程约1分钟Plex在2分钟内完成元数据抓取整个过程无需人工干预最终在Plex中显示的剧集信息完整准确。5.2 个性化规则优化为了进一步提高系统识别准确率我为nanobot添加了自定义指令你是一个专注动漫资源的助手需要根据以下规则判断是否下载资源 1. 优先选择[Leopard-Raws]或[ANi]发布的资源 2. 分辨率必须是1080p或以上 3. 排除包含BIG5或GB字幕的版本 4. 特别关注《葬送的芙莉莲》《迷宫饭》《我推的孩子》等正在追的番剧通过这种个性化配置系统的误下载率从最初的30%降低到了不到5%。6. 遇到的问题与解决方案6.1 文件名识别错误初期经常出现文件名解析错误导致Plex无法正确识别季和集数。解决方案是开发了一个专门的重命名脚本import re from pathlib import Path def rename_anime_file(file_path): path Path(file_path) # 使用nanobot提取番剧名和集数 response OpenClawClient().ask_model( promptf从以下文件名中提取番剧名和集数: {path.name}, modelnanobot/qwen3-4b-instruct ) # 解析响应并重命名 match re.search(r番剧名:(.?)集数:(\d), response) if match: new_name f{match.group(1).strip()} S01E{match.group(2).zfill(2)}{path.suffix} path.rename(path.parent / new_name) return str(path.parent / new_name) return str(path)6.2 下载卡顿问题当同时下载多个资源时qBittorrent会出现速度下降。通过设置OpenClaw的任务优先级和限速规则解决了这个问题- name: 限速设置 type: http method: POST url: http://localhost:8080/api/v2/transfer/setSpeedLimits body: downloadLimit: 10240 # 10MB/s uploadLimit: 2048 # 2MB/s7. 系统的扩展可能性这套基础框架不仅可以用于追番经过简单调整还能支持更多娱乐场景自动下载最新漫画监控漫画网站更新下载后发送到iPad阅读器音乐收藏管理自动获取新专辑并添加到音乐库游戏MOD管理监控MOD社区自动下载和安装更新关键在于利用OpenClaw的可编程性和nanobot的自然语言理解能力为每个特定兴趣场景定制自动化规则。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。