AI-Gamble 是一个基于大型语言模型(LLM)的互动小说游戏平台。它通过人工智能技术,根据玩家选择的故事类型(如东方玄幻、西方魔幻等),实时生成独特的故事情节、角色和可视化故事线路图。玩家可以通过简单的选择,体验沉浸式的分支叙事,探索多种故事结局。项目采用 FastAPI 后端、Vanilla JavaScript 前端和 Mermaid.js 渲染故事结构图,支持 Docker 部署,适合喜欢互动故事和 AI 技术的用户。整个系统设计高效,操作简单,适合快速上手。
功能列表
- 动态故事生成 :AI 根据玩家选择的故事类型,实时生成开篇、发展和多重结局,支持东方玄幻、西方魔幻等多种文学风格。
- 随机化作家与作品 :每次新游戏,系统随机生成符合故事类型的虚拟“作家”和“书名”,增加趣味性和代入感。
- 可视化故事线路图 :游戏开始时,生成故事结构图,通过 Mermaid.js 在前端展示,玩家可直观了解故事分支和结局。
- 分支叙事 :玩家的每次选择都会改变故事走向,导向不同情节和结局,增强互动性。
- 动态写作风格 :AI 根据故事类型调整叙述风格,如古风或奇幻风格,提升沉浸感。
使用帮助
安装流程
AI-Gamble 是一个基于 Docker 的项目,安装简单,适合本地运行。以下是详细的安装和使用步骤:
先决条件
- 安装 Docker 和 Docker Compose。
- 准备一个有效的 OpenAI API 密钥,用于调用 AI 故事生成服务。
配置环境
- 创建环境变量文件 :
- 项目使用
.env
文件存储敏感信息,如 OpenAI API 密钥。 - 在项目根目录下,复制提供的示例文件:
# Windows copy .env.example .env # macOS/Linux cp .env.example .env
- 项目使用
- 编辑
.env
文件 :- 打开
.env
文件,填入你的 OpenAI API 密钥。 - 根据需要修改其他配置,如数据库连接信息或 Redis 设置。
- 打开
启动项目
- 构建并运行服务 :
- 在项目根目录下,运行以下命令:
docker-compose up --build
- 该命令会拉取所需镜像,构建并启动 FastAPI 后端、Redis 和其他服务。
- 在项目根目录下,运行以下命令:
- 编译前端样式(可选) :
- 如果需要修改 Tailwind CSS 样式,打开新终端,运行:
npm run build
- 此命令实时监听并编译前端样式文件
tailwind.css
。
- 如果需要修改 Tailwind CSS 样式,打开新终端,运行:
- 访问应用 :
- 打开浏览器,访问
http://localhost:1888
。 - 页面加载后,你将看到游戏主界面,可以选择故事类型并开始游戏。
- 打开浏览器,访问
停止服务
- 按
Ctrl+C
停止 Docker 容器。 - 若需清理容器,运行:
docker-compose down
使用方法
开始新游戏
- 打开
http://localhost:1888
,进入游戏主界面。 - 选择故事类型(如“东方玄幻”或“西方魔幻”)。
- 点击“开始”按钮,系统会调用 AI 生成初始场景、虚拟作家、书名和故事线路图。
- 界面显示故事开篇内容和 Mermaid.js 渲染的故事结构图,展示潜在分支和结局。
进行游戏
- 阅读当前场景的文本描述。
- 根据提示选择一个选项(如“进入森林”或“对话神秘人”)。
- 提交选择后,AI 根据你的决定生成下一段故事内容,界面更新显示新场景。
- 故事线路图会动态高亮当前所在分支,方便追踪故事进展。
- 继续选择,直到故事到达某一结局。
查看故事线路图
- 在游戏界面,Mermaid.js 渲染的故事线路图展示所有可能的分支和结局。
- 点击图中节点,可预览对应场景的简要描述(若 API 支持)。
- 图表帮助玩家理解选择对故事走向的影响。
管理游戏会话
- 创建新游戏 :通过
POST /api/v1/game
创建新游戏,获取初始场景和故事图。 - 提交选择 :使用
POST /api/v1/game/{game_id}/choice
,提交玩家选择,获取下一场景。 - 查看状态 :通过
GET /api/v1/game/{game_id}
获取当前 Westhaven AI-Gamble:动态生成互动小说游戏