
在语音、文本、视频融合交互日益普遍的当下,开发者面临一个共同挑战:如何高效构建低延迟、多参与者、跨模态协同的实时 AI 系统?
Gabber 是一个开源的实时 AI 引擎,支持语音、文本、视频等多种模态的并行处理,采用基于图(graph-based)的编程模型,允许开发者通过可视化连接节点的方式,快速搭建复杂的多模态 AI 流程。

它的核心目标很明确:让开发者能像搭积木一样,构建高复杂度、低延迟的实时 AI 应用。
快速上手:三步启动本地环境
Gabber 采用模块化架构,本地运行依赖几个关键组件。以下是快速部署流程:
1. 安装依赖
- LiveKit(用于 WebRTC 媒体传输)
brew install livekit
- uv(Python 依赖管理工具)
curl -LsSf https://astral.sh/uv/install.sh | sh
2. 启动所有服务
make all
该命令将自动启动前端、引擎、编辑器和存储服务。
3. 访问前端界面
打开浏览器访问:http://localhost:3000
你将看到 Gabber 的可视化编辑界面,可以开始创建或加载应用。

密钥管理:安全且灵活
某些节点(如调用大模型 API 的 OpenAICompatibleLLM)需要外部服务密钥。Gabber 提供了安全的密钥管理机制:
- 将密钥写入项目根目录下的
.secret文件; - 系统会在需要密钥的节点下拉菜单中自动列出可用密钥;
- 关键设计:密钥值不会存储在图结构数据中,确保你在分享应用或子图时不会泄露敏感信息。
这一机制兼顾了便利性与安全性,特别适合团队协作与开源共享。
核心概念:图式编程模型详解
Gabber 的编程模型基于“图”(Graph),其核心由四个层次构成:应用、节点、Pad、子图,外加状态机实现流程控制。
1. 应用(Application)
“应用”是 Gabber 中的最高层级对象,代表一个完整的可执行图。它由多个节点通过 Pad 连接而成,定义了从输入到输出的完整数据流。
例如:一个语音助手应用可能包含“音频输入 → 语音识别 → 意图理解 → 大模型响应 → 语音合成 → 输出”这一整条链路。
2. 节点(Node)
节点是图中的功能单元,每个节点执行特定任务,例如:
- 摄取音频/视频流
- 实时转录语音(ASR)
- 情感分析
- 调用 LLM API
- 生成语音(TTS)
- 发送 WebSocket 消息
每个节点有输入和输出端口,称为 Pad。
3. Pad:数据流动的连接点
Pad 是节点之间的连接接口,分为两种类型:
| 类型 | 说明 |
|---|---|
| 接收 Pad(Sink Pad) | 接收上游数据 |
| 发送 Pad(Source Pad) | 向下游发送数据 |
以及两种“模式”:
- 属性型(Property):始终持有一个值(如配置参数或最新状态)
- 无状态型(Stateless):按事件顺序流式传输数据(如逐条文本、帧级视频)
Pad 具有明确的数据类型(如 text, audio, json),只有类型兼容的 Pad 才能连接,确保数据流的正确性。
4. 子图(Subgraph):复用与封装
子图本质上是一个“可嵌入的图”,它可以被当作一个普通节点插入到其他应用中,实现逻辑复用。
通过代理节点(Proxy Node),你可以定义子图的输入和输出接口,使其在父图中表现为一个黑盒组件。
✅ 示例:将“语音识别 + 意图解析 + 回应生成”封装为一个“对话模块”,在多个项目中重复使用。
这种设计极大提升了开发效率和架构清晰度。
5. 状态机(State Machine):控制应用流程
对于需要条件分支或状态切换的应用(如客服机器人、游戏对话系统),Gabber 提供了内置的状态机系统。
状态机包含:
- 参数(Parameters):监听的变量(如用户情绪、对话轮次)
- 状态(States):应用所处的不同阶段(如“欢迎”、“提问”、“结束”)
- 状态转换(Transitions):基于参数变化触发状态跳转
- 转换逻辑:支持 AND 逻辑(多个条件同时满足),多个转换并行可实现 OR 效果
状态机与图式流程结合,使 Gabber 不仅能处理数据流,还能实现行为逻辑的动态控制。
系统架构:前后端协同运行
Gabber 由四个核心服务组成,协同完成应用的构建、运行与存储。
| 服务 | 作用 | 默认端口 |
|---|---|---|
| 前端(Frontend) | Next.js 构建的可视化编辑器,供用户交互 | 3000 |
| 编辑器(Editor) | 前端的后端服务,处理图结构操作 | 3001 |
| 引擎(Engine) | 核心运行时,负责执行图中节点的数据流转 | 8000 |
| 存储库(Repository) | 轻量级本地 HTTP 服务,管理应用与子图的持久化 | 8001 |
所有应用数据保存在本地 .gabber 目录中,便于版本控制与迁移。
SDK 支持:多语言集成
Gabber 提供多种 SDK,帮助开发者将引擎能力集成到自己的项目中:
| SDK | 适用场景 |
|---|---|
| JavaScript/TypeScript SDK | 适用于 Node.js、浏览器、Bun、Deno,不依赖框架 |
| React SDK | 提供 Hooks、Provider 和 UI 组件,快速构建 React/React Native 应用 |
| Python SDK | 用于后端服务集成、脚本开发与原型验证 |
所有 SDK 均支持与 Gabber 引擎通信,实现远程控制、状态监听与自定义节点扩展。
示例应用:从入门到实战
Gabber 仓库内置多个示例应用,涵盖典型使用场景:
- 实时语音转录与情感分析
- 多人会议中的角色识别与摘要生成
- 视频流中的对象检测与语音反馈
- 基于大模型的交互式语音助手
使用方法:
- 启动服务(
make all) - 打开前端 → 进入“示例”选项卡
- 选择任一示例,点击加载并运行
- 查看节点连接与数据流动
这些示例不仅展示了 Gabber 的能力边界,也为开发者提供了可复用的模板。
数据统计
相关导航


Stitch

Figma Make

AI 网站构建器

Endor Labs

文心快码

Nora






