这个项目能做什么

FlowCraft 是一个开源的可视化工作流构建器,专为使用 Google Gemini AI 模型进行 AI 内容生成而设计。它使用户能够通过直观的拖放界面连接不同类型的节点,创建复杂的多模态工作流,最终生成文本、图像和视频。 **核心能力** 该平台具有由 @xyflow/react 驱动的可视化工作流构建器,允许用户无需编写代码即可设计可扩展的 AI 工作流。它提供与 Google 生成式 AI 模型的一流集成,包括用于文本生成的 Gemini 3 Pro 和 3 Flash,用于图像生成的 Nano Banana Pro(Gemini 3 Pro 图像预览)和 Gemini 2.5 Flash 图像,以及用于视频生成的 Veo 3.1。工作流可以实时执行,并提供视觉反馈和进度跟踪,并行处理引擎会自动解析依赖关系并确定智能执行路径。 **内置节点类型** FlowCraft 附带了一套全面的内置节点: - **LLM(代理)节点**:由 Gemini 驱动的文本生成,支持文本和文件输入、可配置工具、系统指令、严格的 JSON 输出和可视化模式构建器。 - **图像节点**:使用 Gemini 3 Pro 图像预览或 Gemini 2.5 Flash 图像生成图像,具有可配置的宽高比、参考和分辨率。 - **视频节点**:由 Veo 3.1(Fast 和 Pro 模型)驱动,根据文本提示生成 4、6 或 8 秒的视频,可选地使用来自连接节点的首帧/末帧或参考图像。 - **文件节点**:管理并预览文件,包括 PDF、图像和视频,可通过 Google Cloud Storage URI 连接到 LLM 和视觉节点。 - **文本节点**:用于提示和指令的简单多行文本输入。 - **放大节点**:使用 Imagen 4.0 将生成的图像放大最多 4 倍。 - **调整大小节点**:智能调整图像大小或裁剪图像以适应新的宽高比。 - **自定义工作流节点**:将先前保存的流程嵌入为模块化、可重用的自定义节点。 - **输入/输出节点**:为自定义工作流定义数据边界。 **高级功能** 工作流引擎(workflow-engine.ts)以并行处理方式递归处理执行图。动态配置面板允许用户从侧边栏实时调整生成模型、系统指令、视频时长和媒体分辨率等参数。内置身份验证使用通过 next-auth 的 Google OAuth,媒体查看器允许直接在图中查看生成的资产。 **技术栈** 前端:Next.js 16.1(App Router)、React 19、TypeScript、Tailwind CSS 4.1.18、@xyflow/react 12.10、shadcn/ui(Radix UI + Tailwind)以及用于客户端状态管理的 Zustand。 后端:Node.js 与 Next.js 无服务器函数、用于 Vertex AI 交互的 Google GenAI SDK、用于基础设施即代码的 Terraform、用于容器化托管的 Google Cloud Run、用于工件存储的 Google Cloud Storage、用于实时 NoSQL 数据库的 Google Cloud Firestore,以及用于标准化日志记录的 Winston。 **支持的 AI 模型** - 文本:gemini-3.1-pro-preview、gemini-3.5-flash、gemini-3.1-flash-lite - 图像:imagen-4.0-upscale-preview、gemini-2.5-flash-image、gemini-3-pro-image、gemini-3.1-flash-image、gemini-3.1-flash-lite-image - 视频:veo-3.1-lite-generate-001、veo-3.1-fast-generate-001、veo-3.1-generate-001、gemini-omni-flash-preview **部署** 该项目使用 Terraform 来配置和管理 Google Cloud 基础设施。部署脚本(scripts/deploy.sh)编排 Terraform 初始化、构建规划和应用,以配置 GCP 资源,通过 Cloud Build 构建 Docker 镜像,并部署到 Cloud Run。先决条件包括 Node.js 18+、启用了 Vertex AI 的 Google Cloud 项目、Firebase/Firestore 数据库以及 GCS 存储桶。 **使用案例** FlowCraft 支持复杂的多模态工作流,例如将 Gemini 文本头脑风暴代理链接到 Imagen 4.0 图像生成块,将 16:9 图像调整为 9:16 以用于 TikTok 并将其作为首帧传递给 Veo 3.1 视频生成,或者将长 PDF 提供给自定义摘要节点,该节点在内部执行 map-reduce 子流程。 该项目根据 Apache 2.0 许可,并欢迎通过标准的 fork-branch-commit-PR 工作流做出贡献。