如果你只想用一句话记住它——“把需求说出来,Chef 就把带数据库、登录、文件上传、实时界面、后台任务的可运行网站递到手里。”


一、先回答最常被问的 6 个问题

问题 一句话回答
Chef 到底是什么? 开源的 AI 驱动脚手架,基于 Convex 响应式数据库,把自然语言变成完整 Web 应用。
我会写一点前端但不懂后端,能玩吗? 可以,它把数据库、认证、文件、工作流都打包好了,零配置就能跑。
生成的代码干净吗? 干净,项目结构分 app/convex/chef-agent/ 等目录,跟常规 Vite+Node 项目一样,可继续改。
本地运行真的免费? 本地跑用自己的 API Key 即可,Convex 控制面用官方托管,不消耗你账号额度。
我要不要买服务器? 不用,Vercel 一键部署;数据库用 Convex Cloud,官方负责扩容和备份。
它和 Bolt.diy 什么关系? 项目 fork 自 Bolt.diy 的 stable 分支,核心换成 Convex 后端,AI 部分重写。

二、核心能力拆解:为什么“懂后端”很重要

很多“AI 建站”工具只吐前端静态页,用户登录、文件上传、后台定时任务这些真正让应用“像产品”的功能,还得自己接 Firebase、Supabase、AWS……Chef 把这一步省了,因为:

  1. 底层是 Convex——面向 Web 的响应式数据库,自带实时推送、事务、调度器。
  2. 代码生成阶段就把 Convex 的

    • querymutationaction
    • 文件存储 API
    • 后台 cron 与 schedule
      全部一次性写好,前端直接 useQuery 就能绑定数据。

结果:
“我要一个待办清单,能注册登录,能上传附件,还要实时协作”——描述完,Chef 给出的是

  • Postgres 级的事务表结构
  • WorkOS 社交登录
  • 附件存在 Convex Blob
  • 多用户实时同步
  • 后台任务定期清理过期文件

全部可运行,不是“演示外壳”。


三、项目目录速览:拿到代码后从哪开始读

chef/
├─ app/                 // 前端 Vite+React,页面、组件、路由都在这里
├─ convex/              // 数据库 schema、functions、cron 任务
├─ chef-agent/          // AI 代理核心:系统提示词、工具描述、模型调用
├─ template/            // 新项目种子,Chef 每次 fork 它给你生成独立仓库
└─ test-kitchen/        // 给维护者用的自动化评估工具

第一次打开建议顺序

  1. 先看 convex/schema.ts——数据模型一目了然。
  2. 再看 app/routes/_index.tsx——首页怎么加载数据、怎么做 SSR。
  3. 最后读 chef-agent/prompts.ts——官方系统提示词写得非常克制,值得借鉴。

四、5 步本地启动:Windows/Mac/Linux 通用

以下命令完全来自官方文档,未做任何删减,照抄即可。

步骤 命令 备注
1. 克隆 git clone https://github.com/get-convex/chef.git && cd chef 仓库约 100 MB,主要是依赖包
2. 装 Node nvm install && nvm use 开发时 Node 20,生产 Vercel 跑 22
3. 装包 npm install -g pnpm && pnpm i 项目强制 pnpm
4. 连 Convex npx convex dev --once 按引导选 team、新建 project
5. 起服务 终端 A: pnpm run dev
终端 B: npx convex dev
浏览器访问 http://127.0.0.1:5173不要用 localhost

常见卡住点

  • .env.local 里忘了写 VITE_CONVEX_URL=placeholder → 页面白屏。
  • Windows 没装 nvm → 手动装 Node 20 也行,记得把 pnpm 加到 PATH。

五、把“AI 生成”变成“我的业务逻辑”:一条最小改动示例

假设 Chef 给你生成了一个“订单管理”,你只需要把状态机从“待处理/已完成”改成“待付款/已发货/已签收”,要做的事只有 3 件:

  1. convex/schema.tsstatus: v.union(v.literal("pending"), v.literal("shipped"), v.literal("received"))
  2. convex/orders.ts 里新增 mutation_shipOrder 函数,写一条 db.patch(id, {status: "shipped", shippedAt: Date.now()})
  3. 前端 app/components/OrderCard.tsx 把下拉选项改掉,实时界面自动同步,无需刷新。

原因
Convex 的 useQuery 对数据库做“订阅”,后端数据一变,毫秒级推送到前端。
所以你只改业务逻辑,其他“实时”、“冲突解决”、“权限”都继续生效。


六、部署上线:从本地到正式域名只要 3 分钟

Chef 官方维护两条永久分支

个人项目一样可以用 Vercel 一键导入,步骤:

  1. 把代码推到自己 GitHub。
  2. Vercel 新建 Project,选 Chef 仓库,Build Command 填 pnpm run build
  3. Environment Variables 里加

    • CONVEX_URL(在 Convex dashboard 复制)
    • 各模型 API Key(Anthropic/OpenAI/Google/xAI 至少一个)
  4. Deploy,30 秒后拿到 https://xxx.vercel.app,即可对外演示。

回滚
如果上线后发现数据库 schema 不兼容,用 npx convex migrate 做回退;若只是代码 Bug,直接在 Vercel 点「Rollback」即可回到旧版本,数据不受影响。


七、团队协作与权限:WorkOS 登录、项目隔离

Chef 用 WorkOS 做社交登录,支持 Google、GitHub、Microsoft 等常规账号。
关键概念:

  • “登录”只是进 Chef 的门槛。
  • 真正创建应用时,Chef 会让你再选“Team”——这里对应 Convex 里的 team。
  • 每个应用会单独开一个 Convex project,所以
    – 数据库天然隔离;
    – 计费也隔离,不会把测试数据算到你正式产品额度里。

本地开发想换 Team
.env.localCONVEX_OAUTH_CLIENT_ID/SECRET 换成新 team 的 OAuth App 即可,老数据不会丢,因为存在云端 project。


八、AI 模型怎么选?官方支持 4 家,切换 10 秒钟

在 Chef 界面右上角「设置」里填 Key:

模型商 特点 价格参考
Anthropic Claude 3.5 Sonnet 代码块干净,上下文长 输入 $3 / 100万 token
OpenAI GPT-4o 函数调用稳,社区示例多 输入 $5 / 100万 token
Google Gemini 1.5 支持超大上下文,PDF 截图都能喂 输入 $3.5 / 100万 token
xAI Grok Beta 阶段,免费额度足 目前免费

切换逻辑
Chef 会把 prompt 和工具描述一次性发给当前选中的模型,返回的 JSON 直接落库,因此

  • 不会把 Key 上传到第三方;
  • 换模型后老项目继续跑,无需重新生成。

九、开发者锦囊:调试、日志、灰度

  1. 日志等级
    在浏览器控制台敲 chefSetLogLevel("debug"),立刻打印 SQL 与 Convex 调用。
  2. 全局变量

    • chefWebContainer → 本地 WebContainer 实例,可调 ls/cat 看容器内文件。
    • chefMessages → 原始 AI 对话数组,调试 prompt 时直接复制。
  3. 灰度发布
    Convex 支持“多部署”,给 10% 用户指到新部署,schema 向前兼容即可零停机。

十、常见报错对照表

现象 根因 解决
pnpm run devVITE_CONVEX_URL is not defined .env.local 缺占位符 补一行 VITE_CONVEX_URL=placeholder
登录后页面空白 Redirect URI 填了 localhost 改成 127.0.0.1:5173
上传文件报 413 单文件超 5 MB Convex Blob 限制,切分或压缩
构建时报 Convex functions not found 忘了起 npx convex dev 把终端 B 也跑起来

十一、什么时候不要用 Chef

  • 需要高度自定义 DevOps(自建 K8s、私有云)——Chef 默认绑定 Convex Cloud。
  • 已有庞大后端(Java/Spring 微服务)——AI 生成的单体代码反而增加迁移成本。
  • 离线环境(内网、军工)——Chef 需要实时连 Convex 控制面。

除以上场景,小到毕业设计、大到 SaaS MVP,Chef 都能帮你把“第一版可运行产品”时间从周降到天。


十二、下一步:从“能跑”到“能卖”的 3 个建议

  1. 加测试
    test-kitchen/ 里的评估脚本,把自己的核心用户路径写成断言,每次改 prompt 先跑一遍。
  2. 加监控
    Convex 与 Sentry 已集成,在 .env 里填 SENTRY_DSN,前端报错自动上传。
  3. 加计费
    convex/functions/stripe.ts 里写 Stripe Webhook,用 Convex scheduler 每月自动生成账单,10 行代码搞定。

结语

Chef 不是要把程序员取代掉,而是把“搭环境、写 CRUD、调文件上传、配实时推送”这些重复劳动压缩到一句 prompt。
当你不再需要关心“数据库怎么扩容”、“WebSocket 怎么重连”、“文件上传安全策略”时,才能把精力花在真正决定产品生死的功能上——用户体验、商业模式、增长渠道。

如果你已经掌握前端基础,却屡屡被后端门槛挡在“完整产品”之外,不妨给 Chef 一个下午,亲眼看一行命令如何把脑海里的需求变成 URL 可访问的真实网站。到那时,你会同意:
“懂后端的 AI 生成器”这 8 个字,并不是营销口号,而是对 Web 开发范式最简洁的总结。