使用 Wasp AIMage创建新 Wasp 应用从标题与一段描述一键生成全栈项目【免费下载链接】waspThe batteries-included full-stack framework for the AI era. Develop JS/TS web apps (React, Node.js, and Prisma) using declarative code that abstracts away complex full-stack features like auth, background jobs, RPC, email sending, end-to-end type safety, single-command deployment, and more.项目地址: https://gitcode.com/GitHub_Trending/wa/waspWasp 自带名为 Wasp AI代号 Mage即Magic webAppGEnerator的应用生成能力允许你仅凭一个标题和一段简短描述在 GPT 模型的后台驱动下生成一个全新的 Wasp 全栈应用。本文以 Wasp 0.17 版本官方文档为主线详细介绍两条生成路径开源在线应用与本地wasp new命令并结合仓库源码剖析wasp new的完整执行链路帮助你快速上手 AI 驱动的项目初始化并理解其底层行为与注意事项。Wasp AIMage是什么Wasp AI 是内置于 Wasp 生态中的应用生成器你只需提供应用标题和一段一两句话的功能描述它便会在后台调用 GPT 系列模型为你产出一个结构完整、可继续开发的 Wasp 项目包含main.wasp配置文件、src客户端与服务端代码、数据库 schema 等。这一能力在仓库 ChangeLog 中有明确记载——此前仅可通过在线方式使用随后 Wasp AI 也进入waspCLI使开发者能够仅凭标题和一段简短描述创建全新的 Wasp 应用。两条生成路径在线与本地 CLI根据 创建新应用文档使用 Wasp AI 创建新应用主要有两种方式免费、开源的在线应用 usemage.ai无需本地配置直接在线描述应用并下载生成结果。本地运行wasp new并选择 AI 生成需要自行提供 OpenAI API Key但灵活性更高可自由选择 GPT 模型。两条路径在后台使用完全相同的生成逻辑智能程度一致区别仅在于界面与可配置项见 ChangeLog 中关于提供自己的 OpenAI API Token、可自由选择模型的说明。:::info 实验性特性提醒 Wasp AI 目前属于实验性功能。生成的应用可能包含与其复杂度成正比的错误即便如此修复错误后它往往仍是一个很好的起步点也能作为探索如何在 Wasp 中实现某个功能的有趣参考。 :::路径一usemage.ai 在线生成usemage.ai 是一个开源应用你可以仅凭一个简短的标题和描述就创建出新的 Wasp 应用完全免费在线服务使用 Wasp 官方提供的 OpenAI API Key成本由官方承担。操作极简提供应用标题、应用描述并选择一些基础设置后几分钟内即可生成一个新的 Wasp 应用。可下载继续开发生成完成后可将项目下载到本地随后基于它继续迭代。关于 usemage.ai 的工作原理官方文档指引读者参阅仓库内的两篇博客文章《GPT Web App Generator》介绍 Mage 的工作方式与 《How We Built GPT Web App Generator》高层实现思路。路径二wasp new 本地生成在终端中运行wasp new并选择 AI 生成即可在本地创建新应用。整个交互流程清晰直观运行wasp new进入交互式向导也可携带参数直接指定项目名与模板详见下文命令形式。提供 OpenAI API Key若尚未配置wasp会要求你通过环境变量ENV vars提供自己的 OpenAI API KeyCLI 将用它来查询 GPT。描述应用输入应用标题与描述随后选择模型与创造性级别等参数。生成到磁盘确认后新应用会被生成到当前目录下。命令形式与参数从 ArgumentsParser.hs 的源码可以看到wasp new支持以下形式# 交互式创建依次询问项目名与模板 wasp new # 直接指定项目名使用默认 starter 模板 wasp new my-project # 指定项目名与模板 wasp new my-project -t template-name其中-t / --template用于指定 starter 模板。当以交互方式运行时CLI 会列出可选模板供你选择其中就包含 AI 生成模板标注为 experimental提示语为用几句话描述应用让 Wasp AI 为你生成初始代码。交互式向导与参数解析逻辑分别位于 ProjectDescription.hs 与 CreateNewProject.hs。AI 生成的交互参数选择 AI 生成后CLI 会引导你完成以下参数配置见下方截图应用描述Describe your app用一两句话描述应用例如一个记录我养的植物清单以及上次浇水时间的应用我可以为每棵植物指定名称和浇水频率并执行浇水操作。GPT 模型组合默认组合为gpt-4 (planning) gpt-3.5-turbo (coding)即用更强的模型负责规划、用更经济的模型负责编码你也可以按成本与速度偏好选择其他组合。若想自由指定模型需提供自己的 OpenAI API Key。创造性级别temperature提供三个档位——Balanced0.7默认、Conventional0.4、Creative1.0用于控制生成代码的保守程度与发散程度。生成过程实时输出提交后CLI 会实时打印生成进度见下方截图整个过程大致分为生成项目骨架 → 生成初始计划最耗时步骤通常需要 30 到 90 秒→ 修复计划 → 生成操作actions与查询queries→ 以实体更新 Wasp 文件以示例项目 MyPlants 为例生成器会基于你的描述推导出应用的领域模型例如规划出 2 个查询getPlants、getPlant、2 个操作createPlant、waterPlant、2 个实体User、Plant与 2 个页面HomePage、PlantPage并把这些声明同步写回main.wasp文件。可见生成结果并非零散代码堆砌而是遵循 Wasp 声明式开发范式的完整工程。源码视角wasp new 的执行链路结合源码可以更准确地理解wasp new的行为边界。入口函数位于 CreateNewProject.hs其执行顺序为前置检查要求本机具备有效的 Node 与 npm 环境ValidNodeAndNpm。获取项目描述调用 ProjectDescription.hs 中的obtainNewProjectDescription——若命令行未提供参数则进入交互式询问项目名、模板提供了参数则使用参数值模板缺省时使用默认 starter 模板。创建项目到磁盘根据所选模板类型本地内置模板或 GitHub Release 归档模板在磁盘上生成项目。自动安装依赖对新项目执行依赖安装若失败会打印黄色警告提示在项目目录中运行wasp install手动安装。打印起步指引输出成功信息与模板自带的入门说明。项目名校验规则ProjectDescription.hs 中parseWaspProjectNameIntoAppName对项目名做了严格校验校验失败会明确报错必须以字母或下划线开头只能包含字母、数字、短横线-与下划线_不能是 Wasp 关键字。同时项目名会被转换为驼峰形式作为 Wasp 应用名kebabToCamelCase例如my-project对应应用名myProject。目标目录冲突检查若当前目录下已存在同名目录wasp new会直接报错Directory xxx already exists. Choose a different name or delete the directory first.见 ProjectDescription.hs避免覆盖已有项目。生成后的依赖处理生成完成后 CLI 会立即尝试为新项目安装依赖若安装失败项目本身依然保留你只需进入项目目录执行wasp install即可补齐依赖见 CreateNewProject.hs。实验性特性与注意事项结果可能含错误生成的代码可能包含 bug复杂应用的错误概率更高应将其视为高质量起点而非终稿。适合学习与探索即使生成结果不完美通过阅读生成代码也能快速了解 Wasp 中实体、查询、操作、页面与认证等特性的声明与组织方式。模型选择与成本本地方式使用你自己的 OpenAI API Key成本由自己承担但因此获得模型自由度在线方式免费但使用官方预设的模型组合。功能仍在演进仓库 ChangeLog 记录了 Wasp AI 的持续迭代例如模型从 GPT 3.5 系列升级、生成上下文扩大、以及后续版本中wasp new:ai支持任意模型名等改进说明该特性的参数与默认值会随版本变化使用时应以当前安装版本的文档为准。进一步探索若想了解 AI 生成之后如何继续在已有应用上借助 Wasp AI 迭代功能可阅读同目录下的 developing-existing-app.md。深入理解 Mage 的工作方式与实现思路可阅读 GPT Web App Generator 博客 与 How We Built GPT Web App Generator 博客。阅读 CreateNewProject.hs 与 ArgumentsParser.hs 可进一步掌握wasp new全部命令形式与底层流程。【免费下载链接】waspThe batteries-included full-stack framework for the AI era. Develop JS/TS web apps (React, Node.js, and Prisma) using declarative code that abstracts away complex full-stack features like auth, background jobs, RPC, email sending, end-to-end type safety, single-command deployment, and more.项目地址: https://gitcode.com/GitHub_Trending/wa/wasp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
