AGENT DOWNLOADER · README

dl

v2026.10.23

What it does, how to install it, how to use it, and where your data lives — the whole manual on one page.

它是什么、怎么装、怎么用、数据在哪——整本手册就在这一页。

Why dl为什么是 dl

Downloaders are usually either a GUI you cannot script or a library you have to wire up. dl is neither: no window, one command, one JSON on stdout.

It is made to be called by an agent — a stable contract, fixed exit codes, and a command table generated from the implementation so the docs cannot drift.

下载器要么是不能脚本化的 GUI,要么是要自己接线到底层的库。dl 两者都不是:没有窗口,一条命令,stdout 上一个 JSON。

它是给 agent 调用的:稳定契约、固定退出码、命令表从实现自动生成,所以文档不会漂移。

What it does能做什么

  • 19 commands: download, cut audio, fix compatibility, shrink, trim, join, gif, mute, mux, screenshots, transcript and more.
  • Video plus a separated audio track by default.
  • Batch links, quality caps, audio-only, concurrency.
  • Metadata only mode for checking a link without downloading.
  • 23 MCP tools, so an agent can call every capability directly.
  • 19 个命令:下载、抽音频、兼容转码、压体积、剪切、拼接、动图、去音轨、混流、截图、字幕转文字等。
  • 默认同时给视频与分离音轨。
  • 批量链接、画质上限、只要音频、并发。
  • 只看元数据、不下载。
  • 23 个 MCP 工具,agent 能直接调每一项能力。

Install安装

Three ways: the installer (recommended), the portable ZIP with its own Python, yt-dlp and ffmpeg, or from source with Python 3.10+ and yt-dlp/ffmpeg on PATH.

Verify with dl doctor — it reports your exit IP, which sites are reachable, and what to do next.

三种装法:安装包(推荐)、便携版(自带 Python、yt-dlp、ffmpeg)、源码(Python 3.10+ 且 PATH 上有 yt-dlp 与 ffmpeg)。

装完先跑 dl doctor:它会告诉你出口 IP、哪些站点通、接下来该怎么办。

How to use使用说明

  1. Copy the link in your browser, then type dl — with no argument it reads the clipboard.
  2. To paste a link directly, wrap the whole URL in double quotes; an unquoted ampersand breaks PowerShell before dl even starts.
  3. dl <url> -q 720 caps quality; --audio-only --audio-format mp3 takes just the audio.
  4. Add --dry-run to inspect a link without downloading.
  1. 在浏览器里复制链接,然后只敲 dl——不带参数时它读剪贴板。
  2. 要直接粘链接,就把整条 URL 用双引号包起来;不加引号的 & 会让 PowerShell 在 dl 启动前就报错。
  3. dl <url> -q 720 限制画质;--audio-only --audio-format mp3 只要音频。
  4. 加 --dry-run 只看不动。

Contract, privacy, limits契约、隐私、限制

stdout is exactly one JSON; anything else goes to stderr. Exit codes are 0 all good, 1 partial, 2 failed or bad arguments, 130 interrupted. Add --ndjson for a stream while batch downloading.

Downloads go to the folder you choose; login cookies stay on your machine. Some sites require cookies, and network restrictions will look like extractor errors — dl doctor tells them apart.

stdout 只有一个 JSON,其余都去 stderr。退出码:0 全成、1 部分成、2 全败或参数错、130 被打断。批量时可加 --ndjson 边下边吐。

下载物进你指定的目录,登录 cookie 只留在本机。有些站点需要 cookie;网络限制会被表现成「提取器失效」,dl doctor 能分辨两者。

Version, update, tech版本、更新、实现

Version 2026.10.23 — the version is the build date. dl update refreshes itself; dependencies come from domestic mirrors, no VPN needed.

Python, with a contract layer that is the single source of truth for the CLI and the MCP server; 29 tests, run with python run_tests.py.

版本 2026.10.23——版本号就是打包日期。dl update 自我更新;依赖走国内镜像,不需要 VPN。

Python 实现,契约层是 CLI 与 MCP 服务器的单一事实来源;29 个测试,跑 python run_tests.py。