# 🎮 文字冒险游戏系统 - RAG_v1
这是一个基于Python开发的高级文字冒险游戏系统,融合了智能AI对话、状态管理、记忆检索和故事生成功能。系统采用统一数据管理架构,支持完整的游戏状态回溯和智能记忆压缩。
## 🌟 核心特性
### 🧠 智能记忆系统
- **滑动对话窗口**:保持最近25轮对话的完整记录
- **长期记忆压缩**:自动将历史对话压缩成高质量摘要
- **智能记忆检索**:基于上下文的记忆查找和关联分析
- **记忆统计分析**:详细的检索和压缩统计数据
### 🎭 分离式AI引擎架构
- **原始故事生成器**:专注于创意内容生成
- **故事守护者**:实时审查、修改和优化故事内容
- **角色状态管理器**:自动追踪和更新角色信息
- **故事大纲生成器**:动态生成和管理故事发展大纲
### 💾 统一数据管理
- **单文件数据存储**:所有游戏数据统一存储在JSON文件中
- **完整状态快照**:每轮游戏前自动创建状态快照
- **时间回溯系统**:支持回溯到任意历史轮次
- **自动备份机制**:回溯时自动创建数据备份
### 🔄 高级游戏功能
- **重试机制**:重新生成上一轮AI回应
- **存档管理**:完整的存档创建、加载、删除功能
- **调试模式**:详细的系统运行日志和调试信息
- **数据导出**:支持导出完整游戏数据
## 🎮 游戏命令系统
### 基础操作
- `退出` - 结束游戏
- `重试` - 重新生成上一轮对话内容
- `帮助` - 显示完整帮助信息
### 状态查看
- `查看状态` - 显示游戏状态摘要
- `角色状态` - 显示当前角色详细信息
- `长期记忆` - 查看压缩的历史记忆片段
- `检索统计` - 查看记忆检索和压缩分析数据
### 高级管理
- `角色管理` - 手动编辑角色信息
- `大纲管理` - 查看和编辑故事发展大纲
- `回溯` - 时间回溯功能菜单
- `调试模式` - 切换详细调试输出
### 数据操作
- `导出数据` - 导出完整游戏数据到文件
- `重新开始` - 清空当前会话所有数据
## 🛠️ 技术架构
### 核心依赖
```python
transformers>=4.30.0 # AI模型支持
torch>=2.0.0 # 深度学习框架
openai>=1.0.0 # OpenAI API客户端
numpy>=1.21.0 # 数值计算
scikit-learn>=1.0.0 # 机器学习工具
python-dotenv>=1.0.0 # 环境变量管理
python-dateutil>=2.8.0 # 日期时间处理
```
### 系统架构
```
src/
├── core/ # 核心游戏逻辑
│ ├── game_manager.py # 统一游戏管理器
│ ├── unified_data_manager.py # 统一数据管理器
│ ├── story_generator.py # 原始故事生成器
│ ├── story_guardian.py # 故事守护者
│ └── story_outline_generator.py # 故事大纲生成器
├── utils/ # 工具模块
│ ├── save_manager.py # 存档管理器
│ └── summarizer.py # 智能摘要生成器
└── config/ # 配置管理
└── story_settings.py # 游戏设定和背景
```
## 📦 安装和配置
### 1. 环境准备
```bash
# 克隆项目
git clone [your-repository-url]
cd RAG_v1
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
```
### 2. 安装依赖
```bash
pip install -r requirements.txt
```
### 3. 配置API密钥
创建 `.env` 文件或直接修改代码中的API配置:
```env
OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://api.deepseek.com/v1 # 可选:自定义API端点
```
## 🚀 运行游戏
### 启动主程序
```bash
python main.py
```
### 主菜单选项
1. **🆕 开始游戏** - 创建新的游戏会话
2. **📁 存档管理** - 管理游戏存档(加载/删除/备份)
3. **❓ 帮助** - 查看详细帮助信息
4. **🚪 退出游戏** - 退出程序
### 测试和开发
```bash
# 测试回溯功能
python test_rollback.py
# 测试存档系统
python test_save_load.py
# 测试存档管理器
python test_save_manager.py
```
## 📊 数据管理
### 存档文件结构
```
game_data/ # 主要存档目录
├── game_session_YYYYMMDD_HHMMSS.json # 游戏会话文件
backup_YYYYMMDD_HHMMSS/ # 自动备份目录
rollback_backup/ # 回溯备份目录
archives/ # 手动导出存档
```
### 会话数据包含
- **游戏状态**:当前轮次、重试状态、会话信息
- **记忆系统**:对话窗口、长期记忆、检索统计
- **角色系统**:所有角色状态和更新历史
- **大纲系统**:当前大纲、历史大纲、更新记录
- **快照系统**:状态快照用于重试和回溯
## 🎯 核心功能详解
### 记忆压缩机制
当对话窗口超过25轮时,系统会自动:
1. 保留最近15轮完整对话
2. 将较早的对话压缩成高质量摘要
3. 存储到长期记忆中供后续检索
### 故事生成流程
1. **记忆检索**:根据用户输入检索相关历史信息
2. **原始生成**:生成初始故事内容
3. **内容审查**:故事守护者实时修改和优化
4. **角色更新**:自动分析和更新角色状态
5. **大纲管理**:动态更新故事发展大纲
### 回溯系统
- 支持回溯到任意历史轮次
- 自动创建回溯前的完整备份
- 保持数据完整性和一致性
- 支持回溯后继续游戏
## 🔧 高级配置
### 自定义游戏设定
编辑 `src/config/story_settings.py` 修改:
- 游戏世界观和背景设定
- 角色管理规则
- 故事生成参数
### 调试模式
启用调试模式可以看到:
- 详细的AI调用日志
- Token使用统计
- 记忆检索过程
- 角色状态分析
## 📈 性能特点
- **内存效率**:智能记忆压缩,避免无限增长
- **存储优化**:JSON格式,人类可读,易于备份
- **API优化**:合理的token使用,支持流式输出
- **错误恢复**:完善的异常处理和状态回滚
## 🤝 贡献指南
欢迎提交Issue和Pull Request来改进项目!
### 开发建议
- 运行测试文件验证功能
- 启用调试模式了解系统工作流程
- 查看 `docs/` 目录获取更多技术文档
## 📝 版本信息
- **当前版本**:1.0
- **Python版本要求**:3.8+
- **最后更新**:2025年6月
## 📄 许可证
[请添加适当的开源许可证]

Mmnnnbb123
- 粉丝: 783
最新资源
- 给排水施工图预算的编制.ppt
- 恒天财富评审业务操作规范8.15.pdf
- 总包对专业分包单位管理.doc
- 遗忘曲线和记忆金字塔.ppt
- 岩土工程勘察报告的编写注意事项.doc
- 综合楼通风及空调风系统防腐、油漆技术交底.doc
- MCGS组态软件的自动售货机方案设计书(1).doc
- CEAC2201典型企业网络方案设计书(推荐DOC149)doc.doc
- 现浇盖梁施工工艺流程图.doc
- 5高校物联网应用开发实训室建设实施方案.docx
- 电话插座与组线箱安装工艺标准.pdf
- 常熟市房建及市政工程量清单招投标综合评分评估办法.doc
- 现场施工管理问题探析.doc
- 大数据时代基于财务共享服务模式的费用预算管理策略.docx
- UltraEdit与Masm进行汇编程序调试技术.docx
- 2009汇编交底(建筑装饰专业清单计价).ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


