我用 TraeCode 从0开始写了一个智能菜谱小程序
一、我是谁,遇到了什么问题
我是个普通的技术爱好者,平时工作跟开发沾点边,但不是专业前端。会看微信小程序代码,但让我从0搭项目、设计数据结构、写云开发、调 AI 接口,基本一头雾水
。
事情的起因很生活化——女朋友每天问我"今天吃什么",我也记不住她爱吃什么、上周吃过啥。我就想给她做个小程序,让她直接在里面点菜、看历史,我也能管理菜品。
需求其实挺明确:
- 一个微信小程序,能在手机上点菜
- 能上传菜品照片
- 能查看每日饮食历史
- 两个人(我和女朋友)数据要能实时同步
- 后面还想加个 AI 功能:拍一下冰箱,AI 告诉我这些食材能做什么菜
听起来不难,但现实困难摆在那:
- 我小程序水平只是"能看懂",从0搭不下来
- 下班只有零碎时间,不想耗在查文档和踩坑上
- AI 接口、云同步这块我更不会写
二、我是怎么用 TraeCode 解决这件事的
我用的是 TraeCode SOLO 模式(Agent 模式)。
为什么选 SOLO:项目从0开始、没有现成代码要读懂,整个项目交给它一条龙搭更省心;而且涉及小程序前端、云开发、AI 接口好几层,我自己手动改容易漏步骤,让 SOLO 全权负责更稳。
整个过程分四步:
第一步:让 TraeCode 先理解项目和需求
第一次打开 SOLO,我没有直接让它写代码。先花几分钟把需求讲清楚:
我要做一个微信小程序,叫"女朋友菜谱"。 功能:首页、点菜、记录、管理四个页面。
- 点菜页:从已有菜品里选,加入"今日菜单",底部显示已选数量
- 管理页:增删改查菜品,支持上传菜品照片
- 记录页:按日期分组查看历史点菜记录
- 数据先存本地,后续要接入云开发做两人同步
- 后面还要加 AI 功能:拍冰箱识别食材生成菜谱
我把"今天先做本地版,云同步和 AI 是后面的事"这句话明确告诉了它。这点很关键——避免它一开始就把云开发、AI 一股脑塞进来,代码太杂反而不好调。
SOLO 直接给我搭好了项目骨架:app.json 配置四个页面,storage.js 封装本地存储,index/order/record/manage 四个页面的 js/wxml/wxss 全部生成。第一次编译就能跑起来,点菜、加菜、查记录都通了。
第二步:让它定位相关文件,给出修改方案
本地版跑通之后,进入"加云同步"阶段。这一步我没有让它从头重写,而是让它在我已有代码上做改造。
需求是这样写的:
现在要实现情侣间数据同步。两个人加入同一个"房间",菜谱、今日菜单、点菜记录都实时同步。云环境我已经开通好了,envId 在 config.js 里。
SOLO 直接定位到要改的文件:
utils/config.js—— 加云环境配置utils/storage.js—— 加云端读写utils/cloud.js—— 新建,负责云同步逻辑pages/manage/manage.js—— 房间配对 UI
它还主动提醒我:“要在云开发控制台创建 gf_rooms 集合,权限设成所有用户可读可写”。这是我自己绝对想不到的坑——集合权限不对,两个人数据就是同步不上。
第三步:根据建议完成修改,再用它辅助调试和检查
云同步代码改完,bug 自然就来了。这一步 SOLO 模式特别省事,我把现象一描述,它直接定位问题。
典型的一次调试:女朋友在小程序里加了菜,我这边管理页根本看不到。
我贴给它:
女朋友添加的菜,我这边和云后台都看不到,怎么回事?
它不是瞎猜,而是先让我确认三件事:
- 女朋友是不是加入了同一个房间?
gf_rooms集合的权限是不是设对了?- 这个集合到底建没建?
一步步排查下来,发现是云数据库里压根没建 gf_rooms 集合,所以"创建房间"这步是失败的。建好集合、设好权限之后,同步就通了。
后面类似这种调试还有不少:
- 临时图片路径重启就失效 → 用
wx.saveFile转持久路径 - 云端照片对方看不到 → 改用云函数管理员权限生成临时链接,绕过云存储权限限制
- AI 拍冰箱报 400 错误 →
deepseek-chat不支持图片输入,换成 GLM-4V-Flash - 数据同步排序混乱、删除不同步 → 把合并策略改成"云端为准"
每个问题都是我把报错或者现象丢给 SOLO,它给方案 + 告诉我哪个文件改哪几行 + 改完要在开发者工具里重新编译。我基本就是复制粘贴 + 点编译,而且他不会盲目推荐,你看,他还会发表自己的看法,哪些功能比较贴合实际,能解决用户痛点,哪些功能很鸡肋,会导致问题,都会帮我说的明明白白,太牛了,666
![]()
第四步:整理最终变更,并生成可提交的结果
最后一步是上传体验版给女朋友用。SOLO 帮我把要做的操作整理成清单:
- 微信开发者工具点"上传",填版本号 1.0.1
- 去微信公众平台后台 → 管理 → 版本管理 → 把刚上传的开发版设为体验版
- 体验版页面点"添加体验成员",输入女朋友微信号
- 让她扫体验版二维码进小程序
三、成果展示
最终交付物:
| 模块 | 交付内容 | 状态 |
|---|---|---|
| 微信小程序前端 | 4 个页面(首页/点菜/记录/管理)完整代码 | 已上线体验版 |
| 本地存储层 | storage.js,封装菜品/今日菜单/记录的 CRUD |
完成 |
| 云同步层 | cloud.js,房间配对 + 实时监听 + 数据合并 |
完成 |
| 云函数 | analyzeFridge(拍冰箱识别食材)、generateRecipe(AI 配图)、getPhotoUrls(图片权限绕过) |
已部署 |
| 数据库集合 | gf_rooms(房间数据)、gf_sync(备份) |
已配置权限 |
这个小程序解决了我俩"今天吃什么"的日常问题:
- 女朋友在小程序里点菜,我这边实时收到
- 我管理菜品库,她那边菜谱自动更新
- 拍一下冰箱,AI 告诉我们这些食材能做什么菜
- 想不起昨天吃了什么,翻记录页就有
已经投入我俩日常使用了,每天都在开。
四、效率对比
这是我最想说的一段。
以前怎么做(如果不靠 TraeCode):
我大概会经历:
- 查微信小程序官方文档:1-2 天,光看四个页面怎么跳转、生命周期怎么用
- 查云开发文档:1-2 天,数据库集合、云函数、权限模型,每个都得试一遍
- 报错就 Google/百度:1-2 周,尤其是云同步、权限这种坑,搜不到具体答案
- AI 接口接入:1 周,得自己读 DeepSeek/GLM 的 API 文档,调通图片输入
- 调试:不可估,我这种水平,一个小 bug 卡半天很正常

