LovStudio Skill / General·FREE · OPEN SOURCE

媒体抓取

检索并选择合适版本,qBittorrent 与 aria2 续传兜底,最后验收本地媒体与字幕状态

基本信息

你会用它完成什么

自动检索、比较并下载电影、剧集或其他长视频,结合 qBittorrent 与 aria2 做多源测速、可恢复续传、慢源切换、容量预检、剪辑版核验与字幕验收;适用于“帮我找并下载这部电影”、"find and download the best release"。

适用场景
General
当前版本
v0.2.0

SKILL CARD / TRUST RECORD

先看证据,再决定是否使用

把片名或 Magnet/Torrent 请求变成经过容量预检、版本核验、可恢复下载和 ffprobe 验收的本地媒体,并把字幕缺口单独呈现。

CARD v0.2.0

适用场景

从片名或已有 Magnet/Torrent 识别、选择、下载并验收电影或剧集

维护方 · LovStudio / 手工川工作室

输出契约

JSON · MKV / MP4 / supported container · UTF-8 SRT

依赖与环境

qBittorrent credentials remain in environment variables or an operating-system credential store; reports contain no secrets.

风险与缓解

搜索结果中的做种数和文件名会随时间漂移,且不等同于稳定下载速度。 · 保留 advertised 与 observed 两套字段,执行暖机后的持续测速,并记录 backend 与切换事件。

+3

DIMENSIONS

维度地图

5 维度

剪辑版本识别

先确认作品与剪辑版本,再比较画质和体积。

quality-policy.md 的时长容差规则;LOTR 案例的 Extended Remastered 候选与三部片时长回读。

下载韧性

以持续实测速度选择后端,并在同一输入上保留可恢复状态。

aria2_acquire.py 的 DHT/PeX/LSD/Tracker 配置、.aria2 状态和 LOTR 的 qBittorrent→aria2 传输记录。

容量纪律

把成片、局部文件、探测预算和空间保留一起纳入预检。

storage_preflight.py 与 acquisition-policy.md 的计算式和终态。

媒体验收

客户端完成信号之后,逐文件检查可读性、时长、编码、音轨和字幕。

verify_media.py 的结构化报告;LOTR 案例 3 个文件均可读且无错误。

字幕保真

将简中字幕作为独立状态,遵循时间轴、UTF-8、SRT 和原文件不变原则。

references/subtitle-handoff.md 与 lov-subtitle-freedom-skill 的 SRT 保真约定;LOTR 报告明确标出 zh-Hans 缺口。

PRICING CARD

价格与交付边界

检索并选择合适版本,qBittorrent 与 aria2 续传兜底,最后验收本地媒体与字幕状态。

免费入口

免费

稳定价格带 免费

价值锚点

一次长视频任务通常可省下数十分钟至数小时的版本筛选、容量检查、下载排障和文件验收时间。

定价依据

按一条可回读的本地媒体交付链路定价,重点是减少错误版本、重复下载、慢源等待和未验收文件。

使用边界

覆盖候选检索、版本选择、容量预检、qBittorrent/aria2 编排、媒体验收和字幕状态记录;外部来源、网络可达性与字幕内容本身按实际条件处理。

维护说明

随 qBittorrent、aria2、FFmpeg、Skill runtime 和字幕格式变化复评。

证据状态:开放入口,持续收集证据版本变化、连续 10 次真实使用或下载后端与字幕支持成本明显变化时复评。

案例

看看它做出的成品

CASE 01

指环王三部曲:qBittorrent 慢源切换到 aria2 续传

用户只给出片名并偏好加长版、原声、合理体积和简中字幕;任务通过候选检索、版本排序、容量预检、qBittorrent 首轮测速、aria2 同输入续传和最终 ffprobe 验收完成。

提示词 / PROMPT

$lov-media-fetch 指环王三部曲

使用说明

按这套方法完成任务

Version

一键完成长视频的检索、版本选择、磁盘预检、多源测速下载、可恢复续传、慢源切换和文件验收。

本地安装

在本仓库根目录执行:

export SKILL_SOURCE_DIR="$(pwd)"
mkdir -p "${SKILL_SKILLS_INSTALL_DIR:?请设置本地 Skills 目录}"
ln -s "$SKILL_SOURCE_DIR" \
  "$SKILL_SKILLS_INSTALL_DIR/lov-media-fetch"

安装链接必须解析到当前源码目录;打包文件不等于本地安装。

用户配置

默认下载到 $HOME/Downloads/Media。首次运行先查看解析结果:

python3 scripts/media_config.py show

确认后写入共享配置:

python3 scripts/media_config.py init --write

显式请求和环境变量始终覆盖配置。qBittorrent 密码只通过 QBITTORRENT_PASSWORD 或系统凭据提供。

使用

  • “帮我找并下载《影片名》的导演剪辑版,优先中英字幕,体积控制在 20GB 内。”
  • “Find and download the best compact 4K release of TITLE, then verify the English and Chinese subtitles.”
  • “这个 Magnet 帮我下载;先确认磁盘够用,太慢就自动换另一个版本。”

自然语言调用默认运行 full 流水线。已有链接使用 download-known;本地文件验收使用 verify。 qBittorrent 负责集成搜索与首轮测速,aria2 负责同一 Magnet/Torrent 的续传兜底。 每次切换都写入 transport trace,不把客户端进度当作最终完成证据。

