为了学 AI,我用 Go + Fyne 手撸了一个原生视频下载器
为了学 AI,我用 Go + Fyne 手撸了一个原生视频下载器 大家好,我是老墨。 一个写了十几年代码,发际线依然坚挺,但最近确实有点焦虑的中年程序员。 为啥焦虑?还不是因为这该死的 AI。 从 24 年初 Sora 横空出世,到 Claude 3.5 杀疯了,再到最近 DeepSeek 甚至能自己修 Bug,这世界变化快得像开了二倍速。以前我们卷算法、卷架构,现在倒好,不仅要卷提示词,还要防着被自己的 IDE 抢了饭碗。 老墨我痛定思痛,觉得不能坐以待毙。打不过就加入嘛,我也开始疯狂恶补 AI 知识。 01 一个悲伤的故事:学习资料太多也是一种烦恼 要学 AI,最好的路径是什么?这年头文档更新赶不上模型迭代,最鲜活的知识全在视频里。YouTube 上的 Andrej Karpathy 大神课,B 站上的各种论文精读、实战通过… 于是我的浏览器收藏夹很快就爆了。 但我这人有个毛病,看视频喜欢囤。一来是有些干货太硬,得反复咀嚼;二来是作为技术人,总有一种由于网络不确定性带来的"松鼠症"——好东西必须存在本地硬盘里才踏实。 这时候问题来了:市面上的下载器,怎么就没一个顺手的? 某雷:广告多是其次,关键是我想下的 YouTube 和 B 站视频它基本都解析不了。对于我们这种想看外网 AI 前沿教程的人来说,它形同虚设。 某 IDM:嗅探功能很强,但碰到 YouTube/B 站 这种音视频分离的高画质(DASH流)视频就歇菜了,经常只能下个无声画面,心累。而且 Mac 上没有原生版,体验割裂。 Electron 系工具:界面是好看了,但这动不动几百兆的内存占用,我开个 PyCharm 跑模型本来就捉襟见肘,哪还有余粮养它们? 命令行 yt-dlp:这是真神,功能无敌。用了很久,自己写脚本都写了多个。但时间久了脚本太多,每次想下个视频还得敲命令,复制粘贴 URL,还得拼代理参数… 实在是比较麻烦。 “求人不如求己,为什么不能自己写一个GUI?” 这念头一出,我就兴奋了。写了几年的 Golang,这点事情不在话下。说干就干,开搞开搞。 02 技术选型:要做就做原生的 既然决定自己干,那必须立好 Flag: 要快:启动快,下载快。 要美:虽然我是后端出身,但也不能忍受丑陋的 UI。 要轻:拒绝 Electron,拒绝 WebView,我要纯原生。 基于这个标准,技术栈基本就锁死了: ...