☰
文件都存到~/Downloads?yoinks输出目录的来龙去脉与自定义展望
2026/10/5 2:38:11 网站建设 项目流程

文件都存到~/Downloads?yoinks输出目录的来龙去脉与自定义展望

【免费下载链接】yoinksyoink any video from your terminal. no shady ads.项目地址: https://gitcode.com/GitHub_Trending/yo/yoinks

yoinks 是一款终端视频下载工具,粘贴链接、选个画质,视频就落在~/Downloads——没有弹窗,也没有假下载按钮。这篇文章带你搞清楚:文件到底存去哪、为什么是那里、以及未来如何自定义输出目录。

一键开始:先看看 yoinks 长什么样

安装只需要一行命令(需要 Node 18+):

npm install -g yoinks

然后直接运行yoinks,粘贴视频链接,用方向键选一个清晰度(或音频-only mp3),回车即可。全程在终端里完成,退出时还会帮你恢复滚动历史。

下载完成后,界面会打印✓ yoinked! find your file in:并附上文件的完整路径(主目录用~缩写),方便你直接复制走。

输出目录从哪来:一行代码写死了 ~/Downloads

很多人装完就问:我的文件到底存哪?答案就藏在 src/app.tsx 里:

const OUT_DIR = path.join(os.homedir(), 'Downloads')

这是一行写死的默认值:取系统主目录下的Downloads文件夹。命令行帮助里也明确写着 "Downloads are saved to ~/Downloads",见 src/cli.tsx。

这个设计的出发点其实很"省心":

  • 零配置:不用建文件夹、不用改配置,下完就能在系统下载目录里找到;
  • 符合直觉:~/Downloads是所有操作系统公认的"下载落地区",浏览器、其他工具也都往这放,找文件不用记路径;
  • 跨平台一致:macOS、Linux、Windows 的os.homedir()行为一致,同一份代码三种平台表现相同。

文件完整旅程:从 URL 到文件名

选中画质后,真正的下载逻辑在 src/lib/ytdlp.ts。它调用 yt-dlp 时传了一个输出模板:

-o "$HOME/Downloads/%(title).60s.%(ext)s"

拆开看就有三条实用信息:

  1. 目录:固定~/Downloads;
  2. 文件名 = 视频标题,超过 60 个字符自动截断(.60s),避免长标题把文件名撑爆;
  3. 扩展名自适应:视频是mp4,音频是mp3。

下载完的最后一步,shortenPath会把路径中的主目录替换成~再显示,见 src/lib/format.ts。所以下次你在完成页看到~/Downloads/某视频.mp4,去那个目录找就行。

选画质这一步:顺便看看输出长什么样

粘贴链接后,yoinks 会探测所有可用格式并列出"清晰度 + 预估大小":

高清视频(如 1080p 以上)通常是视频流 + 音频流分开下载再合并,这一步依赖 ffmpeg;找不到系统 ffmpeg 时,yoinks 会自动使用内置的兜底版本。

不止视频:yoinks 还在你家放了什么

除了下载文件本身,yoinks 会在两个隐藏位置存运行数据,顺手了解能帮你排查问题:

位置存什么说明
~/.yoinks/binyt-dlp 独立二进制首次运行时自动下载,无需安装 Python,见 src/lib/ytdlp.ts;如果你系统已装 yt-dlp,它会优先用你的
~/.config/yoinks/history.json最近 50 条下载过的 URL在首页按↑就能翻历史,见 src/lib/history.ts

自定义输出目录展望:-o已在路线图上

现在的 yoinks 还不支持改输出目录——src/lib/args.ts 目前只解析 URL 和--theme,传别的参数会直接报 "unknown option"。

但官方 README.md 的 Roadmap 已经列出了:

  • -o <dir>to choose the output folder

也就是说,指定输出文件夹是明确规划中的功能。而且从代码看,这个功能落地成本很低:download()函数早已接收outDir参数(见 src/lib/ytdlp.ts),只是目前上层永远传入OUT_DIR常量。等-o参数接通,用法大概会是:

yoinks --output ~/Videos/教程 <url>

在功能上线前,临时方案也很简单:下载完成页会打印完整路径,复制它用mv挪走即可;或者养成习惯,把~/Downloads里 yoinks 下的文件定期归档。

小结

  • 📁 文件默认存入~/Downloads,由 src/app.tsx 一行代码决定;
  • 🏷️ 文件名取视频标题(截断至 60 字符),扩展名随格式自动变化;
  • 🔍 完成页会打印~缩写的完整路径,找不到文件时看终端输出最靠谱;
  • 🗺️ 自定义输出目录(-o <dir>)已在官方 Roadmap 中,值得蹲守更新。

顺手提醒:yoinks 是个人存档工具,下载内容请尊重平台条款与创作者版权。

【免费下载链接】yoinksyoink any video from your terminal. no shady ads.项目地址: https://gitcode.com/GitHub_Trending/yo/yoinks

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询