qBittorrent 连接

首次调用会安装缺失的稳定版依赖,并将 WebUI 限定在本机回环地址。已有兼容 客户端时直接复用。密码保存在系统凭据中,再通过环境变量注入当前任务。

export QBITTORRENT_URL="http://127.0.0.1:8080"
export QBITTORRENT_USERNAME="admin"
export QBITTORRENT_PASSWORD="从安全凭据读取"

依次可运行:

python3 scripts/qbittorrent_search.py --query "TITLE YEAR" --output candidates.json
python3 scripts/rank_candidates.py --input candidates.json --output decision.json
python3 scripts/storage_preflight.py --decision decision.json
python3 scripts/qbittorrent_acquire.py --decision decision.json --wait-complete --result acquisition.json
python3 scripts/aria2_acquire.py \
  --input INPUT --job-id JOB_ID --output-dir "$HOME/Downloads/Media" \
  --result aria2-acquisition.json --watch --no-proxy
python3 scripts/verify_media.py --path "$HOME/Downloads/Media" --output verification.json

质量门

python3 scripts/validate_skill.py .
python3 scripts/media_config.py show --json
python3 scripts/rank_candidates.py \
  --input assets/example-candidates.json \
  --output /tmp/media-fetch-decision.json
python3 scripts/storage_preflight.py \
  --decision /tmp/media-fetch-decision.json \
  --output-dir /tmp
python3 scripts/qbittorrent_acquire.py \
  --decision /tmp/media-fetch-decision.json \
  --dry-run --result /tmp/media-fetch-acquisition.json

依赖

  • Python 3.9+
  • PyYAML(Skill 源码校验)
  • qBittorrent 5.x WebUI(搜索、测速和下载)
  • FFmpeg / ffprobe(媒体验收)
  • 可选:Rats Search(独立 DHT 检索)
  • 可选:aria2 1.36+(qBittorrent 慢源时的续传后端)

字幕分支

默认验收 zh-Hansen。如果成片只有英文字幕,先匹配同一发行版本的外置 SRT,再交给 lov-subtitle-freedom-skill 做时间轴、UTF-8 和 SRT 保真处理。该 Skill 的英文学习提示、人物卡和 ASS 样式均需要明确开启;Media Fetch 不会把它们 作为简中字幕输出。

用户案例

《指环王》三部曲的实际任务验证了这条链路:qBittorrent 搜索并测速后,主候选在 首轮实测偏慢,aria2 使用同一信息哈希、DHT/PeX/LSD 与 Tracker 续传,最终得到 3 个可读的 1080p HEVC 文件。下载报告为 complete,媒体验收为 passed_with_warnings,唯一开放项是原发行文件未嵌入 zh-Hans,因此报告继续 保留字幕缺口而不是虚报“双语完成”。完整脱敏证据位于 cases/evidence/

License

MIT

用户评价与留言

登录后即可留言

分发渠道

在哪里可以获得它

这里标注这个 Skill 在各个平台的真实发布状态;有单品页时,入口会直接打开对应页面。

已发布

GitHub

公开源码、更新记录与 Issue 都在这里。

查看 GitHub
LS已发布

LovStudio 官网

在 LovStudio 获取、安装并查看使用说明。

你正在浏览此页面

WB暂未发布

WorkBuddy

该平台的单品页尚未发布。

单品页发布后会在这里出现。

SP暂未发布

支付宝 SkillPay

该平台的单品页尚未发布。

单品页发布后会在这里出现。

安装渠道

装到你正在使用的 AI

Yoda、Codex、Claude Code 和其他兼容运行环境都使用同一份 Skill;选择你的工具后,按对应步骤完成安装。

先保存一次工作资料,支持 Profile 的 Skill 会在运行时直接复用。

配置工作资料

安装与配置

Yoda

适合同时使用多个 Agent 的工作流:在一个地方完成安装、分配和调用。

  1. 01打开 Yoda 的 Skills,搜索「media-fetch」,进入详情后点击“安装”。
  2. 02在目标 Agent 的配置中,把该 Skill 设为“自动”“仅手动”或“关闭”。
  3. 03重新加载当前会话,再从输入框的 Skill 菜单选择它;Yoda 会按当前 Runtime 插入对应调用命令。
打开 Yoda

在 Yoda 内完成

Yoda 会把安装后的 Skill 同步给已配置的 Agent,无需手动维护多个目录。

第一次调用

使用 media-fetch 完成以下任务,并按 Skill 的验收标准检查结果:

搭配使用

需要时,继续补齐这些能力

更多信息

兼容性、权限与许可

源码可见性
公开仓库,可检查源码、Issue 与更新记录。
兼容性
上游未结构化声明;请以完整手册和运行时官方说明为准。
数据与权限
不同 Skill 可能读取本地文件、访问网络或调用第三方模型。执行前请检查完整手册中的具体步骤与命令。
许可
MIT

NEXT STEP

继续比较,再决定。

回到目录,从结果、证据、依赖和价格选择最合适的工作流。

返回当前 Skills 结果

LOVSTUDIO / KEEP MAKING

生命的意义,
在于创作

LovStudio