yoinks历史文件在哪里?history.json存储结构完全解析 yoinks历史文件在哪里history.json存储结构完全解析【免费下载链接】yoinksyoink any video from your terminal. no shady ads.项目地址: https://gitcode.com/GitHub_Trending/yo/yoinksyoinks 历史文件即history.json是这款终端视频下载工具用来记住你下载过哪些链接的记忆库。yoinks 让你粘贴链接即可下载 YouTube、X、TikTok 等 1800 平台的视频而历史功能则让重复下载同一个链接只需按一下↑ 键就能召回。这篇指南带你彻底搞懂历史文件存在哪、内部结构长什么样、以及那些隐藏的运行规则。历史文件存储位置一个固定的隐藏路径yoinks 的历史记录保存在当前用户主目录下的固定位置~/.config/yoinks/history.json这个路径由 src/lib/history.ts 一行代码写死const HISTORY_FILE path.join(os.homedir(), .config, yoinks, history.json)几个要点不是全局共享的os.homedir()决定了每个系统用户各自拥有一份独立历史互不干扰目录自动创建首次写入历史时会自动执行mkdir -p ~/.config/yoinks你无需手动建目录全平台一致Linux / macOS / Windows 下规则相同Windows 上即%USERPROFILE%\.config\yoinks\history.jsonhistory.json 内部结构一个简单的字符串数组很多人以为历史文件会记录下载时间、文件路径、分辨率等复杂信息但实际上——它只是一个纯 URL 字符串数组没有对象、没有时间戳[ https://www.youtube.com/watch?vdQw4w9WgXcQ, https://x.com/user/status/1234567890, https://www.tiktok.com/creator/video/987654321 ]源码 src/lib/history.ts#L22 负责序列化格式上有两个小细节特征说明缩进JSON.stringify(next, null, 2)统一 2 空格缩进方便人手读结尾文件末尾固定追加一个换行符\n符合 Unix 文本习惯顺序最新的链接永远在数组第一个头部插入也就是说整个历史文件可以被理解为按时间倒序排列的去重 URL 列表。历史存储背后的三条隐藏规则写入逻辑全部集中在 addToHistory 函数里拆开看有 3 条规则规则一头部插入 自动去重const next [url, ...loadHistory().filter(entry entry ! url)].slice(0, LIMIT)每次成功下载后URL 被插到数组最前面如果该链接已经在历史里旧的那条会被过滤掉——所以同一链接无论下载多少次历史里始终只占一行规则二硬性上限 50 条const LIMIT 50slice(0, LIMIT)保证数组永远不超过 50 个元素超出部分最旧的链接会被静默丢弃。这意味着 history.json 的体积被天然锁死在很小的范围内不用担心它无限膨胀。规则三坏了也不误事下载永远优先这是整个模块最精妙的设计。读取端 loadHistory 和写入端都包在try/catch里文件不存在、JSON 损坏、目录无权限→ 读取直接返回空数组相当于没有历史工具照常工作过滤时会剔除所有非字符串条目typeof entry string手动改坏文件也只会少几条记录不会崩溃源码注释写得很直白history is a nicety — never let it break a download历史只是锦上添花绝不能让它毁掉下载所以如果你不小心把 history.json 改乱了最坏的结果也只是历史功能失忆下次下载成功后文件会被重建。实战如何在终端里用上这份历史下载完成的那一刻链接就自动写入了历史文件见 src/app.tsx#L276 中的setHistory(addToHistory(url))。使用方式非常简单运行yoinks进入首页光标停在输入框按一下↑ 键——底部提示栏出现↑ history时输入框就会回填最近一次下载的链接连续按 ↑ 依次回溯更早的记录按↵直接重新下载回填逻辑由 src/components/text-input.tsx 实现按 ↑ 之前你正在输入的内容会被暂存按 ↓ 可以回到暂存状态不会误删你打了一半的文字想彻底清空历史直接删除~/.config/yoinks/history.json即可下次启动时 yoinks 会自动从零开始记录。快速总结问题答案历史文件在哪~/.config/yoinks/history.json内部结构纯 URL 字符串数组2 空格缩进末尾带换行容量上限50 条超出丢弃最旧重复下载会重复记录吗不会自动去重且置顶文件损坏怎么办自动降级为空历史不影响下载如何召回历史首页按 ↑ 键至此yoinks 的history.json从存储路径到内部结构就完全解析清楚了一个极简、自修复、永不阻塞下载的小小记忆系统。【免费下载链接】yoinksyoink any video from your terminal. no shady ads.项目地址: https://gitcode.com/GitHub_Trending/yo/yoinks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考