# 统一多订单班AI演示系统 - 实施计划 V2.0 ## 一、项目概述 ### 1.1 核心理念变更 **原方案**:为每个订单班创建独立的演示项目(12个独立项目) **新方案**:在单一exhibition-demo项目中实现所有订单班的动态切换 ### 1.2 优势分析 - **代码复用最大化**:一套代码服务12个订单班 - **维护成本降低**:只需维护一个项目 - **用户体验统一**:所有订单班使用相同的交互流程 - **数据管理集中**:通过统一的数据存储管理所有配置 - **扩展性强**:新增订单班只需添加数据配置 ## 二、系统架构设计 ### 2.1 整体架构 ``` exhibition-demo/ ├── src/ │ ├── components/ │ │ ├── RequirementModal.tsx # 需求选择模态框(新增订单班选择) │ │ ├── AgentGrid.tsx # Agent网格展示(动态加载) │ │ ├── TerminalOutput.tsx # 终端输出组件 │ │ └── ResultModal.tsx # 结果展示模态框 │ ├── data/ │ │ ├── orderClasses.json # 所有订单班配置数据 │ │ └── agentTemplates.json # Agent模板定义 │ ├── services/ │ │ ├── dataLoader.ts # 数据加载服务 │ │ ├── agentService.ts # Agent执行逻辑 │ │ └── resultGenerator.ts # 结果生成服务 │ └── store/ │ └── demoStore.ts # 状态管理(支持多订单班) ├── public/ │ └── agents/ # Agent头像资源 │ ├── 文旅/ │ ├── 食品/ │ ├── 财经商贸/ │ └── ...(其他订单班) └── web_result/ # 结果展示页面 └── templates/ # 各订单班结果模板 ``` ### 2.2 数据存储方案 #### 方案对比 | 方案 | 优点 | 缺点 | 推荐度 | |------|------|------|--------| | **JSON文件** | 简单直观、无需数据库、易于版本控制 | 文件可能较大、不支持复杂查询 | ⭐⭐⭐⭐⭐ | | SQLite | 支持查询、关系型存储 | 需要数据库依赖、部署复杂 | ⭐⭐⭐ | | YAML | 可读性好、支持注释 | 解析性能较低、前端支持有限 | ⭐⭐⭐ | | CSV | 表格化管理 | 不支持嵌套结构、功能受限 | ⭐⭐ | **推荐方案:JSON文件存储** #### 数据结构设计 ```json // orderClasses.json { "orderClasses": [ { "id": "exhibition", "name": "文旅", "displayName": "文旅订单班", "icon": "🎪", "description": "展会策划与执行专业", "scenario": "新能源汽车产业博览会策划", "mockRequirement": "策划一场2025年新能源汽车产业博览会,预算1000万,预计参展商500家", "agents": [ { "id": "info_retrieval", "name": "信息检索专家", "model": "DeepSeek Chat Model5", "avatar": "/agents/文旅/info_retrieval.png", "role": "负责市场调研、数据收集、竞品分析", "skills": ["市场分析", "数据挖掘", "趋势预测"], "outputSamples": [ "发现市场规模1200亿,年增长18%", "识别目标客群:汽车厂商、零部件供应商、科技公司" ] }, { "id": "planning", "name": "会展策划专家", "model": "Chat Models + Memories", "avatar": "/agents/文旅/planning.png", "role": "统筹协调、方案整合、决策支持", "skills": ["项目管理", "资源协调", "风险控制"] } // ... 其他5个Agent ], "workflow": { "phases": [ { "name": "需求分析", "duration": "2分钟", "parallelAgents": ["info_retrieval"] }, { "name": "方案设计", "duration": "5分钟", "parallelAgents": ["planning", "design", "marketing"] }, { "name": "预算规划", "duration": "3分钟", "parallelAgents": ["finance", "execution"] } ] }, "resultTemplate": "exhibition_result.html" }, { "id": "food", "name": "食品", "displayName": "食品订单班", "icon": "🍽️", "description": "餐饮创业与轻食经营", "scenario": "中高端轻食店铺经营方案", "mockRequirement": "开设一家青莳轻食品牌店,初始投资85万,目标客群25-40岁", "agents": [ { "id": "market_research", "name": "餐饮市场调研专家", "model": "DeepSeek Chat Model1", "avatar": "/agents/食品/market_research.png", "role": "轻食市场分析、客群定位、竞品研究" }, { "id": "nutrition", "name": "营养配方师", "model": "Google Gemini Chat Model1", "avatar": "/agents/食品/nutrition.png", "role": "营养配比、菜品设计、健康认证" } // ... 其他Agent ] } // ... 其他10个订单班 ] } ``` ### 2.3 核心功能设计 #### 2.3.1 需求选择界面 ```typescript // RequirementModal.tsx 改造 interface RequirementModalProps { onSelectOrderClass: (classId: string, requirement: string) => void; } const RequirementModal = () => { const [selectedClass, setSelectedClass] = useState(''); const [customRequirement, setCustomRequirement] = useState(''); return (
{/* 订单班选择网格 */}
{orderClasses.map(oc => ( ))}
{/* 需求输入区 */} {selectedClass && (