【中秋国庆 VibeCoding】团圆夜:一个链接,管完一桌饭和一张全家福

体验链接:https://ty.speechmirror.cn (手机、电脑都能用,免登录,点开就玩)

做了什么

一句话:把中秋家宴从头到尾搬进一个链接——饭前分菜,饭后合影,最后生成一张战报海报发群里。

三个模块:

1. 一桌饭 · 家宴协调
建房后把链接丢进家庭群,家人点开免登录入席。每人先勾自己的忌口(辣 / 海鲜 / 牛羊肉 / 花生 / 清真 / 素食 / 少糖,七条轴),再认领自己要带的菜。然后页面会自动干三件事:

  • 有人认领的菜撞车了 → 当场提醒
  • 某道菜踩了某人的忌口 → 认领墙上飘红警告,写出是谁不能吃
  • 桌上还缺什么 → 实时缺口清单

最后汇总成一张「点菜提醒卡」,照着点菜就行。菜名是自由输入的,内置了 70+ 常见菜的成分字典做自动识别。


2. 一张全家福 · 合影导演
手机架好打开这个页面,张开手掌稳住 3 秒,自动倒计时连拍 5 张,AI 挑出全员睁眼、笑得最好的那张。然后可以一键换「月夜桂影」「烟花之夜」背景,导出带鎏金相框和题字的高清成片(长边 3200px)。

每年家庭合影最大的两个敌人——有人闭眼、有人站歪,交给它。

(照片等你体验生成~)

3. 团圆战报 · 海报生成
饭后把照片选 1~9 张(可以从房内相册选,也可以现场上传),自动排版成一张竖版海报:谁来齐了、每人带了什么、全家名字、日期,全在上面。直接发家族群收尾。

(海报等你体验生成~)

灵感来源

主帖「团圆聚会」方向里的 家庭聚餐安排 + 合照整理,加上评论区这条许愿:

【原评论】#66 忌口收集:【中秋国庆VibeCoding】你出题,我来做,用 TraeCode 做个节日小应用 - #66,来自 今天锻炼了吗

一大家子吃饭,老人糖尿病、亲戚痛风、小孩不吃辣、还有清真的,群里挨个问完到饭店还是忘——这条评论写得太真实了,我当时就决定把「忌口轴 + 冲突预警」做成整个家宴模块的地基。合影导演是我自己家的年度难题:每年全家福总有一个人在眨眼。

解决了什么假期问题

  • 点菜前群里挨个问忌口 → 问完就忘 → 七条忌口轴 + 自动冲突预警
  • 合影总有人闭眼 → 连拍 5 张 AI 优选
  • 照片散在各自手机里,散场就沉底 → 一键生成团圆战报

技术上有点意思的地方

  • AI 全部本地跑:MediaPipe 手部 / 人脸 / 姿态 / 图像分割四个模型全部在浏览器端推理,照片不上传任何服务器。房主存的相册图也只在服务器临时放 30 小时后自动清除
  • 设备分级:手机 / 低端机自动降检测帧率、降连拍张数、跳过姿态模型,保证老手机不卡死
  • 模型缓存:Service Worker 预缓存模型,第二次进页面秒开导演
  • 零依赖后端:房间数据用一个不装任何包的 Node 服务搞定(30 小时自动清、单房 50MB 上限、全站最多 10 房,房主可管理)

用 TraeCode 做的过程

全程 TraeCode + 浏览器实测驱动,中间踩的坑比写的代码还多,挑三个真实的:

  1. 手机拍完照片全白 —— 连拍 5 张按摄像头原始分辨率存画布,手机上直接吃掉 200MB+ 内存把 wasm 打爆。最后按设备档位封顶连拍尺寸解决
  2. nginx 把 API 拦了 —— 静态资源的正则规则抢先匹配了 /api/.../xx.jpg 的照片请求,全员 404,改成前缀优先才好
  3. .mjs 的 MIME —— 服务器不认 .mjs 当 JavaScript,模型引擎整个加载失败,改名 .js 才通


从认领评论到上线一共打磨了十多轮:手势时长、海报版式、忌口误报、缓存策略,每一轮都是真机测出来的问题。现在手机上从进页面到拍完一张全家福,一气呵成。

试玩建议

手机打开链接 → 「发起家宴」→ 复制邀请链接发给自己另一台设备 / 家人 → 两边同时认领菜看冲突警告 → 「拍全家福」比个手掌 → 换背景导出 → 「团圆战报」选照片出海报。

祝大家中秋团圆,国庆不堵。

3 个赞