nengong/download-anything
效率与系统工具面向个人与 AI Agent 的全能下载 CLI 与 Skill,把视频、文章、论文、电子书和网盘分享下载后连同字幕、封面和引用一并归档。
项目介绍
Download Anything(DA)把散落在不同平台的下载任务收进一个命令行工具和一套 AI Agent Skill。它接受链接、App 分享口令、DOI、ISBN、包名和本地音频路径,下载主文件时同步保存配套内容:字幕、封面、独立音轨、BibTeX 引用和元数据,便于交给 AI Agent 总结或归档到 Obsidian。
覆盖范围包括 B 站分 P、抖音和小红书(视频、多图、实况图)、X/微博/Instagram、播客、公众号与技术文章、arXiv 和 DOI 论文、MIT OCW 讲义、ISBN/MD5 电子书、百度与夸克网盘分享、GitHub 单文件和 Release、微软商店离线包以及 APK。
项目的核心设计是"先校验再算成功"。一次任务拆成四步:清洗分享文本并提取标识符、按平台选择驱动、检查文件完整性、生成附属文件。PDF、EPUB、图片和 ZIP 用对应解析库检查,音视频用 ffprobe 检查流数量和是否有音轨,因此把 HTML 报错页当文件保存下来时不会报告成功。
快速上手
需要 Python 3.10 或更高版本;音视频任务还需要 FFmpeg(用于抽轨、转码和合并 HLS/DASH)。
从源码目录安装到独立虚拟环境:
python3 skills/download-anything/scripts/install.py
~/.download-anything/venv/bin/da doctor --json
预期结果是 doctor 输出中 all_required_ok 为 true。若 da 不在 PATH 中,先使用完整路径;要把命令简化为 da 或 dl,需把 ~/.download-anything/venv/bin(Windows 为 %USERPROFILE%\.download-anything\venv\Scripts)加入 PATH。
之后把链接、标识符或分享口令交给 CLI:
da "https://www.bilibili.com/video/BV11s41167h6?p=2" --json
da "https://arxiv.org/abs/2310.06825" --json
da "通过网盘分享的文件:资料包.zip 链接: https://pan.baidu.com/s/1xxxx 提取码: a1b2" --json
da "https://mp.weixin.qq.com/s/..." --vault ~/Documents/MyVault --json
JSON 结果中,success、cached、dry_run 退出码为 0,partial 为 2,error 为 1。批量任务用 -i links.txt 传入链接列表,只要结果含 partial 就返回 2。
如果改用 Agent Skill,先把仓库克隆到持久位置并运行安装脚本,再把 skills/download-anything 整个文件夹复制或链接到 Agent 的用户级技能目录(Codex 为 ~/.agents/skills/download-anything,Claude Code 为 ~/.claude/skills/download-anything)。npx skills add nengong/download-anything 只安装 Skill,CLI 安装和自检仍需运行 Skill 中的脚本完成。
平台与凭据约束
不少来源依赖登录态。桌面环境可用 da login <平台> 从浏览器或客户端提取 Cookie;无头环境、Docker 或 CI 中可用 DA_<PLATFORM>_COOKIE/<PLATFORM>_COOKIE(如 DA_BAIDU_COOKIE)注入,或挂载 ~/.download-anything/credentials.yaml,自备凭据文件应设为 0600 权限。
单文件下载默认上限 500 MB,可用 --max-mb N 调整。ZIP/TAR 默认自动解压并做路径边界检查,总量上限 500 MB、成员上限 10,000 个;加 --no-unzip 可保留压缩包。README 明确不支持 B 站付费课堂、Coursera/edX/Udemy/中国大学 MOOC 等有登录墙或 DRM 的课程、微软商店付费应用和传统 Win32 .exe 安装器。
APK 的版本取决于 F-Droid、Aptoide 等公开镜像的收录情况。缓存索引使用本地 SQLite(~/.download-anything/index.db)。README 标注 MIT 许可证,但仓库元数据目前未列出许可证文件,代码以当前状态发布时的许可条款尚未确认。
HotRepo 点评
在 HotRepo 2026-11-09 的 Python 新项目榜中,项目在 2026-11-08 22:45 UTC 至 2026-11-09 22:45 UTC 的窗口内新增 54 颗 Star,记录时累计 167 颗 Star、2 个 Fork。随后约一天的小时采样显示从 110 颗稳步涨到 167 颗,最后一小时附近涨幅最大(158 → 163 → 167)。目前尚未进入全语言日榜。
项目覆盖面很广,README 对失败处理写得比同类项目具体:JSON 输出中会给出 media-structure、cached-existence 等校验级别,也明确列出不支持的平台。这些说明值得在实际下载重要文件前对照验证。仓库仅有 2 个 Fork,目前还缺少社区测试的证据。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。