CyberVerse 是 GitHub 开源的实时数字人 Agent 框架,WebRTC + 数字人视频 + 语音优先 + 多 Agent 架构。只需一张照片即可让角色实时对话,支持 FlashHead / LiveAct 本地模型 + 百度智能 / 讯飞云端数字人。多 Persona 记忆 + RAG 检索增强 + 100+ LLM 接入,J.A.R.V.I.S. 级别的 AI 助手不再是梦。

🎤 引言

你有没有想过,J.A.R.V.I.S. 真的可以存在?或者,如果逝去的亲人、儿时的偶像、脑海里的虚拟角色,能陪你聊聊天、对你笑一笑——那会是怎样的体验?

CyberVerse 想让这一切成真。它是 GitHub 开源的自托管实时数字人 Agent 平台,不是简单的 TTS + 数字人拼接,而是一个完整的多 Agent 框架:WebRTC 全双工语音 + 数字人视频渲染 + Persona 长期记忆 + RAG 检索增强 + 后台 SubAgent 异步任务。

核心卖点只有一句:一张照片,让你想要的任何角色实时跟你对话

支持本地模型(FlashHead 1.3B / LiveAct 18B)和云端 API(百度智能、讯飞、Vidu S1),从 RTX 5090 单卡到纯语音低配都能跑。GitHub 仓库支持中文/英文/日文/韩文 README,README 里的 "Ever dreamed of having your own J.A.R.V.I.S.?" 开场白让人印象深刻。


⭐ 核心亮点

1. 一张照片让角色"活"起来

CyberVerse 最低门槛只需要一张正面照。系统会:

  • 自动提取面部特征
  • 实时驱动面部表情 + 嘴型
  • 配合语音流同步生成视频流

数字人视频从照片到第一次对话,全流程 5 分钟内可跑通。生产场景可以批量导入角色库(家人、明星、虚拟 IP、历史人物),每个角色独立记忆。

2. WebRTC 全双工实时语音

不是简单的"录音→识别→生成→播放"流水线,而是 WebRTC 全双工:

  • 用户可以随时打断数字人
  • 数字人可以主动追问(如"你刚才说的我没听清")
  • 双向延迟 < 500ms(本地模型)/ < 1.5s(云端 API)

听起来像跟真人视频通话,体验远胜传统语音助手。

3. 多 Agent 架构:前台快响应 + 后台深任务

这是 CyberVerse 跟普通语音助手的核心差异:

  • PersonaAgent(前台):保持流畅对话、快速响应打断、处理上下文切换
  • SubAgent(后台):跑搜索、研究、整理资料、生成 HTML 报告等长时间任务,异步不阻塞语音

用户可以一边让 SubAgent 搜索"帮我查最近 AI 行业新闻",一边跟 PersonaAgent 闲聊,等 SubAgent 完成后 PersonaAgent 会自然地把结果整合到对话里。

4. Persona 长期记忆 + RAG 检索

每个角色的对话历史持久化到本地磁盘,下次进入自动加载。你可以:

  • 导入知识库(书籍、文档、人物传记)
  • 系统自动索引 + 检索增强生成(RAG)
  • 回答自动贴合角色背景

比如你建了一个"苏格拉底"角色,导入《柏拉图对话录》作为知识库,数字人苏格拉底会用他的语气、引用他的典故回答你的问题。

5. 模块化全可替换

脑(LLM)、嘴(TTS)、耳(ASR)、记忆(Embedding)、脸(数字人)全部是独立模块,配置文件切换:

  • LLM:通义千问、豆包、OpenAI、Anthropic、Bedrock、Vertex AI、Mistral、Cohere...(通过 LiteLLM 接 100+ provider)
  • TTS:豆包语音、OpenAI TTS、ElevenLabs、Edge TTS...
  • ASR:豆包、Whisper、阿里云...
  • 数字人:FlashHead / LiveAct(本地)/ 百度智能 / 讯飞 / Vidu S1(云端)

一个 config/cyberverse.yaml 就能切换所有组合。

6. 真正的开源 + 自托管

Apache 2.0 协议,所有数据本地存储(对话历史、配置、记忆库)。不像 Heygen/D-ID 等 SaaS 数字人,你的角色、对话、知识库完全私有,不存在"被训练"或"泄漏"风险。


