第一次尝试 Vibe Coding 建了一个硬件检测站,以此复盘: AI 编程真的没想象中那么简单 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zylics
V2EX    分享创造

第一次尝试 Vibe Coding 建了一个硬件检测站,以此复盘: AI 编程真的没想象中那么简单

  •  
  •   zylics 6 天前 1561 次点击

    想和大家分享一下我最近的一个“实验项目” hardwaretest.org

    起初做这个站的动机很简单:自己买外设时,受够了那些满屏广告、甚至要下载 exe 的检测工具。作为一个“半桶水”开发者,最近被 "Vibe Coding" 的概念洗脑了,“现在 AI 这么强,我只负责提需求,代码全交给 AI ,岂不是分分钟搞定?”

    事实证明,我还是太天真了。

    虽然 AI 确实极大地降低了门槛,但要把一个工具从“能跑”打磨到“好用”,过程中的坑真不少。

    这一路遇到的“真实挑战”:

    编程工具:一开始用的 Antigravity ,界面完全他设计的,后面额度不够用,又改成 codex 完成。blog 文章编写用的 gemini ,但是写到项目里面又是 codex 集成,文章被改的七零八落,反正各种折腾。

    浏览器环境的局限性( Keyboard Test ): 我原本以为测键盘回报率( Polling Rate )很简单,让 AI 写个监听器就行。结果发现浏览器的 Event Loop 甚至跟不上 1000Hz 的设备,测出来的数据全是抖动的。

    解决过程: 被迫和 AI 进行了几十轮对话,优化算法,加防抖逻辑,做滑动平均,才勉强在 Web 端实现了一个相对准确的“实时 Hz 仪表盘”。

    看似简单的功能,细节全是魔鬼( Mouse Test ): 原本以为鼠标测试就是监听 click 事件。后来发现,为了测“微动连点( Double Click )”和“滚轮回滚”,需要非常精细的计数逻辑。还有那个“中键( Middle Click )”,AI 一开始总是把滚轮滚动和中键点击混淆。

    SEO 的苦战: 代码写完了只是第一步。为了让这个英文站能被 Google 收录,我又花了大量精力折腾 Schema 、FAQ 、JSON-LD 。这时候才发现,AI 写的代码经常是“语法正确但逻辑不通”,导致 GSC 报错,还得人工介入修修补补。

    最终折腾出来的成果:

    虽然过程比预想的曲折,但最终成品我还是挺满意的。这是一个纯静态、无广告、深色模式的在线硬件检测箱:

    www.hardwaretest.org

    目前上线了四个板块:

    Keyboard Test: 带实时 Hz 波动显示的键盘测试(支持测 Ghosting )。

    Mouse Test: 左右中键 + 滚轮 + 双击检测。

    Dead Pixel & Fixer: 除了测坏点,还用 Canvas 写了一个“高频噪点修复”功能。

    Audio Test: 左右声道分离 + 对数扫频( Log Sweep )。

    这次 Vibe Coding 的体验让我明白,之前想法太简单了。。。AI 确实能把开发效率提升 10 倍,但它目前还替代不了对产品细节的把控。

    求轻喷/求反馈: 网站目前刚上线,肯定还有不少 Bug 或体验不好的地方。 如有大佬路过,欢迎试用并提提意见,任何反馈对我来说都非常宝贵...以后准备再找机会做个 ai 工具站,试试海外出海。

    第 1 条附言    2 天前
    然后最近发现一个大 bug ,用 ai 生成的 blog ,meta 和描述都用的首页,竟然没有单独生成。并且有个大问题是 Google 发现大部分 URL 的原始 HTML 同质、且 canonical 指向首页 → 选择首页为唯一 canonical ,其它 URL 变成“Duplicate / canonicalized” → 展示量归零或很低。
    我估计这个 bug 是 google Antigravity 编程时出现的,因为整个架构是它搭建的。
    再次说明 ai 编程还是很有可能给你挖坑的。不去 review 的话,就是一个大坑了。
    14 条回复    2025-12-09 18:24:23 +08:00
    yyzq007
        1
    yyzq007  
       6 天前
    体验了下, 很不错, 感谢分享
    xiaohanyu
        2
    xiaohanyu  
       6 天前
    网站蛮有意思的。

    所以总共花了多长时间? Google 收录了么?
    zylics
        3
    zylics  
    OP
       6 天前
    @yyzq007 谢谢
    zylics
        4
    zylics  
    OP
       6 天前
    @xiaohanyu 从开始第一步到 google 收录大概 1 周时间。。很多时间花在摸索上面
    xiaohanyu
        5
    xiaohanyu  
       6 天前
    体验了下,感觉还是蛮好的,加油加油!
    subframe75361
        6
    subframe75361  
       6 天前 via Android
    体验不错,已收藏
    extra888
        7
    extra888  
       6 天前
    scyuns
        8
    scyuns  
       6 天前
    可能是出海 但是还是建议加上本土语言包
    zylics
        9
    zylics  
    OP
       6 天前
    HuberyPang
        10
    HuberyPang  
       6 天前
    bug:mac chrome 测试,没有禁用一些按键本身默认的快捷键方式,比如 tap 键会自动跳转到下一个选项,F11 的快捷键
    zylics
        11
    zylics  
    OP
       6 天前
    @HuberyPang 谢谢反馈,之前只增加了 windows 的快捷键拦截,现在 mac 也加上了,不过有些电脑的物理设置的快捷键还是拦截上有点问题。我再想想有没有解决办法。
    zylics
        12
    zylics  
    OP
       6 天前
    @scyuns 嗯嗯,是的,我发现流量有来着不同语音国家。
    yanyiming
        13
    yanyiming  
       5 天前
    这么硬核的吗,怎么变现呀?
    zylics
        14
    zylics  
    OP
       5 天前
    @yanyiming 先看看有没有流量吧,现在这种网站太多了,大多为爱发电
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5656 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 02:54 PVG 10:54 LAX 18:54 JFK 21:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86