Skip to content

Fantety/FrameForgeX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FrameForge Logo
FrameForge Text

FrameForgeX

🎮 AI驱动的游戏资产生成工作流编辑器

FrameForgeX 是一个专为游戏开发者、美术设计师和AI内容创作者打造的可视化节点编辑器,帮助您轻松构建AI生成游戏资产的工作流程。

FrameForge Logo

✨ 主要特性

  • 🎯 可视化节点编辑器 - 直观的拖拽式界面,轻松构建复杂工作流
  • 🧠 AI集成 - 内置AI图像生成功能,支持文本到图像转换
  • 💾 数据持久化 - 自动保存和恢复画布状态,包括节点、连接和视图位置
  • 🔌 扩展性强 - 支持自定义节点类型,易于扩展新功能
  • 🖼️ 图片处理 - 内置图片显示和下载功能
  • 💻 跨平台 - 基于Tauri构建,支持Windows、macOS和Linux
  • 🎨 现代UI - 使用Material-UI设计,提供优雅的用户体验

🚀 快速开始

环境要求

  • Node.js 18+ (支持React 19)
  • Rust 1.68+
  • Tauri CLI 2.x

安装步骤

  1. 克隆项目

    git clone https://github.com/your-username/FrameForgeX.git
    cd FrameForgeX
  2. 安装依赖

    npm install
  3. 安装Tauri CLI

    npm install -g @tauri-apps/cli
  4. 启动开发服务器

    npm run tauri dev

📦 构建与部署

开发模式

# 启动前端开发服务器
npm run dev

# 启动Tauri开发环境
npm run tauri dev

生产构建

# 构建前端
npm run build

# 构建桌面应用
npm run tauri build

🎯 使用指南

基本概念

  • 节点 - 工作流的基本单元,每个节点执行特定功能
  • 连接线 - 连接节点之间的数据流
  • 画布 - 可视化编辑区域
  • 项目 - 包含完整工作流的容器

内置节点类型

  1. 文本输入节点 - 输入文本内容
  2. 提示词节点 - 生成和处理AI提示词
  3. 文生图节点 - 将文本转换为图像
  4. 图片显示节点 - 显示和下载图片
  5. 输出节点 - 显示最终结果

基本操作

  1. 创建节点 - 从右侧节点库拖拽或点击添加
  2. 连接节点 - 拖拽输出端口到输入端口
  3. 配置节点 - 点击节点进行参数配置
  4. 运行工作流 - 点击「运行」按钮执行整个流程
  5. 保存项目 - 自动保存或手动保存画布状态

AI功能配置

使用文生图功能需要配置API密钥:

  1. 在文生图节点中输入您的API Key
  2. 选择合适的图像参数(尺寸、指导权重等)
  3. 连接文本输入作为提示词
  4. 运行工作流生成图像

🏗️ 技术架构

技术栈

前端

  • React 19.1.0
  • ReactFlow 11.11.4 - 节点编辑器核心
  • Material-UI 7.3.1 - UI组件库
  • React Router - 路由管理

后端

  • Rust - 核心逻辑
  • Tauri 2.x - 跨平台框架
  • reqwest - HTTP客户端
  • serde - 序列化/反序列化

构建工具

  • Vite 7.0.4 - 前端构建
  • Tauri CLI - 应用打包

项目结构

FrameForgeX/
├── src/                    # 前端源码
│   ├── components/         # React组件
│   │   ├── Canvas.jsx     # 主画布组件
│   │   └── ProjectManagement.jsx
│   ├── nodes/             # 节点实现
│   │   ├── NodeBase.jsx   # 节点基类
│   │   ├── TextNode.jsx   # 文本节点
│   │   ├── PromptNode.jsx # 提示词节点
│   │   ├── TextToImageNode.jsx # 文生图节点
│   │   ├── ImageDisplayNode.jsx # 图片显示节点
│   │   ├── OutputNode.jsx # 输出节点
│   │   └── nodeRegistry.js # 节点注册
│   ├── services/          # 业务服务
│   │   └── projectService.js
│   ├── App.jsx           # 应用入口
│   └── main.jsx          # 主文件
├── src-tauri/             # Tauri后端
│   ├── src/
│   │   ├── lib.rs        # 核心逻辑
│   │   └── main.rs       # 入口文件
│   ├── Cargo.toml        # Rust依赖
│   └── tauri.conf.json   # Tauri配置
├── package.json           # Node.js依赖
└── vite.config.js        # Vite配置

🔧 开发指南

添加新节点类型

  1. 创建节点类 - 继承 NodeBase
  2. 实现必要方法 - getType(), getLabel(), getHandles(), execute()
  3. 注册节点 - 在 nodeRegistry.js 中注册
  4. 测试功能 - 在画布中测试新节点

代码规范

  • 使用 ESLint 和 Prettier 进行代码格式化
  • 遵循 React Hooks 最佳实践
  • 使用 TypeScript 类型注释(推荐)
  • 编写单元测试覆盖核心功能

🐛 故障排除

常见问题

Q: 应用启动失败 A: 检查Node.js和Rust版本是否符合要求,确保已安装Tauri CLI

Q: AI功能无法使用 A: 检查API Key配置是否正确,确保网络连接正常

Q: 图片下载失败 A: 检查图片URL是否有效,确保有足够的磁盘空间

Q: 节点连接异常 A: 检查节点类型是否兼容,确保输入输出端口匹配

🤝 贡献指南

我们欢迎社区贡献!请遵循以下步骤:

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

贡献类型

  • 🐛 Bug修复
  • ✨ 新功能
  • 📚 文档改进
  • 🎨 UI/UX优化
  • ⚡ 性能优化
  • 🧪 测试覆盖

📄 许可证

本项目采用 Apache 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

📞 联系我们


如果这个项目对你有帮助,请给我们一个 ⭐

⬆ 回到顶部

About

FrameForgeX 是一个专为游戏开发者、美术设计师和AI内容创作者打造的可视化节点编辑器,帮助您轻松构建AI生成游戏资产的工作流程。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors