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.yaml的avatar.enabled改回true - 选 FlashHead / LiveAct 本地模型,或配置百度智能 / 讯飞云端 API Key
云端快速体验(不想配环境):
- Compshare CyberVerse 镜像 — 优云智算 GPU 镜像
- AutoDL CyberVerse 镜像 — AutoDL 容器实例
🎯 实战场景: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接收语音流thinkingLLM 推理中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 实时交互框架:
- 一张照片生成数字人
- WebRTC 全双工实时语音
- 多 Agent 架构(前台 + 后台)
- Persona 长期记忆 + RAG
- 100+ LLM 灵活切换
- 真正开源 + 自托管 + 数据私有
如果你是:
- 🎮 虚拟 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 网关)。
觉得有用就点个赞、收藏、关注,你的支持是我继续挖好工具的动力 🚀