CyberVerse 数字人助手

将语音对话、角色记忆与可选数字人视频部署为自托管实时助手。

Star 数
★ 1.7k
最近更新
13 天前
License
GPL-3.0
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台
开始前需要
Node.js 18+Go 1.25CondaPython 3.10+FFmpeglibopus-devlibopusfile-devlibsoxr-devpkg-configShell / 命令行网络访问本地文件系统
典型场景
希望自托管语音助手的开发者,可关闭头像推理,将 inference.avatar.enabled 设为 false,仅部署实时语音会话。
主要局限
基础部署需要 Node、Go、Conda、Python、FFmpeg 及多项系统音频库,运行环境并不轻量。

这个 Agent 能做什么,适合哪些场景?

CyberVerse 是一个自托管的实时数字人 Agent 框架,以 WebRTC 为实时交互基础,面向语音优先的角色化助手。系统将前台 PersonaAgent 与异步 SubAgent 分工:前者维持对话、处理打断和上下文切换,后者可执行搜索、研究、资料整理、摘要和 HTML 报告生成等长任务。角色对话历史会持久化到本地磁盘,导入的知识库、文档和人物资料会被索引用于 RAG。其插件化栈可替换 brain、voice、hearing、tools、memory 与 face,并可在 `/settings` 配置供应商密钥和端点。它可作为纯语音助手运行,也可选用本地 FlashHead、LiveAct 或云端数字人服务输出实时视频形象。

