基于 LangChain/LangGraph 的智能游戏生成平台,通过自然语言对话界面自动生成可运行的Web游戏项目,支持实时聊天交互。
- AI对话驱动: 通过自然语言聊天界面进行游戏需求分析和代码生成
- LangGraph工作流: 状态图管理游戏生成全流程,支持追踪和恢复
- RAG知识库: ChromaDB向量检索相似游戏模板
- MCP工具: 文件系统、终端等工具调用支持
- 实时预览: 生成的游戏支持即时预览和编辑
- 代码审查: 自动生成质量评分和测试报告
- 用户管理: 集成账号管理、头像上传、密码修改等功能
- FastAPI: 高性能Web框架
- LangChain: LLM应用开发框架
- LangGraph: 状态图工作流编排
- LangSmith: 应用追踪和调试
- PostgreSQL: 关系型数据库
- Redis: 缓存和消息队列
- ChromaDB: 向量数据库
- Vue 3: 渐进式前端框架
- Vite: 快速构建工具
- Pinia: 状态管理
- Vue Router: 路由管理
- Font Awesome: 图标库
- TDesign: UI组件库
- Python 3.11+
- Node.js 20+
- PostgreSQL 15+
- Redis 7+
- 克隆项目
git clone https://github.com/44-99/DreamCoder.git
cd DreamCoder- 配置环境变量
cp backend/.env.example backend/.env
# 编辑 backend/.env,填入必要的配置- 启动数据库服务
docker-compose up postgres redis -d- 安装后端依赖
cd backend
pip install -r requirements.txt- 启动后端服务
uvicorn main:app --reload- 安装前端依赖
cd ../frontend
npm install- 启动前端服务
npm run dev开发模式(包含前后端):
docker-compose --profile dev up -d生产模式:
# 先构建前端
cd frontend
npm run build
# 启动服务
cd ..
docker-compose --profile production up -d访问:
- 前端: http://localhost:5173 (开发) 或 http://localhost (生产)
- 后端API: http://localhost:8000
- API文档: http://localhost:8000/docs
-
注册/登录
- 访问聊天界面完成用户注册和登录
-
通过对话生成游戏
- 在聊天界面描述你想要的游戏
- 例如: "我想要一个贪吃蛇游戏,可以用方向键控制蛇吃食物"
- AI会通过对话确认需求并生成游戏
-
实时预览和编辑
- 实时查看生成进度日志
- 在预览区域试玩游戏
- 查看和编辑生成的源代码
- 查看项目信息和质量评分
-
账号管理
- 点击用户头像打开账号管理弹窗
- 上传头像、修改用户名、电话、邮箱
- 修改密码等个人信息管理
-
历史管理
- 在聊天界面查看历史对话和项目
- 重新加载和预览历史项目
DreamCoder/
├── backend/
│ ├── core/ # 核心模块
│ │ ├── models.py # 数据库模型
│ │ ├── dependencies.py # 依赖配置
│ │ ├── knowledge_base.py # RAG知识库
│ │ └── mcp_tool_manager.py # MCP工具管理
│ ├── workflows/ # LangGraph工作流
│ │ └── game_gen_workflow.py
│ ├── routers/ # API路由
│ │ ├── auth.py # 认证
│ │ ├── user.py # 用户管理
│ │ └── game_generation.py # 游戏生成
│ ├── static/ # 静态资源
│ └── main.py # FastAPI入口
├── frontend/
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ │ └── GameChatView.vue # 主聊天界面
│ │ ├── components/ # 组件
│ │ │ └── ProfileModal.vue # 账号管理弹窗
│ │ ├── stores/ # 状态管理
│ │ ├── utils/ # 工具函数
│ │ │ └── htmlGenerator.js # HTML生成器
│ │ └── router/ # 路由配置
│ └── package.json
├── docker-compose.yml # Docker编排
├── Dockerfile # Docker镜像
└── nginx.conf # Nginx配置
POST /auth/register- 用户注册POST /auth/login- 用户登录POST /auth/verification- 发送验证码
PATCH /user/avatar- 上传头像PATCH /user/username- 修改用户名PATCH /user/phone- 修改电话PATCH /user/email- 修改邮箱POST /user/password- 修改密码
POST /game/generate- 生成游戏GET /game/generate/stream- 流式生成(SSE)GET /game/projects- 获取项目列表GET /game/projects/{id}- 获取项目详情GET /game/projects/{id}/files- 获取项目文件GET /game/projects/{id}/logs- 获取生成日志GET /game/templates- 获取游戏模板GET /game/templates/search- 搜索模板
- 生成速度: ~45秒/项目
- 成功率: >90%
- 代码质量评分: 平均85/100
欢迎提交 Issue 和 Pull Request!
Apache License 2.0