# 星域故事汇 一款 AI 驱动的互动短剧微信小游戏,支持 AI 创作、UGC 内容发布,将超休闲游戏的极简操作与互动叙事的强代入感相结合。 ## 项目结构 ``` ai_game/ ├── client/ # 微信小游戏客户端 │ ├── js/ │ │ ├── data/ # 数据管理 │ │ │ ├── StoryManager.js # 故事数据 │ │ │ ├── UserManager.js # 用户数据 │ │ │ └── AudioManager.js # 音频管理 │ │ ├── scenes/ # 场景模块 │ │ │ ├── HomeScene.js # 首页(推荐/关注/最新/排行) │ │ │ ├── StoryScene.js # 故事播放 │ │ │ ├── EndingScene.js # 结局页 │ │ │ ├── ProfileScene.js # 个人中心(作品/草稿/收藏) │ │ │ ├── ChapterScene.js # 章节选择 │ │ │ ├── AICreateScene.js # AI创作中心 │ │ │ └── SceneManager.js # 场景管理 │ │ ├── utils/ │ │ └── main.js │ ├── game.js │ └── game.json │ ├── server/ # Python 后端服务 (FastAPI) │ ├── app/ │ │ ├── routers/ │ │ │ ├── story.py # 故事接口 │ │ │ └── user.py # 用户接口 │ │ ├── models/ │ │ │ ├── story.py # 故事ORM模型 │ │ │ └── user.py # 用户ORM模型 │ │ ├── config.py # 配置管理 │ │ ├── database.py # 数据库连接 │ │ └── main.py # 应用入口 │ ├── sql/ │ │ ├── schema.sql # 基础表结构 │ │ ├── init_db.py # Python建库脚本 │ │ └── seed_stories_*.sql # 种子数据 │ ├── requirements.txt │ └── .env │ ├── docs/ │ └── AI创作系统设计.md │ └── README.md ``` ## 技术栈 | 层级 | 技术 | |------|------| | 客户端 | 原生微信小游戏 Canvas 2D | | 服务端 | Python + FastAPI + SQLAlchemy | | 数据库 | MySQL 8.0 | | AI服务 | OpenAI / Claude API | ## 快速开始 ### 1. 初始化数据库 ```bash cd server pip install -r requirements.txt # 配置 .env 文件(数据库密码等) python sql/init_db.py ``` ### 2. 启动后端 ```bash cd server python -m app.main # 服务运行在 http://localhost:3000 ``` ### 3. 导入客户端 1. 微信开发者工具 → 导入项目 → 选择 `client` 目录 2. 填入 AppID 3. 编译运行 ## 核心功能 ### 故事游玩 - 沉浸式视觉小说界面 - 打字机效果文字展示 - 多分支选择剧情 - 多结局达成系统 ### AI 创作中心 - AI 改写结局 - AI 续写剧情 - AI 完整创作新故事 - 配额管理(免费/付费) ### UGC 生态 - 用户发布原创故事 - 作品审核机制 - 创作者数据统计 - 收益分成系统 ### 个人中心 - 我的作品管理 - 草稿箱 - 收藏/游玩记录 - 创作者统计 ## API 接口 ### 故事相关 | 接口 | 方法 | 说明 | |------|------|------| | `/api/stories` | GET | 故事列表 | | `/api/stories/:id` | GET | 故事详情 | | `/api/stories/:id/rewrite` | POST | AI改写结局 | | `/api/stories/:id/continue` | POST | AI续写 | | `/api/stories/ai-create` | POST | AI完整创作 | ### 用户相关 | 接口 | 方法 | 说明 | |------|------|------| | `/api/user/login` | POST | 用户登录 | | `/api/user/progress` | GET/POST | 游玩进度 | | `/api/user/collections` | GET | 收藏列表 | | `/api/user/my-works` | GET | 我的作品 | | `/api/user/drafts` | GET | 草稿箱 | | `/api/user/ai-quota` | GET | AI配额 | | `/api/user/recent-played` | GET | 最近游玩 | ## 数据库 完整表结构见 `server/sql/schema_v2.sql`,包含: - 用户体系(users, user_stats, user_follows) - 故事内容(stories, story_nodes, story_choices) - AI生成(ai_generations, ai_prompt_templates) - 用户行为(user_progress, user_endings, user_collections) - 经济体系(user_ai_quota, coin_transactions) - 审核运营(content_reviews, reports) ## 开发进度 - [x] 核心游玩模块 - [x] 故事播放场景 - [x] 结局展示系统 - [x] 章节选择功能 - [x] AI创作中心UI - [x] 首页UGC布局 - [x] 个人中心创作者功能 - [x] 后端基础框架(Python + FastAPI) - [x] 故事模型设计(标题、章节、选项、结局) - [x] 故事列表/详情接口 - [x] 用户游玩记录接口 - [x] AI改写结局接口(模拟) - [ ] AI服务对接(OpenAI/Claude) - [ ] 配额系统 - [ ] 审核系统 - [ ] 支付系统 - [ ] 社交分享 ## License MIT