保守估计:3-4 周才能做出当前这个完整度,而且很可能中途就放弃了。
现在用 TraeCode SOLO 怎么做:
- 第一天上午:搭项目骨架,本地版跑通

- 第一天下午:接入云开发,两个人数据同步通

- 后续零碎时间:加 AI 功能、修各种 bug、优化 UI

总共大概2 周零碎时间做出现在的完整度,包含:
- 4 个页面 + 完整业务逻辑
- 云开发数据同步
- 3 个云函数
- AI 拍冰箱 + AI 配图
- 一堆细节 bug 修复
| 维度 | 纯手写 | TraeCode SOLO |
|---|---|---|
| 项目搭建 | 1-2 天查文档 | 10 分钟出骨架 |
| 云同步调试 | 自己搜索+试错 | 现象描述完就给方案 |
| AI 接口接入 | 读文档+自己调 | 直接生成云函数代码 |
| Bug 修复 | 卡半天很常见 | 大部分 10 分钟内出方案 |
| 总耗时 | 3-4 周(很可能放弃) | 2 周零碎时间 |
五、经验和技巧总结
踩过几个坑之后,摸索出几条顺手的方法:
1. 上下文一次给全,比来回补充效果好得多
最典型的就是云同步。一开始如果只说"加个云同步",SOLO 会问你一堆细节:几个人用?同步什么数据?冲突怎么处理?我后来直接把"两个人、加入同一个房间、菜谱+今日菜单+记录都同步、冲突以云端为准"一次讲完,它给的方案直接能用,几乎没来回。
2. 从0开始的项目用 SOLO,已有项目的小改动更适合 IDE 模式
我这个菜谱是从0搭的,整个项目交给 SOLO 一条龙做最顺。但如果是公司里已经有大项目、只想改一个文件的一个函数,用 IDE 模式(让 Trae 只在你需要的时候介入)会更可控,避免它误改其他地方。
3. 调试时,把"现象 + 你做过什么"一起说
很多人报 bug 只说"不行"“不好用”,SOLO 只能瞎猜。我后来都是这样开头:
我做了 X,期望 Y,实际却 Z。代码我已经改成了……,编译也重新编译了。
它定位问题快很多,而且会主动让你确认一些前置条件(比如那个"看不到数据"的 bug,它直接让我先确认三件事,省了我瞎改代码的时间)。






