# MetaOffice **Repository Path**: gavin-chan/MetaOffice ## Basic Information - **Project Name**: MetaOffice - **Description**: 元宇宙虚拟协作平台(暂定名:MetaOffice) - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-03 - **Last Updated**: 2025-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 元宇宙虚拟协作平台(MVP)项目设计文档 ## 一、项目概述 ### 1.1 项目名称 元宇宙虚拟协作平台(暂定名:MetaOffice) ### 1.2 项目目标 构建一个以元宇宙为交互界面的虚拟协作系统,用户(如企业管理者)可进入 3D 虚拟空间,通过自然语言与具备特定技能的 NPC(虚拟员工)对话,触发并分配任务,实现 “虚拟场景交互 + 实际任务执行” 的闭环协作。 ### 1.3 核心价值 以沉浸式元宇宙界面为入口,简化任务分配流程,通过 AI 驱动的 NPC 实现高效协作,降低沟通成本(类似 “虚拟办公室” 中与员工面对面沟通并安排工作)。 ## 二、核心功能模块 ### 2.1 元宇宙界面层(3D 虚拟空间) #### 功能描述 * 构建轻量化 3D 虚拟场景(如 “公司办公室”),支持用户以角色形式进入并自由移动。 * 场景中分布多个 NPC(虚拟员工),每个 NPC 有固定位置和视觉标识(如岗位铭牌、技能图标)。 * 支持用户与 NPC 的基础交互:点击 NPC 触发对话窗口,显示对话历史和任务反馈。 #### 技术要求 * 3D 引擎:优先采用 Three.js(Web 端,支持浏览器访问),或 Panda3D(Python 生态,适合快速原型)。 * 场景资源:基础办公室模型(桌椅、门窗)、NPC 角色模型(简化 3D 模型或卡通形象,支持简单动画:如对话时头部微动、手势示意)。 * 交互逻辑: * 用户控制:WASD 键移动,鼠标点击 NPC 触发交互。 * 界面元素:对话窗口(类似聊天框,左侧 NPC 头像 + 回复,右侧用户输入框)、任务进度提示(如 NPC 头顶显示 “处理中” 进度条)。 ### 2.2 NPC 系统(虚拟员工) #### 功能描述 * 每个 NPC 具备独立身份属性:姓名、岗位(如 “技术总监”“运营专员”“数据分析师”)、技能标签(如 “数据分析”“文档生成”“会议安排”)。 * 技能与任务绑定:每个技能对应 1-3 个可执行任务(如 “数据分析师” 技能对应 “生成销售报表”“用户留存分析”)。 * 状态管理:显示当前状态(空闲 / 处理中 / 离线),记录任务历史。 #### 技术要求 * NPC 属性存储:用 MySQL 数据库存储 NPC 信息(ID、姓名、岗位、技能列表、模型路径、场景坐标)。 * 技能 - 任务映射表:预设技能与任务的关联关系(如技能 ID=101 对应任务 “生成周报”,关联执行工具 “Python-docx+Pandas”)。 ### 2.3 对话交互层(自然语言交互) #### 功能描述 * 用户通过文本输入与 NPC 对话,支持自然语言指令(如 “帮我分析上周的用户增长数据”“写一份产品上线通知”)。 * NPC 能理解用户意图,判断是否匹配自身技能: * 若匹配:响应任务接收信息(如 “好的,正在生成上周用户增长分析,预计 3 分钟完成”)。 * 若不匹配:引导用户找对应 NPC(如 “这个任务建议找运营专员处理,他的工位在左侧第二间”)。 #### 技术要求 * 对话引擎:接入大语言模型 API(如 GPT-3.5/4、通义千问),通过角色 Prompt 定义 NPC 人设(如 “你是某公司数据分析师,说话简洁,擅长用数据结论回应,不闲聊”)。 * 意图识别:通过 LLM 解析用户输入,提取任务关键词(如 “分析”“生成”“安排”),与 NPC 技能标签匹配(可通过 Python 后端脚本辅助关键词校验)。 ### 2.4 任务执行层(工具集成与结果反馈) #### 功能描述 * NPC 接收任务后,调用后端工具完成实际操作,支持以下核心任务(MVP 阶段): 1. 数据分析:生成指定维度的数据报表(如销售数据、用户增长),输出图表 + 文字结论。 2. 文档生成:自动创建标准化文档(如周报、通知函),支持导出为 Word/PDF。 3. 消息通知:通过企业微信 / 邮件发送任务结果或提醒(如 “报表已生成,已发送至您的邮箱”)。 * 任务进度实时反馈:用户可在对话窗口查看进度(如 “数据处理中(60%)”),完成后显示结果(可点击查看详情或下载)。 #### 技术要求 * 后端服务:Python + Flask 搭建任务调度 API,接收 NPC 转发的任务指令(含任务类型、参数)。 * 工具集成: * 数据分析:Pandas(数据处理)+ Matplotlib/Seaborn(图表生成)。 * 文档生成:python-docx(Word)、reportlab(PDF)。 * 消息通知:调用企业微信 API/SMTP 协议(邮件)。 * 任务状态管理:用数据库记录任务 ID、类型、状态(待处理 / 处理中 / 完成 / 失败)、结果路径,定时同步至前端显示。 ## 三、技术架构 ### 3.1 整体架构 ``` 用户 → 前端(3D场景+对话界面) → 后端API(Flask) → ①LLM服务(对话/意图识别) ②任务执行模块(Python工具链) → 数据库 ``` ### 3.2 技术栈明细 | 模块 | 技术选型 | 作用 | | ------------ | -------------------------------- | ----------------------------------- | | 前端 3D 场景 | Three.js + HTML/CSS/JavaScript | 构建虚拟空间,用户交互,NPC 展示 | | 后端服务 | Python + Flask | 处理 API 请求,任务调度,数据库交互 | | 对话引擎 | GPT-3.5 API(或开源 LLM) | 实现 NPC 对话逻辑,意图识别 | | 任务工具 | Pandas/Matplotlib/python-docx 等 | 执行数据分析、文档生成等具体任务 | | 数据库 | MySQL | 存储 NPC 信息、任务记录、场景配置 | ## 四、开发优先级(MVP 阶段) 1. **第一阶段(基础场景与对话)** * 搭建极简 3D 场景(1 个房间 + 2 个 NPC 模型)。 * 实现用户移动、点击 NPC 触发对话窗口功能。 * 接入 LLM API,完成基础对话逻辑(NPC 能回应简单问候和任务指令)。 1. **第二阶段(任务执行闭环)** * 开发 Python 后端任务接口,实现 1-2 个核心任务(如 “生成随机数据报表”)。 * 打通 “对话→意图识别→任务调用→结果反馈” 流程(例:用户说 “生成报表”→NPC 调用工具→返回报表链接)。 1. **第三阶段(功能完善)** * 扩展至 3-5 个 NPC,各带 2-3 个技能。 * 优化交互体验(NPC 动画、任务进度条、结果预览)。 ## 五、数据结构设计(核心表) 1. **NPC 表(npc\_info)** | 字段名 | 类型 | 说明 | | ------------ | ----------- | --------------------------------------- | | npc\_id | int(主键) | NPC 唯一标识 | | name | varchar | 姓名(如 “张三”) | | position | varchar | 岗位(如 “数据分析师”) | | skills | json | 技能列表(如 \["数据分析","报表生成"]) | | model\_path | varchar | 3D 模型文件路径 | | scene\_x/y/z | float | 场景中的坐标位置 | 1. **任务表(task\_records)** | 字段名 | 类型 | 说明 | | ------------ | ----------- | ------------------------------ | | task\_id | int(主键) | 任务唯一标识 | | user\_id | int | 发起用户 ID | | npc\_id | int | 接收任务的 NPC ID | | task\_type | varchar | 任务类型(如 “数据分析”) | | status | varchar | 状态(待处理 / 处理中 / 完成) | | result\_path | varchar | 结果文件路径(如报表 URL) | | create\_time | datetime | 创建时间 | ## 六、验收标准(MVP) 1. 用户可通过浏览器进入 3D 虚拟场景,自由移动并点击 NPC 触发对话。 2. 至少 3 个 NPC,每个能响应对应技能的任务指令(如数据分析师可生成报表)。 3. 任务执行流程完整:用户指令→NPC 接收→工具执行→结果反馈(文字 + 可下载文件)。 4. 界面流畅,无明显卡顿,任务响应时间≤10 秒(简单任务≤3 秒)。 ## 七、扩展方向(后续迭代) * 增加语音交互(接入语音识别 API,支持 “说话” 下达任务)。 * 扩展 NPC 技能(如 “代码生成”“会议纪要”“客户沟通模拟”)。 * 多用户协作(支持多人同时进入场景,共享 NPC 任务进度)。 * 场景个性化(用户可自定义办公室布局、NPC 形象)。 此文档聚焦 MVP 核心功能,技术选型兼顾可行性与开发效率,可直接作为 AI 开发的需求输入。开发过程中建议优先完成 “对话 - 任务” 闭环,再逐步优化 3D 场景体验。 > (注:文档部分内容可能由 AI 生成)