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

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

svgviewer-png-output (20).png

一个提示词生成完整应用

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

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

主要功能特性

完整的技术栈支持

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

数据库层面

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

业务逻辑层面

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

应用层面

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

类型安全的开发流程

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

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

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

实时数据同步

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

技术实现方式

代码示例:待办事项应用

定义数据结构

// 数据库 Schema
export 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 工具在理解业务逻辑方面的潜力,也为全栈开发提供了新的思路。


关注阿里云「云栈开源日记」,获取更多开源项目和技术实践分享

📌 项目信息

GitHub 仓库:get-convex/chef
TypeScript项目实战https://yunpan.plus/t/376


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

相关文章
|
5月前
|
人工智能 算法 数据安全/隐私保护
La Suite Docs:开源协作文档平台,可私有部署的 Notion 替代方案
法国政府开源的企业级协作文档平台,GitHub 14.3k star。基于 Django+React 开发,支持实时协作、离线编辑、AI 辅助写作,可私有部署,是 Notion 的开源替代方案。转自:https://yunpan.plus/t/505-1-1
|
数据采集 人工智能 JSON
大模型微调实战指南:从零开始定制你的专属 LLM
企业落地大模型常遇答非所问、风格不符等问题,因通用模型缺乏领域知识。微调(Fine-tuning)可让模型“学会说你的语言”。本文详解微调原理与PEFT技术,结合Hugging Face与LoRA实战,教你用少量数据在消费级GPU打造专属行业模型,提升垂直场景表现。
1494 9
|
人工智能 Cloud Native 前端开发
Bolt.diy 测评:从零部署到创意实践的全流程体验
本文详细介绍了阿里云解决方案中的Bolt.diy工具,一款基于AI的开源全栈开发平台。通过自动部署方式,用户可快速体验其多模型适配、全栈开发等功能。文章涵盖从开通服务到部署应用的具体步骤,并结合实际案例展示了生成网页的效果与局限性。尽管Bolt.diy能显著提升建站效率,但在复杂需求处理和稳定性上仍有改进空间。建议优化代码生成实时查看、预览异常处理等问题,并增加更多学习资源以帮助用户更好地设计Prompt。
946 43
|
3月前
|
运维 监控 Cloud Native
Linux Kernel:云原生时代的操作系统内核
Linux Kernel是1991年Linus创建的开源内核,作为云计算与容器技术的基石,支撑进程隔离(Namespace/Cgroups)、K8s资源限制、eBPF监控等核心能力。掌握其五大子系统,是运维深入云原生的关键。(239字)
338 10
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
微软开源 VibeVoice:90 分钟播客级语音合成技术解析
微软开源VibeVoice,突破语音合成瓶颈:支持90分钟自然对话、4人实时互动,首创7.5Hz超低帧率+双Tokenizer架构,音质达MOS 4.2,显存仅需6GB。含长文本(1.5B)与实时(0.5B)双版本,中英文支持,MIT协议开源。(239字)
|
6月前
|
存储 人工智能 前端开发
Qoder + ADB Supabase :5分钟GET超火AI手办生图APP
本文介绍如何利用Qoder、阿里云ADB Supabase和通义千问图像编辑模型,快速搭建AI手办生图Flutter应用。无需传统后端,实现从前端生成到数据存储、AI服务集成的全链路敏捷开发,展现Vibe Coding的高效实践。
Qoder + ADB Supabase :5分钟GET超火AI手办生图APP