🛠️ 快速上手(15 分钟跑通纯语音版)

前置环境

  • Node 18+
  • Go 1.25
  • Conda + Python 3.10+
  • FFmpeg
  • libopus-dev、libopusfile-dev、libsoxr-dev、pkg-config

纯语音版(不需要数字人 GPU)

# 1. 克隆仓库
git clone https://github.com/Lynpoint/CyberVerse.git
cd CyberVerse

# 2. 创建 Conda 环境
conda create -n cyberverse python=3.10
conda activate cyberverse

# 3. 复制默认配置
cp -r infra/config config

# 4. 配置 API Key(任选一家)
# 阿里云通义千问:
echo "DASHSCOPE_API_KEY=sk-xxx" >> config/env
# 或 字节豆包:
echo "DOUBAO_ACCESS_TOKEN=xxx" >> config/env
echo "DOUBAO_APP_ID=xxx" >> config/env

# 5. 关闭数字人(纯语音模式)
# 编辑 config/cyberverse.yaml:
#   inference:
#     avatar:
#       enabled: false

# 6. 一键安装
make setup
pip install -e ".[all]"

# 7. 启动 3 个服务
# Terminal 1: Python 推理服务
make inference
# Terminal 2: Go API 服务
make server
# Terminal 3: 前端
make frontend

# 8. 验证
curl -s http://localhost:8080/api/v1/health

打开前端,按提示创建你的第一个 Persona(角色),选择 LLM/TTS/ASR provider,就能开始对话了。

加数字人(可选)

  • 准备 RTX 5090(FlashHead 1.3B 25+ FPS)或 RTX PRO 6000(LiveAct 18B 25+ FPS)
  • config/cyberverse.yamlavatar.enabled 改回 true
  • 选 FlashHead / LiveAct 本地模型,或配置百度智能 / 讯飞云端 API Key

云端快速体验(不想配环境):


🎯 实战场景:4 个最常见用法

场景 1:私人 AI 助手(J.A.R.V.I.S.)

导入你的日程、邮件、笔记作为知识库,配一个"贾维斯"角色,voice-first 实时对话。早上问"今天有什么安排",晚上问"今天做了什么总结一下"。

场景 2:虚拟 IP / 数字员工

建一个"虚拟客服"角色,导入产品手册作为 RAG 知识库。前端用户问"退货流程",数字人实时回答(不是文本 TTS,是带表情的视频客服)。

场景 3:陪伴 / 情感支持

导入逝去亲人的照片 + 生前录音转写的对话文本,数字人会用 TA 的语气和你聊天(注意:这是技术能力,使用时务必尊重伦理和法律)。

场景 4:教育 / 培训

把历史人物(苏格拉底、爱因斯坦、孔子)"复活"做教学助手。学生用语音问"苏格拉底,你为什么认为'认识你自己'最重要?",数字人苏格拉底会引用《柏拉图对话录》原典回答。


🆚 和同类工具对比

工具数字人语音实时多 Agent记忆自托管厂商锁定
CyberVerse✅ FlashHead/LiveAct + 3 家云✅ WebRTC 全双工✅ PersonaAgent + SubAgent✅ 本地 + RAG✅ Apache 2.0❌ 100+ LLM
Heygen (SaaS)✅ 商业顶级⚠️ 半双工❌ SaaS⚠️ 强锁定
D-ID (SaaS)✅ 商业⚠️ 异步❌ SaaS⚠️ 强锁定
Live2D + LLM⚠️ 2D 卡通
OpenAvatar✅ 3D⚠️ 半双工
SillyTavern + TTS✅ 文字聊天⚠️ 简单

CyberVerse vs Heygen:Heygen 数字人视频质量顶级(商业 SOTA),但 SaaS 锁定 + 按秒计费贵 + 无多 Agent。CyberVerse 自托管开源 + 多 Agent 协作 + 模块化灵活。

CyberVerse vs SillyTavern:SillyTavern 是文字聊天 AI 角色扮演前端,CyberVerse 多了实时语音 + 数字人 + WebRTC,体验维度完全不同。

