# Onpharos-Platforms **Repository Path**: cmx1998/onpharos-platforms ## Basic Information - **Project Name**: Onpharos-Platforms - **Description**: 传说在遥远的翁法罗斯世界,十二位盗火行者与来古士展开了一场永无止境的轮回之战。而今,我将用AI的力量重现这场史诗对决,让深度学习算法在代码的海洋中谱写新的传奇。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-16 - **Last Updated**: 2025-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Onpharos-Platforms ## 介绍 传说在遥远的翁法洛斯世界,十二位盗火行者与来古士展开了一场永无止境的轮回之战。本项目旨在通过AI技术重现这场史诗对决,构建集智能体训练、游戏引擎、代码生成与可视化于一体的深度学习平台,让算法在代码的海洋中谱写新的传奇。 本项目现已升级为混合AI架构,实现了管理员使用在线高性能模型(如GPT-4)、智能体使用本地轻量级模型(PPO等)的差异化策略,同时具备完整的上下文管理和故障转移机制。 ## 项目结构 ``` 翁法罗斯平台/ ├── 容器化部署/ │ ├── docker-compose.yml # 服务编排配置(支持多容器联动) │ ├── start.bat # Windows一键启动脚本 │ └── 各服务Dockerfile # 训练/引擎/生成器/可视化服务镜像配置 │ ├── 游戏引擎核心/ │ ├── game_engine/ │ │ ├── main.py # 游戏引擎API入口(FastAPI) │ │ ├── game_state.py # 游戏状态管理 │ │ ├── event_system.py # 事件触发系统 │ │ ├── factor_controller.py # 因子行为控制 │ │ └── narrative_engine.py # 剧情叙事引擎 │ │ │ ├── agents/ # 智能体实现 │ │ ├── factor_agents/ # 十二因子智能体(部分已实现基础逻辑) │ │ ├── lygus_agent.py # 来古士(反派智能体) │ │ └── irontomb_agent.py # 铁墓(隐藏BOSS) │ ├── 深度学习训练/ │ ├── trainer/ │ │ ├── main.py # 训练服务API入口(FastAPI) │ │ ├── training_controller.py # 训练流程控制 │ │ └── TrainingState.py # 训练状态管理(已实现基础状态跟踪) │ │ │ ├── models/ # 算法模型 │ │ ├── lightweight_ppo.py # 轻量级PO算法 │ │ ├── model_strategy_manager.py # 模型策略管理器 │ │ └── factor_policy_net.py # 因子策略网络 │ ├── AI代码生成器/ │ ├── code_generator/ │ │ ├── main.py # 代码生成API入口 │ │ ├── ai_developer.py # AI开发者核心逻辑 │ │ ├── error_fixer.py # 代码错误自动修复(已实现基础修复功能) │ │ └── test_generator.py # 测试用例生成 │ ├── 可视化与剧情/ │ ├── visualizer/ # 前端可视化服务(http://localhost:3000) │ │ ├── src/ # 前端代码(基础框架已实现) │ │ │ ├── components/ │ │ │ │ └── FactorCard.js │ │ │ ├── App.css │ │ │ ├── App.js │ │ │ ├── index.css │ │ │ └── index.js │ │ └── package.json # 前端依赖配置 │ │ │ ├── narrative/ │ │ ├── story_generator.py # 故事生成器 │ │ └── report_generator.py # 轮回报告生成 │ ├── 数据管理/ │ ├── training_data/ # 训练数据存储 │ ├── model_checkpoints/ # 模型检查点 │ └── game_logs/ # 游戏日志(支持回合结果持久化) │ ├── 配置与工具/ │ ├── config/ # 配置管理 │ │ ├── api_config.py # API配置管理 │ │ └── system_config.py # 系统配置 │ ├── utils/ # 工具模块 │ │ ├── online_model_service.py # 在线模型服务 │ │ ├── context_manager.py # 上下文管理器 │ │ ├── network_monitor.py # 网络监控器 │ │ └── training_monitor.py # 训练监控器 │ └── data_management/ # 数据管理 │ └── persistence.py # 数据持久化 │ └── 文档与示例/ ├── 使用教程/ ├── API文档/ ├── INTEGRATION_GUIDE.md # 混合AI架构集成指南 ├── PROJECT_OPTIMIZATION_PLAN.md # 项目优化计划 └── 配置示例/ ``` ## 已实现功能 1. **核心服务框架** - 训练服务(`trainer/`):基于FastAPI的训练状态管理,支持训练进度跟踪 - 游戏引擎(`game_engine/`):实现回合制战斗逻辑、智能体动作生成与结果同步 - 代码生成器(`code_generator/`):支持基础代码模板生成、错误自动修复(如未使用变量移除) - 容器化部署:支持Docker一键启动,包含CUDA加速、SSH连接(`root@localhost:2222`,密码`onpharos`) 2. **混合AI架构** - **在线模型服务**:通过LiteLLM访问各种在线LLM,支持故障转移和上下文管理 - **模型策略管理器**:实现管理员使用在线模型、智能体使用本地模型的差异化策略 - **上下文管理器**:支持上下文的存储、检索、生命周期管理和优先级控制 - **网络监控器**:提供网络状态监控和在线/离线模型自动切换功能 - **配置管理系统**:支持多种模型提供商的配置,优先支持开源模型(Ollama、OpenRouter等) 3. **数据流转基础** - 游戏日志持久化存储(`game_logs/`) - 训练经验数据同步机制(游戏引擎→训练服务) - 基础配置文件加载与默认规则 fallback 4. **基础可视化界面** - 前端服务框架搭建(`visualizer/`) - 支持通过`http://localhost:3000`访问基础页面 ## 计划实现功能(重点优化) ### 1. 可视化界面增强(优先) - **数据展示优化** - 因子详情面板:显示属性、位置、最近行动日志(关联`factor_controller`数据) - 轮回叙事展示:支持上下轮回切换,显示剧情文本(对接`narrative_engine`) - 训练曲线图表:集成Chart.js展示奖励值、胜率等关键指标 - **交互体验提升** - 训练参数配置界面:支持设置轮回次数、每轮回步数 - 因子卡片交互:点击查看详情,hover显示动态效果 - 响应式布局:适配不同屏幕尺寸 - **视觉效果改进** - 动态状态指示器(运行/停止状态用颜色区分) - 卡片悬停动画与分层设计 - 实时事件通知组件(训练完成、错误提示) ### 2. 核心功能扩展 - 游戏引擎:完善十二因子技能系统、事件触发逻辑 - 训练服务:实现PPO算法完整训练流程、经验回放机制 - 代码生成器:集成LLM模型,支持智能体行为代码自动生成 ## 安装与启动 ### 前置条件 - Docker Desktop(配置国内镜像源,见`README_Windows.md`) - WSL2与NVIDIA Container Toolkit(支持GPU加速) ### 启动步骤 1. 克隆仓库并按`README_Windows.md`整理文件结构 2. 启动Docker Desktop,确保WSL2集成正常 3. 双击根目录`start.bat`,首次启动会自动构建镜像(约5-15分钟) 4. 访问服务: - 训练API:http://localhost:8000 - 游戏引擎API:http://localhost:8001 - 代码生成器API:http://localhost:8002 - 可视化界面:http://localhost:3000 ### 环境配置 1. 复制`.env.example`为`.env`并填入实际的API密钥或Ollama配置 2. 配置Ollama服务(如使用本地模型):`OLLAMA_BASE_URL=http://localhost:11434`,`OLLAMA_MODEL=ollama/qwen3:4b` ## 参与贡献 1. Fork本仓库 2. 新建`Feat_xxx`分支(如`Feat_visualization_enhance`) 3. 提交代码(确保包含测试用例) 4. 新建Pull Request ## 备注 - 详细配置与问题排查见`README_Windows.md` - 日志查看命令:`docker-compose logs -f [服务名]`(如`onpharos-trainer`) - 功能迭代优先聚焦可视化界面优化,后续逐步完善算法与智能体逻辑