# digital_human **Repository Path**: wang_ling_hui/digital_human ## Basic Information - **Project Name**: digital_human - **Description**: 这是最典型的多 Agent 协作成果,解决 PPT 制作成本高、真人讲解不可规模化、录播无法互动的问题。系统支持 AI 生成 PPT、数字人讲解、语音打断、实时问答和断点恢复。核心长链为:用户输入主题 → 内容 Agent 生成大纲和讲解稿 → 视觉 Agent 设计布局 → PPT Agent 生成文件 → 测试/QA Agent 修复 → 导出 PDF → 数字人讲解。交互流为:用户语音打断 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-10 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LumiDeck — 数字人PPT讲解系统 AI 数字人逐页讲解 PPT,支持语音打断提问、实时对话、断点恢复。 ## 项目结构 ``` ├── frontend/ # React + Vite + TypeScript 前端 ├── backend/ # Spring Boot 3 + Java 21 后端 ├── backend/uploads/ # PDF + 讲解词JSON 存放目录(唯一数据源) ├── ppt_assets/ # PPT生成用的素材图片 └── docs/ # 设计文档 ``` ## 环境要求 - Java 21+ - Node.js 18+ - Maven 3.9+ - Python 3.8+(用于安装 edge-tts) - DeepSeek API Key ## 快速启动 ### 1. 安装 edge-tts(语音合成) 后端通过命令行调用 `edge-tts` 生成语音,必须先安装: ```bash pip install edge-tts ``` 安装后验证: ```bash edge-tts --text "你好" --write-media test.mp3 ``` 能生成 `test.mp3` 就说明安装成功。 ### 2. 配置环境变量 ```bash # Windows set AI_DEEPSEEK_API_KEY=your-deepseek-api-key # Linux / Mac export AI_DEEPSEEK_API_KEY=your-deepseek-api-key ``` ### 3. 准备演示文件 将 PDF 文件和对应的讲解词 JSON 放到 `backend/uploads/` 目录下: ``` backend/uploads/ ├── 我的演示.pdf └── 我的演示_prompts.json ``` 讲解词 JSON 格式如下(文件名必须是 `PDF文件名_prompts.json`): ```json [ { "slideIndex": 0, "prompt": "大家好,欢迎来到今天的演示。这一页是封面..." }, { "slideIndex": 1, "prompt": "这一页介绍的是产品背景..." } ] ``` - `slideIndex` 从 0 开始,对应 PDF 的页码 - `prompt` 是数字人朗读的讲解词 - 没有配置讲解词的页会使用默认模板 ### 4. 启动后端 ```bash cd backend mvn spring-boot:run ``` 后端运行在 http://localhost:8080 ### 5. 启动前端(开发模式) ```bash cd frontend npm install npm run dev ``` 前端运行在 http://localhost:5173 如需生产部署,编译前端到 dist 目录: ```bash cd frontend npm run build ``` ## 使用流程 1. 打开首页,上传 PDF 文件(或直接放到 `backend/uploads/` 目录) 2. 将配套的 `_prompts.json` 讲解词文件放到同一目录 3. 进入讲解页面,点击"开始讲解" 4. 数字人逐页朗读讲解词 5. 点击打断按钮暂停讲解,可以语音或文字提问 6. 说"继续讲解"或点击恢复按钮,从当前页继续 ## 技术栈 - 后端:Spring Boot 3.3 / Java 21 / WebFlux - 前端:React 19 / TypeScript / Vite 6 / Zustand - AI 对话:DeepSeek API(SSE 流式) - 语音合成:Edge TTS(命令行调用) - 语音识别:Web Speech API(浏览器原生) - PDF 处理:Apache PDFBox