opentalking

私有部署的数字人框架,接上模型就能实时对话

OpenTalking 是一个面向生产环境的开源 AI 数字人框架,用 Python 编写,目标是让开发者能快速搭建可实时对话的虚拟人应用。它把语音识别、大模型对话、语音合成、口型与表情驱动等环节串成完整流水线,并支持私有化部署,数据不出内网。框架强调可插拔模型设计,ASR、LLM、TTS、驱动模型都能按需替换,避免被单一供应商锁定。同时提供实时对话能力,适合客服、导览、直播等交互场景。相比只做单点能力的开源项目,它更偏向工业级整合方案,降低从零拼接各模块的工程成本,让团队把精力放在业务与形象定制上。

开源 freemium 数字人3D
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3024
维护状态 较活跃
是否开源
定价模式 freemium

项目数据

分类数字人3D
开发团队datascale-ai
所属国家
定价模式freemium
价格说明开源框架免费,官网提供企业级私有部署与云服务,定价信息待确认
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型
GitHub 星标★ 3024
30天Star增速
HF 下载量
上线时间2026-04-16 00:00:00
最近更新2026-09-16 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-13
浏览次数2

使用教程

难度:入门 约 15 分钟 部署方式:本地安装 8 步

环境要求

  • Python 3.11(命令中通过 uv 指定)
  • Node.js(前端运行需要)
  • FFmpeg
  • uv 包管理工具
  • 真实渲染模型:需 NVIDIA GPU(如 RTX 3060/3090/4090)及对应模型权重;仅跑 Mock 模式无需 GPU

安装与启动步骤

  1. 1克隆仓库

    把 OpenTalking 源码拉到本地,随后所有命令都在该目录中执行。

    git clone https://github.com/datascale-ai/opentalking.git
    cd opentalking
  2. 2安装依赖

    用 uv 在 Python 3.11 下创建虚拟环境并安装开发依赖,这一步会下载较多包。

    uv sync --extra dev --python 3.11
  3. 3激活虚拟环境

    后续启动脚本依赖主 .venv 环境,必须先激活再继续。

    source .venv/bin/activate
  4. 4生成配置文件

    从示例复制出 .env,随后需要手工编辑它,至少配置一个 LLM 提供商。

    cp .env.example .env
  5. 5编辑 .env 填 LLM

    打开 .env 配置至少一个 LLM;TTS 默认可用免密钥的 edge 音色。LLM/STT/TTS 是相互独立的提供商配置。

  6. 6以 Mock 模式启动

    Mock 模式使用内置静态帧,但 LLM 回复、流式 TTS、字幕事件和 WebRTC 全链路都会跑通,适合首次验证。

    bash scripts/start_unified.sh --mock
  7. 7自定义端口启动

    默认前端为 5173,若端口被占用可通过参数指定 API 与前端端口。

    bash scripts/start_unified.sh --mock --api-port 8210 --web-port 5280
  8. 8停止服务

    验证完成后用该脚本关停所有已启动的服务进程。

    bash scripts/quickstart/stop_all.sh

关键配置

配置项必填说明示例
LLM 提供商在 .env 中至少配置一个 LLM,否则对话链路无法回复;具体变量名见官方配置文档sk-xxxxxxxx
TTS 提供商默认可使用免密钥的 edge 音色,无需额外申请密钥edge

如何确认成功

服务启动后浏览器打开默认前端地址 http://localhost:5173,能出现 WebUI 并完成一轮带字幕的对话与音视频播放即为成功。

常见问题

Q:没有 GPU 可以体验吗?

A:可以。使用 --mock 模式,内置静态帧代替视频渲染,仍可验证 API、LLM、TTS、WebRTC 与浏览器播放的完整链路,无需下载模型权重。

Q:TTS 一定要付费密钥吗?

A:不一定。默认 TTS 可使用免密钥的 edge 音色;如需本地 TTS 可改用 local_cosyvoice(在独立 sidecar venv 中运行)。

Q:端口被占用怎么办?

A:启动时加参数覆盖,例如 bash scripts/start_unified.sh --mock --api-port 8210 --web-port 5280,默认前端为 5173。

Q:如何切换到真实数字人渲染?

A:先在 Mock 模式跑通全链路,再按显卡条件选择 quicktalk、wav2lip、musetalk 等后端;显存较低时请调低分辨率。

注意事项

  • 推荐先用 Mock 模式验证全链路,再根据 GPU、模型和私有化要求切换真实渲染模型。
  • 编排层(API/Worker/前端)与数字人合成后端(mock、local、direct_ws、OmniRT)可独立部署。
  • 若无法本地部署,也可用官方发布的 Compshare 镜像,需开放 5173 端口。
  • 本地 STT/TTS 组合(sensevoice + local_cosyvoice + quicktalk)需要 RTX 3090/4090 级别显卡,CosyVoice 运行在独立 venv 中。

核心亮点

  • 模块化可插拔设计,ASR/LLM/TTS/驱动模型均可替换,便于按成本与效果选型
  • 支持私有化部署,语音与对话数据可留在内网,满足合规与数据安全要求
  • 提供实时对话完整链路,省去自行拼接语音识别、大模型与口型驱动的工程成本

不足之处

  • 项目处于成长阶段,文档与示例的完整度可能不足,上手需要一定调试
  • 工业级效果依赖所接入的模型质量,开箱即用的默认体验可能有限

适用场景

  • 企业私有化智能客服数字人
  • 展厅/银行网点虚拟导览员
  • 直播或短视频的实时虚拟主播

替代项目

Fay、metahuman-stream、Awesome-Digital-Human

项目介绍

opentalking 是一个数字人3D领域的开源项目,官方简介:OpenTalking: An industrial-grade open-source AI digital human framework that supports real-time conversation, private deployment, and pluggable models.。项目使用 Python 开发,在 GitHub 上获得 2992 星标。

上一篇:aora-bot

下一篇:TaoMate

同类项目推荐

A3D 开源

在 three.js 里直接调用 AI 生成纹理和素材,边建模边生成

3D x AI hybrid editor, built with three.js

★ 129 2026-08-09
cube 开源

用一句话生成 3D 模型,在 Roblox 里快速落地 AI 创作

Roblox Foundation Model for 3D Intelligence

★ 1250 2026-08-09
AG3D 开源

用2D图片直接生成3D虚拟人,告别昂贵扫描

Official code release for ICCV2023 paper AG3D: Learning to Generate 3D Avatars from ···

★ 273 2026-08-09
GameFactory-3A 开源

一条命令生成 3A 游戏资产,从模型到视频全自动

A comprehensive open-source 3A game-generation skill and asset framework.

★ 756 2026-08-21