我的第一个开源项目:ASMRip 开发手记

大家好,我是子墨,一名刚踏入大学校园的大一新生,也是个一头扎进开发、信安和 AI 领域的技术爱好者。比起 “程序员”,我更愿意称自己为 “摸索者”—— 没有系统的项目经验,全靠一腔热爱,跟着教程学、对着文档啃,再加上 AI 的 “神助攻”,摸着石头过河,在技术路上慢慢踩坑前行。

ASMRip

ASMRip 是我的第一个完整开源项目,缘起其实特别实际:最近常听 ASMR,发现不少优质内容平台支持合法下载,但实际操作中总踩坑 —— 对于一个 “资源仓鼠” 来说,批量存内容时,本地直连的体验实在拉胯,要么速度上不去,要么半路卡断重下,反复折腾既费时间又耗资源,试了几次就觉得不如自己做个工具解决问题。

最初的目标其实特别简单:压根没想着做好看的界面,只打算写个命令行版本能用就行。但命令行看不到音频封面,选文件、看进度也不够直观,用着总觉得不得劲,于是初版改成了 “命令行打日志、Web 界面做控制” 的混合模式 —— 理论上这样已经能正常使用了,直到测试时发现因 Windows 系统特性,命令行进程无法依存托盘后台运行,关闭命令行会导致下载中断,最终通过自定义窗口解决了这一问题。

开发过程中,踩过的坑远比想象中多。比如最开始进度条计算错误,总是以所有文件的总大小为基准,哪怕用户只选了部分文件,进度条也会乱跳;文件名兼容问题,很多 ASMR 文件名字里带全角符号、特殊字符,Windows 系统根本识别不了,只能写个工具函数专门清洗文件名,把非法字符替换成下划线,还得生成重命名日志方便用户对照。

最让人头疼的是循环导入和弹窗失效的问题。为了让日志能同时在自定义窗口和 Web 界面显示,我把日志功能拆到了 shared.py 里,结果不小心造成了模块间循环导入,启动程序就报错;好不容易解决了导入问题,又发现下载开始和完成的弹窗不显示,排查了半天才发现是 JavaScript 里的弹窗逻辑没和后端状态同步。还有进度条失效、托盘退出无响应、下载完成后分不清是正常结束还是手动停止等一系列问题,每一个都让我卡了好久。

好在, AI 成了我的 “救火队员”—— 遇到循环导入的逻辑难题,它帮我梳理模块依赖;写文件清洗函数时,它帮我完善正则表达式;调试进度条实时刷新时,它提醒我用线程安全的队列传递进度数据。很多时候我对着报错日志手足无措,把问题描述给 AI,它总能快速定位原因,给出修改方案,虽然偶尔也会有小偏差,但总能帮我打开思路。

经过一次次修改,ASMRip 终于慢慢完善起来:Web 界面里加了紫色进度条,能实时显示当前下载的百分比和网速;下载开始和完成都会弹出提示弹窗,手动停止还会二次确认,避免误操作;自定义窗口成了专门的日志查看器,不同级别日志用不同颜色标注,清晰明了;日志还会在退出的时候自动保存,以便不时之需。

现在的本地版的 ASMRip,支持 RJ 号搜索、批量下载、自动重试、封面显示,还能处理 Windows 文件名兼容问题,下载完成后会清晰展示成功和失败的文件列表及原因。从最开始的命令行脚本,到现在带 Web 界面、系统托盘、自定义日志窗口的完整工具,每一个功能的实现,都是一次踩坑后的成长。

写下这篇随笔,不是想炫耀项目多厉害(毕竟这里藏着不少新手痕迹),而是想记录下一个爱好者,如何借着 AI 的助力,完成从 “只会跟着教程写 demo” 到 “做出能满足自己需求的实用工具” 的跨越,希望这能给和我一样刚入门的技术爱好者一点“原来我也可以”的勇气。

回头看这段开发经历,从最初的一个简单想法,到不断发现问题、解决问题,再到最终项目落地,不仅学会了 Flask、Pillow、pystray 等工具的使用,更明白了 “解决实际问题” 才是开发的核心。作为一个新手,虽然过程磕磕绊绊,但每一次 bug 修复、每一个功能完善,都让我对编程的热爱又多了一分。这只是我的第一个项目,未来还有更多技术要学、更多坑要踩,但我已经迫不及待想继续探索下去了。

最后,做一个重要声明:本项目仅为个人学习与技术实践使用,开发初衷是提升自身的 Python 编程、界面开发、本地文件管理及轻量网络优化等技术能力,使用本工具时,请务必严格遵守相关法律法规,尊重内容创作者的著作权,仅下载和使用已获得合法授权的内容,切勿将工具用于任何违规违法场景。

项目:ASMRip

GitHub:ASMRip

Gitee:ASMRip
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