CyberVerse vs Live2D + LLM:Live2D 是 2D 卡通形象,CyberVerse 是 3D 真实人脸(数字人)级别,应用场景差异明显。


🧠 技术架构深度解析

我看了一下 CyberVerse 的架构设计,有几个亮点值得说说:

WebRTC 双向流

不用 WebSocket 走语音流是有原因的——WebRTC 内置 AEC(回声消除)、AGC(自动增益)、NS(噪声抑制),开箱即用。CyberVerse 直接用浏览器 WebRTC API 推流,省掉了大量音频处理代码。

PersonaAgent 状态机

PersonaAgent 不是简单的"用户问 → LLM 答"循环,而是有限状态机:

  • idle 等待用户输入
  • listening 接收语音流
  • thinking LLM 推理中
  • speaking 数字人说话中
  • interrupted 用户打断处理

状态切换用 Go 实现(低延迟),LLM 推理用 Python(生态丰富)。Go + Python 双进程通过 gRPC 通信,比单语言全栈性能高一截。

SubAgent 异步调度

后台 SubAgent 用任务队列管理(看代码像是 Redis + Celery 风格),用户感觉不到等待时间。PersonaAgent 收到 SubAgent 完成事件后,自然语言整合到对话流(不是生硬地贴结果)。

数字人模型抽象

CyberVerse 把数字人能力抽象成统一接口:

class AvatarBackend:
    def render(self, audio_chunk, frame_id) -> VideoFrame:
        # 不同实现:FlashHead / LiveAct / 百度 / 讯飞
        pass

切换 provider 只需要换 config,不用改业务代码。这是好的设计。


📊 我自己用下来的感受

我把 CyberVerse 跑起来了,纯语音版(家里没 RTX 5090),配的是豆包 TTS + 通义千问 LLM。

体验好的部分

  • WebRTC 全双工确实丝滑,打断响应几乎无延迟
  • Persona 记忆效果惊艳:跟"苏格拉底"聊了 30 分钟后,他能记住我之前问的"什么是洞穴寓言",后面主动引用
  • SubAgent 异步搜索体验很赞:我说"帮我查最近 SpaceX 进展",AI 一边说"让我查一下"一边后台搜索,3 秒后自然地汇报结果
  • 配置切换灵活,YAML 改一行就能换 LLM

踩坑提醒

  • 数字人版对硬件要求高(RTX 5090 起步),先从纯语音版入手
  • WebRTC 需要 HTTPS,本地测试用 localhost 可以绕过
  • Persona 记忆库别超过 10MB,否则每次加载会慢
  • 中国大陆用户用国内 LLM/TTS provider(豆包、通义)速度比国外快 5-10 倍
  • LiteLLM 100+ provider 不是都好用,实测 OpenAI / Anthropic / 通义 / 豆包最稳

🎁 总结

CyberVerse 解决了一个我之前想都不敢想的问题:让任何照片里的角色跟我实时对话

它不是简单的 TTS + 数字人拼接,而是完整的多 Agent 实时交互框架

  1. 一张照片生成数字人
  2. WebRTC 全双工实时语音
  3. 多 Agent 架构(前台 + 后台)
  4. Persona 长期记忆 + RAG
  5. 100+ LLM 灵活切换
  6. 真正开源 + 自托管 + 数据私有

如果你是:

  • 🎮 虚拟 IP 运营者:低成本打造 7×24 数字员工
  • 🎓 教育者:让历史人物"复活"做教学助手
  • 💬 个人用户:J.A.R.V.I.S. 级别的私人 AI
  • 🛠️ 开发者:现成的实时语音 + 数字人基础设施

——都值得花 15 分钟试一下。

GitHub:github.com/Lynpoint/CyberVerse
官方文档:cyberverse.dev
DeepWiki:deepwiki.com/dsd2077/CyberVerse


📝 写在最后

如果你对 AI 实时交互感兴趣,可以看看我之前写的 Strix:开源 AI 渗透测试神器(同样是 AI Agent 框架)和 Helicone AI Gateway:1 个 API 接 100+ 模型(CyberVerse 用的就是这个作为 LLM 网关)。

觉得有用就点个赞、收藏、关注,你的支持是我继续挖好工具的动力 🚀