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