代码跑起来了,AI却卡在歌词上,我删了第七遍API调用。
x,x,x
昨天下午三点,我把VS Code更新到1.86,重新装了AI Code插件,不是为了炫技,就为了搞明白——一个能播MP3的简单播放器,到底要亲手敲多少行,AI又能真真正正帮我踩几脚坑。
DeepSeek官网注册要实名,我填完身份证等了四分钟才收到短信,不是系统卡,是它真要核。Token生成后我直接复制进VS Code设置里,没截图,也没粘贴到记事本,怕手滑发群里。插件右下角那个蓝色“C”图标,亮了我才敢往下走。
提示词我写了三遍。第一遍说“帮我写个音乐播放器”,AI吐出来一堆Vue+Vite的代码,还带Web Audio高级混音,我压根不用。第二遍加了“Electron + React + HTML5 Audio”,它终于不扯WebGL了,但`package.json`里漏了`@electron/remote`,npm install报错。第三遍我把要求拆成短句,像写便签:“拖文件进去能播”“暂停键要有手动能点的反馈”“音量滑块按方向键得动”,它才交出一份能`npm start`跑起来的结构。
歌词那块最折腾。我让它调Genius API,它生成的代码用的是`fetch`,header里写`Authorization: Bearer xxx`,但测试时一直403。我复制报错信息,连同三行请求代码,用Ctrl+Alt+I唤出插件聊天框,问:“token我测过能curl通,是不是少传了User-Agent?”AI回得快:“Genius强制要求User-Agent字段,值不能为空”。我加上了,还是403。再问,它说“检查Host头是否被自动改写”,我翻Network面板,发现Electron里fetch默认不带Host,手动加了一行`headers: { 'User-Agent': 'MusicPlayer/1.0' }`,这回通了。
UI组件我特意强调“别用绝对定位”。AI生成的PlayerUI.tsx里真没写`position: absolute`,但音量滑块的aria属性写成了`aria-valuemin="0"`却漏了`aria-valuemax="100"`。我手动补上,用Chrome的Lighthouse跑了一次可访问性检测,分数从62跳到94。
主进程配置差点翻车。AI给的`main.js`里`webPreferences`开着`nodeIntegration: true`,我查了Electron 30的文档,这玩意儿2025年就标为废弃了,现在默认必须关。改成`contextIsolation: true`之后,渲染进程里调`require('electron').ipcRenderer`直接报错,又得加`preload.js`桥接。这部分AI根本没提,我照着官方迁移指南一行行抄的。
测试用例它倒生成了几个,比如“测试播放按钮点击后audio.play()是否触发”。但我手动加了三条:文件名带中文乱码时能不能读;拖进一个空txt文件进去会不会崩;连续点十次上一首,进度条有没有负数。Jest跑完,两个红,一个是因为歌词接口超时挂了,另一个是音频对象还没加载完就调`.duration`,返回了NaN。
部署前我执行了`npm ls --prod --depth=0`,发现AI顺手加了`axios`和`dayjs`,但整个项目就一个歌词请求,用原生fetch就够了。我把`axios`删了,`dayjs`留着——后面加播放时间格式化可能用得上,先不删。
体验金剩了8块3。我算了下:光歌词模块来回修、问、试、改,就用了47次API调用。整个播放器从空文件夹到能放歌,总共用了15分钟配环境,40分钟生成+校验,25分钟调试加固。中间我起身倒了两次水,接了个电话,还回了三条微信。AI没替我写代码,它替我试错了方向——比如先确认Genius要不要User-Agent,而不是让我自己挨个查文档。
最后一版代码里,所有AI生成的部分我都加了注释,写着“// AI初稿,2026-02-11,后由人工补全错误处理与安全配置”。Git提交记录里,有六次以“fix: lyrics 403”开头的commit,最后一次是“fix: electron contextIsolation + preload.js”。
我把播放器打包成macOS dmg,双击打开,拖进一首本地MP3,点了播放。进度条动了,声音出来了。歌词框是空的,我点开控制台,看到一行绿色文字:`[lyrics] fetched for 'Blinding Lights' - The Weeknd`。
我关掉终端,关掉VS Code,没保存任何新提示词模板,也没建什么Prompt Library。就关了。
本站是社保查询公益性网站链接,数据来自各地人力资源和社会保障局,具体内容以官网为准。
定期更新查询链接数据 苏ICP备17010502号-11