文件都存到~/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"拆开看就有三条实用信息:
- 目录:固定
~/Downloads; - 文件名 = 视频标题,超过 60 个字符自动截断(
.60s),避免长标题把文件名撑爆; - 扩展名自适应:视频是
mp4,音频是mp3。
下载完的最后一步,shortenPath会把路径中的主目录替换成~再显示,见 src/lib/format.ts。所以下次你在完成页看到~/Downloads/某视频.mp4,去那个目录找就行。
选画质这一步:顺便看看输出长什么样
粘贴链接后,yoinks 会探测所有可用格式并列出"清晰度 + 预估大小":
高清视频(如 1080p 以上)通常是视频流 + 音频流分开下载再合并,这一步依赖 ffmpeg;找不到系统 ffmpeg 时,yoinks 会自动使用内置的兜底版本。
不止视频:yoinks 还在你家放了什么
除了下载文件本身,yoinks 会在两个隐藏位置存运行数据,顺手了解能帮你排查问题:
| 位置 | 存什么 | 说明 |
|---|---|---|
~/.yoinks/bin | yt-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),仅供参考