这是我的第一个也是最后一个‘Vibe Coded’产品
Source: Dev.to
Introduction
如果你以为只要坐等 Copilot 或 Cursor 为你构建一个复杂的桌面‑到‑浏览器架构就可以了,那我得在这里打断你。AI 一开始就把我的代码库搞得一团糟。它写出精彩的函数,随后在两次提示后自信地把它们删掉,还引入了让我在期中考试期间彻夜难眠的 bug。
这就是一个为应对限电而写的简单脚本,如何演变成两周的调试噩梦的故事,也是为什么 FlashYT 将是我最后一次“随性编码”的原因。
Story
如果你住在巴基斯坦,你一定很熟悉这种情形。你计划好一天的安排,坐下来刷大学课程或学习新技术,突然——停电了。Wi‑Fi 也断了。
为了应对限电,我开始使用 yt‑dlp 下载学习资料。但说实话,我很懒。每次想要下载特定的 1080p 视频,都要打开终端、粘贴链接、手动输入格式标志,这种体验糟透了。我只想在 YouTube 播放器旁边放一个简单的按钮。
我最初快速写了一个 Tampermonkey 脚本,配合 Python FastAPI 后端。它在我的笔记本上运行得很顺畅。得意之余,我把它分享给了同样有此需求的朋友。
我们在他的机器上部署后……完全失效了。
那一刻我的自尊心受到了严重打击。这次失败把我拉进了一个深渊。我开始研究为什么那么多流行的 YouTube 下载扩展最终会崩溃或被下架。答案很简单:它们把流量转发到中心服务器,而这些服务器最终会被标记并封禁。
我意识到唯一能让工具长期存活的办法是让用户自己充当服务器。我发现了 Chrome 的 Native Messaging API,它允许浏览器扩展直接与本地运行的 Python 脚本通信。没有云端,没有 IP 封锁,只需在 YouTube 界面上点击一次即可完成下载。
The Nightmare of Vibe Coding
由于这种架构对我来说完全是新鲜事,我决定测试一下当前 AI 的水平。我尝试“随性编码”,让 Copilot、Cursor 等大模型在我并未深入理解基础原理的情况下直接编写逻辑。
这是我第一次如此依赖 AI,我可以自信地说,这将是我的最后一次。
整整两周,在我第四学期的期中考试期间,我几乎忘记了睡眠。AI 会写出一段精彩的代码,却在两次提示后自信地把它删掉。它会“修复”一个 bug,却制造出三个新 bug。当我正深入追踪关键错误时,模型又触达使用上限,我只能在凌晨四点盯着一堆破碎的代码发呆。
在对底层系统并不完全了解的情况下调试 AI 生成的 spaghetti 代码,简直是折磨。我几乎要放弃。
这时我妹妹找我要一个下载 YouTube 视频的工具。这成了我的转折点。我停止盲目信任 AI,开始认真阅读文档,自己修复架构,最终稳定了本地宿主的连接。
FlashYT Is Alive
今天,我将 FlashYT 开源。它支持 Linux、macOS 和 Windows。它在 YouTube 播放器上直接添加一个简洁的“Download”按钮,瞬间获取准确的画质,并无缝下载最高 4K 视频。
- 完全免费、开源,且没有任何广告。
- 并非完美——仍在测试边缘案例以进一步完善——但它解决了我最初想要解决的核心问题。
如果你厌倦了那些不可靠的下载网站,试试 FlashYT 吧。查看仓库,安装 beta 版,动手玩玩,告诉我哪些地方需要改进。
🔗 Repo & Installation: