Chef:开源 AI 全栈应用构建工具实践

Chef 是 Convex 推出的开源 AI 应用构建工具,能根据自然语言生成包含数据库、认证和实时功能的完整全栈应用。通过类型安全开发循环实现自动错误修复,解决传统 AI 工具只能生成前端代码的问题,适合快速原型开发。

转自:https://yunpan.plus/t/507-1-1

一个提示词生成完整应用

前端开发者最头疼的问题之一,就是后端逻辑的实现。数据库设计、API 接口、用户认证……每一项都需要时间和经验。市面上的 AI 代码工具大多只能生成 UI 组件,遇到后端就"哑火"了。

Convex 团队开源的 Chef 项目提供了不同的解决思路。输入一句话描述,它能生成包含前后端完整逻辑的可运行应用。这个项目目前在 GitHub 已有 2800+ star,值得关注。

主要功能特性

完整的技术栈支持

React + TypeScript 全栈:https://yunpan.plus/t/197

Chef 基于 Convex 平台开发,提供了从前端到后端的完整能力:

数据库层面

  • 自动创建数据表和索引
  • 支持关系查询和复杂过滤
  • 实时数据订阅机制

业务逻辑层面

  • 类型安全的查询函数(Query)
  • 数据变更函数(Mutation)
  • 外部 API 调用(Action)

应用层面

  • 零配置用户认证
  • 文件上传存储
  • 定时任务调度

类型安全的开发流程

这是 Chef 的核心优势。它利用 TypeScript 的类型系统,在代码生成过程中:

  1. 定义数据库 Schema 时自动生成类型
  2. 编写业务函数时进行类型检查
  3. 前端调用时获得完整的类型提示

当生成的代码存在问题,编译器会给出明确的错误信息,AI 会根据这些反馈自动修复。这种机制让它能处理更复杂的业务场景。

实时数据同步

基于 Convex 的响应式架构,生成的应用天然支持实时更新。一个用户修改数据,所有在线用户立即看到变化,不需要手动配置 WebSocket。

技术实现方式

代码示例:待办事项应用

定义数据结构

// 数据库 Schemaexport default defineSchema({  tasks: defineTable({    text: v.string(),    isCompleted: v.boolean(),    userId: v.id("users"),  }).index("by_user", ["userId"]),});

查询函数

export const list = query({  handler: async (ctx) => {    const identity = await ctx.auth.getUserIdentity();    return await ctx.db      .query("tasks")      .filter((q) => q.eq(q.field("userId"), identity.subject))      .collect();  },});

前端调用

const tasks = useQuery(api.tasks.list);

三段代码就实现了带用户隔离的任务列表功能,类型完全自动推导。

工作流程

Chef 的运行分为三个阶段:

  1. 初始化:创建 Vite + React 项目模板,集成 Convex 配置
  2. 生成:AI 根据提示词生成代码,遵循 Convex 最佳实践
  3. 验证:运行类型检查,根据错误反馈迭代优化

这个循环会持续到代码通过编译检查。

实际应用案例

社区开发者用 Chef 构建了多个实用项目:

习惯追踪器 包含任务管理、完成记录、数据统计图表等功能。前端使用 Recharts 展示数据,后端自动处理统计逻辑。

协作笔记应用 类似 Notion 的实时编辑体验。多人同时编辑时,光标位置和内容变化实时同步,还能显示当前在线用户。

AI 视频平台 Cinemartie 开发者 Hyo Jang 在黑客松活动中完成的项目,集成了视频上传、AI 处理、存储管理等完整流程。他提到开发效率提升了 4 倍。

使用建议

根据 Convex 团队总结的经验:

提示词编写

  • 首次描述核心功能,后续迭代添加细节
  • 明确说明配色方案和界面风格
  • 控制在 300 字以内,避免信息过载

开发流程

  • 从最简单的版本开始,逐步增加功能
  • 遇到生成结果不理想时,及时回退到上一个版本
  • 可以用 ChatGPT 等工具优化提示词表达

适用场景

  • 快速原型验证
  • 中小型业务系统
  • 学习全栈开发流程

对于大型系统或有特殊性能要求的项目,仍需要人工介入优化。

技术生态

Chef 采用 Apache-2.0 开源协议,代码托管在 GitHub。开发者可以自行部署或基于源码定制。

Convex 平台本身也提供了向量搜索、Agent 工作流等 AI 能力,适合构建更复杂的智能应用。

项目局限

需要注意几点:

  1. 生成的代码质量依赖提示词准确性
  2. 复杂业务逻辑可能需要多次迭代
  3. 目前主要支持 React 技术栈
  4. 大规模应用需要额外的性能优化

总体来说,Chef 适合快速验证想法和构建中小型应用。它证明了 AI 工具在理解业务逻辑方面的潜力,也为全栈开发提供了新的思路。


关注「异或Lambda」,获取更多开源项目和技术实践分享

配套资源

📌 GitHub 仓库:get-convex/chef
🌐 技术文档:docs.convex.dev
🎬 TypeScript项目实战:https://yunpan.plus/t/376


标签:#Chef #Github #AI编程 #全栈开发 #开源工具 #TypeScript #实时应用 #AIGC

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容