运行时由 config/cyberverse.yaml 控制,omni、LLM、embedding、TTS 和 ASR 定义从 infra/config/*_models/ 发现,并可由 config/*_models/ 覆盖。系统接收实时语音交互,调用配置的 ASR、LLM/omni 与 TTS 服务,保存并重载角色历史,并检索已索引的角色资料生成回答;后台 SubAgent 可异步完成搜索、研究、整理、摘要和 HTML 报告任务。开启 inference.avatar.enabled: true 后,Python inference 服务可按 config/avatar_models/ 中的模型配置驱动 FlashHead 或 LiveAct;Baidu Xiling 则由前端嵌入 H5 iframe,并使用 sendAudioData / AUDIO_STREAM_RENDER 发送音频。部署后通过 make inferencemake servermake frontend 分别启动 Python 推理、Go API 和前端,健康检查为 GET /api/v1/health

  1. 希望自托管语音助手的开发者,可关闭头像推理,将 inference.avatar.enabled 设为 false,仅部署实时语音会话。
  2. 需要长期保持角色设定的创作者,可为每个角色导入传记、文档或知识库,并利用本地持久化历史与 RAG 延续对话。
  3. 需要真人视频通话式交互的产品团队,可在具备 CUDA 12.8+ GPU、模型权重和相应配置时接入 FlashHead 或 LiveAct。
  4. 要让用户在对话中持续追问的研究型助手,可把搜索、资料整理、摘要或 HTML 报告生成交给异步 SubAgent,同时保持前台语音对话。
  5. 不愿维护本地头像 GPU 的部署者,可选择 Baidu Xiling、Xunfei Digital Human 或 Vidu S1 等文档列出的云端数字人路径。

如何安装或部署这个 Agent?

前置条件:Node 18+、Go 1.25、Conda、Python 3.10+、FFmpeg,以及 libopus-devlibopusfile-devlibsoxr-devpkg-config

git clone https://github.com/dsd2077/CyberVerse.git
cd CyberVerse
conda create -n cyberverse python=3.10
conda activate cyberverse
cp -r infra/config config

config/env 填入至少一种已列出的模型凭据,例如 DASHSCOPE_API_KEY,或 DOUBAO_ACCESS_TOKENDOUBAO_APP_ID。编辑 config/cyberverse.yaml 并设置:

inference:
  avatar:
    enabled: false

然后执行:

make setup
pip install -e ".[all]"

如何使用这个 Agent?

在三个终端分别启动:

conda activate cyberverse
make inference
make server
make frontend

用以下命令验证 API:

curl -s http://localhost:8080/api/v1/health

随后在浏览器打开 http://localhost:5173。需要本地数字人视频时,安装 CUDA 12.8+ 对应的 PyTorch 与模型权重,将 inference.avatar.enabled 改为 true,并在 config/avatar_models/flash_head.yamlconfig/avatar_models/live_act.yaml 配置模型路径。

这个 Agent 有哪些优点和局限?

优点
  • 前台 PersonaAgent 与异步 SubAgent 分离,文档明确说明长任务不会阻塞语音回合,且可在结果完成后返回。
  • 角色历史持久化到本地磁盘,并支持导入资料后建立 RAG 索引,适合需要跨会话连续性的角色助手。
  • 同一部署可在纯语音与可选数字人视频之间切换,视频可使用本地 FlashHead、LiveAct 或列出的云端数字人服务。
  • 模型与供应商配置可通过内置目录、局部覆盖文件及 /settings 管理;LiteLLM 插件提供统一接入多个 LLM 供应商的路径。
局限
  • 基础部署需要 Node、Go、Conda、Python、FFmpeg 及多项系统音频库,运行环境并不轻量。
  • 本地数字人视频额外要求 CUDA 12.8+、PyTorch 2.8、模型权重和支持的 GPU;不同分辨率与模型的实时表现受 GPU 数量和性能影响。
  • 默认语音能力依赖用户配置实时 voice/omni/LLM/TTS/ASR 供应商,文档明确指出运行成本取决于这些服务。
  • 远程直连模式依赖浏览器可访问嵌入式 TURN 服务的 8443/TCP;云安全组、防火墙或 NAT 限制会导致 ICE 失败或发布超时。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
CyberVerse 数字人助手 当前 33 · 缺口较多 ★ 1.7k 13 天前 Python
PyGPT 桌面智能助手 49 · 缺口较多 ★ 1.9k 4 天前 Python OpenAI API · Claude API
AgentCall join-meeting 技能 46 · 缺口较多 ★ 157 8 天前 Python Codex · Claude Code
Octop 自托管 AI 助手 67 · 存在缺口 ★ 4.8k 今天 Python Codex · Claude Code · OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
33/ 100 五分制 1.7 / 5
信任安全 0/29
可靠稳定 5/14
适用触发 10/18
规范维护 8/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示:README 提到 API 密钥存储在 config/env 和 Web UI /settings 中,但没有权限最小化、用户确认、数据流透明或敏感数据处理的细节。没有依赖安全审计或漏洞扫描的证据。外部效果(如网络调用、GPU 使用)未明确说明。没有回滚机制。来源归属仅通过 README 中的致谢和链接,但发布者未验证。因此所有信任标准得分为 0。

可靠稳定5 / 14 · 1.8/5

证据显示:README 和 pyproject.toml 在描述上基本一致,但缺少详细的错误处理文档。依赖项在 pyproject.toml 中列出,但未验证可用性。README 提供了一些故障排除(如 RTP 和 ICE 连接),但不够全面。因此自一致性、依赖可用性和失败消息各得 1 分。

适用触发10 / 18 · 2.8/5

证据显示:README 明确了目标受众(开发人员)和场景(语音优先的 AI 代理、数字人类)。能力边界通过功能列表和配置选项说明。触发精度(如 RTP 计算)有具体示例,但不够精确。环境适配(如 GPU 要求、云镜像)有说明。因此受众和场景、能力边界、环境适配得 2 分,触发精度得 1 分。

规范维护8 / 18 · 2.2/5

证据显示:README 提供了清晰的信息架构(目录、功能、快速入门)。安装说明详细(步骤、依赖)。命名稳定性未明确说明。示例和 FAQ 存在(如 RTP 故障排除)。已知限制部分提及(如 GPU 要求),但不全面。许可证为 GPL-3.0,但版本和变更日志缺失。维护责任通过社区链接和 PR 欢迎说明,但未明确。因此信息架构、安装说明、示例和 FAQ、许可证得 2 分,命名稳定性、已知限制、维护责任得 1 分,版本和变更日志得 0 分。

有效结果7 / 13 · 2.7/5

证据显示:输出可用性通过演示和功能描述说明,但未提供实际输出示例。边际价值通过独特功能(数字人类、多代理)体现。成本效益通过云镜像和可选 GPU 说明,但未提供成本估算。因此输出可用性和边际价值得 2 分,成本效益得 1 分。

证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如性能数字)未提供可验证的测试或基准。跨来源佐证有限(如外部模型链接)。事实与推断未明确区分。因此所有标准得 1 分。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 发布者身份未验证,需谨慎对待来源。
  • API 密钥管理缺乏安全细节,建议审查配置和权限。
  • 依赖项未进行安全审计,可能存在漏洞。
  • 性能声明(如 FPS)未提供基准测试,需自行验证。
  • 版本和变更日志缺失,难以追踪更新。
证据充分度: 评估于 2026年8月9日 审查版本 459abae60141 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

纯语音模式是否需要本地头像 GPU?
不需要。将 inference.avatar.enabled 设为 false 后,CyberVerse 以纯语音助手运行;实际费用取决于所配置的实时语音、omni、LLM、TTS 和 ASR 供应商。
本地视频头像支持哪些模型?
文档当前列出 FlashHead 与 LiveAct。启用它们需要下载相应权重,并在 config/avatar_models/ 的模型配置文件中设置路径和参数。
如何判断本地头像推理是否跟不上实时播放?
查看推理日志中的 RTP:elapsed / (frames / fps)。RTP 大于 1 表示生成速度低于播放速度,可能出现视频延迟或卡顿。
远程页面可打开但音视频无法连接,该检查什么?
streaming_mode: direct 且使用内置 TURN 时,先确认浏览器可访问服务器的 8443/TCP。若不可达,文档建议检查安全组、防火墙或 NAT,或使用 SSH 端口转发。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents