downloader-operation

Inspect and control qBittorrent, Transmission, and rTorrent instances through validated provider actions.

11.7k|1.5k|Updated May 31, 2023
One-click install
npx skills add https://github.com/jxxghp/MoviePilot --skill downloader-operation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: downloader-operation
Source: https://github.com/jxxghp/MoviePilot/tree/main/skills/downloader-operation
Command: npx skills add https://github.com/jxxghp/MoviePilot --skill downloader-operation

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Managing torrent clients directly requires handling provider-specific APIs, credentials, and inconsistent capabilities. This Skill lets an agent inspect, diagnose, and control configured qBittorrent, Transmission, or rTorrent instances through one validated action contract, without exposing hosts, passwords, or API keys.

Core Features & Use Cases

  • Task Inspection and Diagnosis: List and filter tasks, read files, trackers, peers, tags, and session statistics across all three providers.
  • Direct Task Control: Start, stop, delete, recheck, reannounce, reorder queue positions, set speed/ratio/seeding limits, move locations, and manage tags or categories.
  • Direct Provider Submission: Submit magnets, URLs, or local torrent files straight to the downloader when bypassing MoviePilot's acquisition pipeline is explicitly intended.
  • Use Case: A user notices a stalled download and asks the agent to check the task's trackers and peers on the main qBittorrent instance, force a reannounce, and raise its queue priority, all in validated single calls.

Quick Start

Ask the agent to list the currently downloading tasks on the default downloader and show their status and progress.

Frequently Asked Questions about downloader-operation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control qBittorrent or Transmission tasks from an AI agent?

Use the mp-downloader.py helper with the call command, specifying an action like tasks.list or tasks.start and a JSON arguments object. The helper reads MoviePilot's local downloader configuration itself, so you never pass hosts, usernames, or passwords.

What download clients does this downloader control tool support?

It supports qBittorrent, Transmission, and rTorrent. Some actions are provider-specific, such as tasks.peers and tasks.category.set for qBittorrent only, and session.details for Transmission only.

How do I set speed limits on a torrent task?

Call tasks.properties.set with the task_id and the desired upload_limit or download_limit in KB/s, where 0 means unlimited. You can also set ratio_limit and seeding_time_limit, though rTorrent does not support those two fields.

Does tasks.add.direct bypass MoviePilot's download workflow?

Yes. tasks.add.direct submits a magnet, URL, or torrent file straight to the provider, skipping MoviePilot's download history, site Cookie handling, path selection, duplicate checks, and transfer orchestration. Use it only when direct submission is explicitly intended.

Why does a downloader call fail with multiple instance names listed?

The failure means several enabled downloaders exist and no --client was specified, so the helper cannot pick one. Reissue the call with --client set to one of the listed names, or omit it when only one enabled or default downloader exists.

When should I use moviepilot-api instead of direct downloader operations?

Prefer moviepilot-api for ordinary acquisition workflows like site search, download.add, subscriptions, transfer, history, and library checks. Use direct downloader operations only for provider-native inspection, diagnosis, advanced task properties, or explicit direct control requests.