这是一个基于 Next.js 构建的数字人快速启动服务器,集成了 ZEGO 数字人 API 服务,提供完整的数字人驱动和管理功能。
- 获取数字人列表 - 支持分页查询数字人形象
- 获取数字人信息 - 获取指定数字人的详细信息
- 获取音色列表 - 获取可用的音色选项
- 文本驱动 - 通过文本内容驱动数字人说话
- 音频驱动 - 通过音频文件驱动数字人
- RTC流驱动 - 通过实时音视频流驱动数字人
- 动作控制 - 执行预设的数字人动作
- 创建流任务 - 创建数字人直播流任务
- 查询流任务 - 查询当前运行的流任务状态
- 停止流任务 - 停止指定的流任务
- 中断驱动任务 - 中断正在执行的驱动任务
- Token生成 - 生成ZEGO服务端Token
- 代理请求 - 提供API请求代理服务
- 框架: Next.js 15.3.0
- 语言: TypeScript
- UI组件: React 19 + DaisyUI
- 样式: Tailwind CSS 4.1.7
- 部署: PM2 (生产环境)
- Node.js 18+
- pnpm 或 npm
# 使用 pnpm (推荐)
pnpm install
# 或使用 npm
npm install创建 .env.local 文件并配置以下环境变量:
# ZEGO API 配置
ZEGO_API_HOST=aigc-digital-human-api.zegotech.cn
ZEGO_APP_ID=your_app_id
ZEGO_SERVER_SECRET=your_server_secret
# 其他配置
NODE_ENV=development# 启动开发服务器
pnpm dev
# 或
npm run dev# 构建项目
pnpm build
# 启动生产服务器
pnpm start
# 使用 PM2 部署 (推荐)
pm2 start ecosystem.config.jsPOST /api/GetDigitalHumanList
参数:
Offset(可选): 偏移量,默认 0Limit(可选): 限制数量,默认 2FetchMode(可选): 获取模式,默认 2
POST /api/GetDigitalHumanInfo
POST /api/GetTimbreList
POST /api/DriveByText
POST /api/DriveByAudio
POST /api/DriveByRTCStream
POST /api/DoAction
POST /api/CreateDigitalHumanStreamTask
POST /api/QueryDigitalHumanStreamTasks
POST /api/StopDigitalHumanStreamTask
POST /api/InterruptDriveTask
POST /api/ZegoToken
POST /api/passthrough-request
src/
├── app/
│ ├── api/ # API 路由
│ ├── globals.css # 全局样式
│ └── layout.tsx # 根布局
├── lib/
│ └── zego/ # ZEGO 相关工具函数
└── ...
- 在
src/app/api/目录下创建新的路由文件 - 使用
generateQueryParamsString生成签名 - 使用
getZegoConfig获取配置 - 实现相应的业务逻辑
- 使用 TypeScript 进行类型检查
- 遵循 ESLint 规则
- 使用 Prettier 格式化代码
# 安装 PM2
npm install -g pm2
# 构建项目
pnpm build
# 启动服务
pm2 start ecosystem.config.js
# 查看状态
pm2 status
# 查看日志
pm2 logsFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]- 配置安全: 请妥善保管 ZEGO_APP_ID 和 ZEGO_SERVER_SECRET,不要提交到版本控制系统
- API限制: 注意 ZEGO API 的调用频率限制
- 错误处理: 所有API都包含完整的错误处理机制
- 日志记录: 生产环境建议配置日志记录
欢迎提交 Issue 和 Pull Request 来改进这个项目。
本项目采用 MIT 许可证。
如有问题,请联系 ZEGO 技术支持或查看 ZEGO 官方文档。