# 永天科技数字人 **打造有温度的数字人** **给数字人注入灵魂** --- 🎉🎉🎉 永天科技数字人解决方案正式发布 基于开源数字人框架,为企业提供专业的数字人服务 **核心优势:** * 个人应用管理 * 内置服务接入 * 限定主题 * 应用分享(链接分享、网页嵌入分享) ###### *永天科技致力于为企业提供优质的数字人解决方案* --- ## 演示 演示视频请查看产品展示 ## 主要特性 * 支持 Docker 快速部署 * 超轻量级,配置要求低于2核2G * 支持 Dify/FastGPT/Coze 等编排框架服务接入 * 支持 ASR、LLM、TTS、Agent 模块化扩展 * 支持 Live2d 人物模型扩展和控制方式 * 支持PC端和移动端web访问 * 支持沉浸式智能对话 ## 设计架构 大模型的厂商众多、各种工具繁多、要打造自己的数字人需要一定的代码能力和时间投入。 可通过Coding扩展模块,让一切变得高度定制化。 可通过Agent编排框架,让一切变得更加简单。 ## 模式支持 > **交互模式** * 对话模式:专注于数字人文字交互 * 沉浸模式:专注与数字人之间拟人方式的直接交互 > **Agent模式** * ReapterAgent(测试使用):重复用户输入的语句 * DifyAgent:接入Dify的服务 * FastgptAgent:接入fastgpt的服务 * CozeAgent:接入coze的服务 * OpenaiAgent:接入适配openai接口的服务 ## TODOList - [ ] rtc音视频流支持 - [ ] 跨模态交互支持(麦克风/摄像头) - [ ] 人物模型AI生成尝试 - [ ] 情感控制人物表情动作支持 ## 项目启动方式 ### 方式一:一键启动脚本(推荐 - Windows) **适用场景:** 开发环境快速启动,自动打开 Chrome 全屏模式 **使用方法:** 1. 双击运行 `scripts/start-digital-human-chrome.bat` 2. 脚本会自动: - 启动后端服务(Python FastAPI,端口 8880) - 启动前端服务(Next.js,端口 3000) - 等待服务就绪后自动打开 Chrome 全屏模式 - 隐藏任务栏,防止系统休眠 **前置要求:** - Python 3.x(已安装依赖:`pip install -r requirements.txt`) - Node.js 和 npm(已安装前端依赖:`cd web && npm install`) - Google Chrome 浏览器 **停止服务:** - 关闭后端和前端服务窗口 - 或使用 `scripts/stop-digital-human.bat` 脚本 --- ### 方式二:手动启动(开发模式) **适用场景:** 需要查看详细日志的开发调试 **后端启动:** ```bash # 1. 安装依赖(首次运行) pip install -r requirements.txt # 2. 启动后端服务 python main.py ``` 后端服务默认运行在:`http://0.0.0.0:8880` **前端启动:** ```bash # 1. 进入前端目录 cd web # 2. 安装依赖(首次运行) npm install # 3. 启动前端服务(HTTPS模式) npm run dev # 或使用 HTTP 模式 npm run dev:http ``` 前端服务默认运行在:`https://localhost:3000`(需要 SSL 证书) **SSL 证书生成:** ```bash # Windows scripts\generate_ssl_cert.bat # Linux/Mac scripts/generate_ssl_cert.sh ``` --- ### 方式三:Docker Compose 部署(生产环境) **适用场景:** 生产环境部署,容器化运行 **快速启动(使用预构建镜像):** ```bash docker-compose -f docker-compose-quickStart.yaml up -d ``` **本地构建启动:** ```bash # 1. 构建并启动所有服务 docker-compose up -d # 2. 查看服务状态 docker-compose ps # 3. 查看日志 docker-compose logs -f # 4. 停止服务 docker-compose down ``` **服务说明:** - `adh-nginx`: Nginx 反向代理(端口 8880) - `adh-web`: 前端 Web 服务(Next.js) - `adh-api`: 后端 API 服务(FastAPI) - `adh-funasr`: FunASR 语音识别服务(端口 10095) **环境变量配置:** 在项目根目录创建 `.env` 文件,配置必要的环境变量: ```env DASHSCOPE_API_KEY=your_api_key_here ``` --- ### 方式四:Android APK 构建 **适用场景:** 移动端应用部署 **构建步骤:** ```bash # Windows web\build-apk.bat # Linux/Mac web/build-apk.sh ``` 构建完成后,APK 文件位于 `web/android/app/build/outputs/apk/` 目录 --- ## 项目目录结构详解 ### 根目录文件 ``` Uskyhuman/ ├── main.py # 项目主入口文件,启动后端服务 ├── requirements.txt # Python 依赖包列表 ├── package.json # 项目元数据配置 ├── docker-compose.yaml # Docker Compose 配置文件(本地构建) ├── docker-compose-quickStart.yaml # Docker Compose 快速启动配置(使用预构建镜像) ├── LICENSE # 开源许可证 └── README.md # 项目说明文档 ``` --- ### 📁 digitalHuman/ - 后端核心代码 Python 后端服务的主要代码目录,包含所有业务逻辑。 ``` digitalHuman/ ├── __init__.py # 包初始化文件 ├── protocol.py # 协议定义文件 │ ├── bin/ # 启动相关 │ └── app.py # 服务器启动逻辑,初始化引擎池和代理池 │ ├── agent/ # Agent 代理模块 │ ├── agentBase.py # Agent 基类定义 │ ├── agentPool.py # Agent 池管理 │ ├── builder.py # Agent 构建器 │ └── core/ # Agent 核心实现 │ ├── agentFactory.py # Agent 工厂类 │ ├── cozeAgent.py # Coze Agent 实现 │ ├── difyAgent.py # Dify Agent 实现 │ ├── fastgptAgent.py # FastGPT Agent 实现 │ ├── openaiAgent.py # OpenAI Agent 实现 │ └── repeaterAgent.py # 测试用重复 Agent │ ├── engine/ # 引擎模块(ASR/TTS/LLM) │ ├── engineBase.py # 引擎基类 │ ├── enginePool.py # 引擎池管理 │ ├── builder.py # 引擎构建器 │ ├── asr/ # 语音识别(ASR)引擎 │ │ ├── asrFactory.py # ASR 工厂类 │ │ ├── cozeASR.py # Coze ASR 实现 │ │ ├── dashscopeASR.py # 阿里云 DashScope ASR │ │ ├── dashscopeStreamingASR.py # DashScope 流式 ASR │ │ ├── difyASR.py # Dify ASR 实现 │ │ ├── funasrStreamingASR.py # FunASR 流式识别 │ │ └── tencentASR.py # 腾讯云 ASR 实现 │ ├── tts/ # 文本转语音(TTS)引擎 │ │ ├── ttsFactory.py # TTS 工厂类 │ │ ├── aliNLSTTS.py # 阿里云 NLS TTS │ │ ├── cozeTTS.py # Coze TTS 实现 │ │ ├── difyTTS.py # Dify TTS 实现 │ │ ├── edgeTTS.py # Edge TTS(微软) │ │ └── tencentTTS.py # 腾讯云 TTS 实现 │ └── llm/ # 大语言模型(LLM)引擎 │ └── llmFactory.py # LLM 工厂类 │ ├── server/ # Web 服务器模块 │ ├── app.py # FastAPI 应用实例 │ ├── router.py # 路由配置 │ ├── ws.py # WebSocket 处理 │ ├── models.py # 数据模型定义 │ ├── reponse.py # 响应格式化 │ ├── header.py # HTTP 头处理 │ ├── api/ # API 接口实现 │ │ ├── agent/ # Agent 相关 API │ │ │ └── agent_api_v0.py │ │ ├── asr/ # ASR 相关 API │ │ │ └── asr_api_v0.py │ │ ├── tts/ # TTS 相关 API │ │ │ └── tts_api_v0.py │ │ ├── llm/ # LLM 相关 API │ │ │ └── llm_api_v0.py │ │ ├── face_detection/ # 人脸检测 API │ │ │ └── face_detection_api_v0.py │ │ └── common/ # 通用 API │ │ └── common_api_v0.py │ └── core/ # 服务器核心功能 │ └── [核心处理逻辑文件] │ ├── core/ # 核心功能模块 │ ├── openai.py # OpenAI 客户端封装 │ └── runner.py # 运行器核心逻辑 │ ├── utils/ # 工具函数模块 │ ├── configParser.py # 配置文件解析器 │ ├── env.py # 环境变量处理 │ ├── logger.py # 日志工具 │ ├── audio.py # 音频处理工具 │ ├── func.py # 通用函数 │ ├── registry.py # 注册表工具 │ └── streamParser.py # 流解析工具 │ ├── handlers/ # 处理器模块(预留扩展) │ └── uniface/ # UniFace 人脸处理库 ├── analyzer.py # 人脸分析器 ├── face.py # 人脸处理主类 ├── face_utils.py # 人脸工具函数 ├── model_store.py # 模型存储管理 ├── onnx_utils.py # ONNX 工具函数 ├── detection/ # 人脸检测模块 ├── recognition/ # 人脸识别模块 ├── landmark/ # 关键点检测模块 └── attribute/ # 属性分析模块 ``` --- ### 📁 web/ - 前端代码 Next.js 前端应用,提供用户界面和交互。 ``` web/ ├── package.json # 前端依赖配置 ├── next.config.ts # Next.js 配置文件 ├── tsconfig.json # TypeScript 配置 ├── tailwind.config.ts # Tailwind CSS 配置 ├── server.js # HTTPS 服务器(开发模式) ├── capacitor.config.ts # Capacitor 移动端配置 │ ├── app/ # Next.js App Router 页面 │ ├── layout.tsx # 根布局组件 │ ├── page.tsx # 首页 │ ├── not-found.tsx # 404 页面 │ ├── providers.tsx # 全局 Provider │ └── (products)/ # 产品相关页面 │ └── sentio/ # Sentio 数字人页面 │ └── [页面组件文件] │ ├── components/ # React 组件 │ ├── header/ # 头部组件 │ │ └── logo.tsx │ ├── icons/ # 图标组件 │ ├── slider/ # 滑块组件 │ └── tips/ # 提示组件 │ ├── lib/ # 库和工具函数 │ ├── api/ # API 调用封装 │ │ ├── requests.ts # HTTP 请求封装 │ │ ├── websocket.ts # WebSocket 封装 │ │ └── server.ts # 服务器配置 │ ├── live2d/ # Live2D 相关库 │ │ ├── Core/ # Live2D 核心库 │ │ ├── Framework/ # Live2D 框架 │ │ ├── src/ # Live2D 源码 │ │ └── live2dManager.ts # Live2D 管理器 │ ├── store/ # 状态管理(Zustand) │ │ ├── common.ts # 通用状态 │ │ └── sentio.ts # Sentio 状态 │ ├── utils/ # 工具函数 │ ├── constants.ts # 常量定义 │ ├── protocol.ts # 协议定义 │ ├── path.ts # 路径工具 │ └── locale.ts # 国际化工具 │ ├── hooks/ # React Hooks │ └── request.ts # 请求 Hook │ ├── i18n/ # 国际化配置 │ ├── config.ts # i18n 配置 │ ├── request.ts # 请求处理 │ └── locales/ # 语言文件 │ ├── zh.json # 中文 │ └── en.json # 英文 │ ├── styles/ # 样式文件 │ ├── globals.css # 全局样式 │ └── fonts/ # 字体文件 │ ├── public/ # 静态资源 │ ├── sentio/ # Sentio 模型资源 │ │ └── [Live2D 模型文件:.moc3, .json, .png 等] │ ├── vad/ # VAD(语音活动检测)模型 │ │ └── [.onnx, .wasm, .js 文件] │ ├── images/ # 图片资源 │ ├── image/ # 图片资源 │ ├── embed.js # 嵌入脚本 │ └── index.html # 入口 HTML │ └── android/ # Android 应用配置(Capacitor) ├── app/ # Android 应用代码 ├── build.gradle # Gradle 构建配置 ├── gradle.properties # Gradle 属性 └── [其他 Android 配置文件] ``` --- ### 📁 configs/ - 配置文件目录 所有服务的配置文件,采用 YAML 格式。 ``` configs/ ├── config_template.yaml # 主配置文件模板 │ ├── agents/ # Agent 代理配置 │ ├── cozeAgent.yaml # Coze Agent 配置 │ ├── difyAgent.yaml # Dify Agent 配置 │ ├── fastgptAgent.yaml # FastGPT Agent 配置 │ ├── openaiAPI.yaml # OpenAI API 配置 │ └── repeaterAgent.yaml # 测试用重复 Agent 配置 │ └── engines/ # 引擎配置 ├── asr/ # ASR 引擎配置 │ ├── cozeAPI.yaml │ ├── dashscopeAPI.yaml │ ├── dashscopeStreamingAPI.yaml │ ├── difyAPI.yaml │ ├── funasrStreamingAPI.yaml │ └── tencentAPI.yaml ├── tts/ # TTS 引擎配置 │ ├── aliNLS.yaml │ ├── cozeAPI.yaml │ ├── difyAPI.yaml │ ├── edgeAPI.yaml │ └── tencentAPI.yaml └── llm/ # LLM 引擎配置 └── openaiAPI.yaml ``` **配置文件说明:** - 主配置文件:`configs/config_template.yaml` 定义服务器端口、默认引擎等 - 引擎配置:每个 YAML 文件定义对应服务的 API 密钥、端点等参数 - Agent 配置:定义 Agent 类型、参数和接入方式 --- ### 📁 scripts/ - 脚本工具目录 各种辅助脚本,用于自动化任务。 ``` scripts/ ├── start-digital-human-chrome.bat # Windows 一键启动脚本(Chrome 全屏) ├── stop-digital-human.bat # Windows 停止服务脚本 ├── test-env.bat # Windows 环境测试脚本 ├── generate_ssl_cert.bat # Windows SSL 证书生成脚本 ├── generate_ssl_cert.sh # Linux/Mac SSL 证书生成脚本 ├── hide-taskbar.ps1 # PowerShell 隐藏任务栏脚本 ├── show-taskbar.ps1 # PowerShell 显示任务栏脚本 ├── prevent-sleep.ps1 # PowerShell 防止系统休眠脚本 └── setup-chrome-permissions.ps1 # PowerShell Chrome 权限设置脚本 ``` --- ### 📁 docker/ - Docker 相关文件 Docker 构建和部署相关文件。 ``` docker/ ├── adhServer.Dockerfile # 后端服务 Dockerfile ├── adhWeb.Dockerfile # 前端服务 Dockerfile ├── ONNXRUNTIME_FIX.md # ONNX Runtime 修复说明 ├── nginx/ # Nginx 配置 │ └── default.conf # Nginx 默认配置 └── volumes/ # Docker 卷挂载资源 └── funasr-runtime-resources/ # FunASR 运行时资源 ├── models/ # FunASR 模型文件 └── sh/ # FunASR 启动脚本 ``` --- ### 📁 build/ - 构建资源目录 构建相关的资源文件。 ``` build/ ├── icon.ico # 应用图标 ├── sdogu-08l3j-001.ico # 备用图标 └── README.md # 构建说明 ``` --- ### 📁 certs/ - 证书目录 SSL/TLS 证书文件(用于 HTTPS)。 ``` certs/ ├── server.key # SSL 私钥(需生成) ├── server.crt # SSL 证书(需生成) └── README.md # 证书说明 ``` **生成证书:** ```bash # Windows scripts\generate_ssl_cert.bat # Linux/Mac scripts/generate_ssl_cert.sh ``` --- ### 📁 images/ - 图片资源目录 项目使用的图片资源。 ``` images/ └── images/ # 产品展示图片 ├── 3-公司简介_01.jpg ├── 4-无人机应用及服务介绍_01.jpg ├── 5-智慧消防物联网产品介绍_01.jpg ├── 6-智慧用电物联网产品介绍_01.jpg ├── 7-智慧楼宇系统产品功能介绍_01.jpg ├── 8-智慧园区系统产品功能介绍_01.jpg ├── 9-智慧文旅系统产品功能介绍_01.jpg └── 10-智慧政务系统产品功能介绍_01.jpg ``` --- ## 部署&开发 * 部署说明文档 * Windows 部署指南(推荐) * 开发说明文档 * 常见问题解答 * Edge 展台模式使用指南 * 启动说明文档 * 项目结构说明文档 ## 关于永天科技 永天科技专注于为企业提供专业的数字人解决方案,致力于打造有温度、有灵魂的智能数字人服务。 我们基于开源框架,结合企业实际需求,提供定制化的数字人服务。 **技术优势:** * 基于成熟的开源数字人框架 * 支持多种AI服务接入 * 模块化设计,易于扩展和定制 * 提供完整的技术支持和部署服务