Decentralization? We're still early!

Gabber:构建下一代实时多模态 AI 应用的开源引擎

  • Gabber:构建下一代实时多模态 AI 应用的开源引擎

    發布人 Brave 2025-08-28 09:00

    在人工智能飞速发展的今天,开发者们渴望拥有更强大、更灵活的工具来构建能够实时处理语音、文本、视频等多种信息的应用程序。Gabber 正是为此而生的一个实时 AI 引擎,其目标是为开发者提供市面上最强大、对开发者最友好的 AI 应用构建器。

    Gabber 支持基于图形化(Graph-based)的应用构建,能够轻松处理多参与者和同步媒体流的复杂场景。无论是开发智能客服、实时语音分析工具,还是构建复杂的虚拟数字人,Gabber 都提供了坚实的基础。

    Gabber 的核心理念与架构

    Gabber 的设计哲学围绕着模块化和可组合性,让开发者可以像搭积木一样构建复杂的 AI 应用。

    1. 核心概念

    • 应用 (App): 在 Gabber 中,一个“应用”是最高级别的对象,它由一系列节点及其连接构成的图。
    • 节点 (Node): 节点是 Gabber 应用中的功能构建块。每个节点执行一个特定操作,例如媒体输入、音频转录、情绪分析、调用外部 API 或生成响应。通过将节点组合成工作流,可以定义 AI 应用的实时行为。
    • 连接盘 (Pad): Pad 是节点上的连接点,用于发送或接收数据。它分为两种类型:接收上游节点数据的“输入盘 (Sink Pads)”和向下游节点发送数据的“输出盘 (Source Pads)”。Pad 之间具有类型限制,确保了数据流的兼容性和稳定性。
    • 子图 (SubGraph): 子图是一个可以被嵌入到其他应用中作为单个节点的“微型应用”。通过使用代理节点 (Proxy nodes),可以轻松地将数据传入或传出子图,极大地提高了模块的复用性。
    • 状态机 (State Machine): 状态机定义了应用如何根据参数变化在不同状态之间转换。它包含参数、状态和状态转换三个部分,通过组合转换逻辑,可以实现复杂的条件分支(如与/或逻辑),从而精确控制应用流程。

    2. 系统架构

    Gabber 由一个前端和三个后端服务组成:

    • 前端 (Frontend): 基于 NextJS 构建的用户界面,用于与后端服务进行交互,是开发者构建和管理应用的窗口。
    • 编辑器 (Editor): 后端服务之一,作为前端的服务器。
    • 引擎 (Engine): 负责实际运行应用的核心服务。
    • 仓库 (Repository): 一个轻量级的本地 HTTP 服务器,负责抓取和保存在 .gabber 目录中的应用和子图。

    快速上手与本地部署

    Gabber 提供了两种便捷的启动方式,以满足不同开发者的需求。

    1. 使用 Make 启动

    对于熟悉命令行工具的开发者,可以通过 make 命令一键启动所有服务。在此之前,需要安装两个核心依赖:

    • LiveKit: 一个 WebRTC 服务器,用于前端与 Gabber 引擎之间的媒体流传输。
    • UV: 一个高效的 Python 依赖管理工具。

    2. 使用 Docker Compose 启动

    为了简化环境配置,Gabber 也支持通过 docker compose up 命令一键启动所有服务,这对于希望快速体验的开发者来说非常友好。

    此外,Gabber 还支持运行本地大语言模型 (LLM)。项目在 services/local-llm 目录下提供了便利的脚本,macOS 用户可以利用 llama.cpp 实现 Metal (GPU) 加速,而 Linux 或 WSL 用户则可以使用 vllm 脚本。

    安全与集成 (SDKs)

    密钥管理 在实际应用中,许多节点(如 OpenAI 兼容的 LLM 节点)需要使用 API 密钥等敏感信息。Gabber 通过一个名为 .secret 的文件来管理这些密钥。密钥的实际值不会存储在图数据中,这确保了开发者在社区中分享应用图时,不会有泄露个人密钥的风险。

    丰富的 SDK 支持 为了帮助开发者将 Gabber 快速集成到现有应用中,官方提供了多种 SDK:

    • 已推出:
      • JavaScript/TypeScript SDK: 与框架无关的客户端库,适用于 Node.js、浏览器等多种环境。
      • React SDK: 封装了 TypeScript SDK,提供预构建的 Hooks 和 UI 组件,可轻松在 React 或 React Native 中使用。
    • 即将推出:
      • Python SDK
      • Unity SDK
      • 原生 iOS 和 Android SDK
      • React Native 和 Flutter SDK

    未来路线图与社区生态

    Gabber 的基础已经趋于稳固,未来的发展重点将是创建更多的节点和应用范例。开发团队感兴趣的方向包括:

    • 计算机交互节点: 用于模拟和控制计算机操作。
    • Unity SDK 与机器人模拟: 为游戏和模拟环境赋予视觉、听觉和语言能力。
    • 多平台集成: 如 SIP、Discord、Zoom、Telegram 和 Google Meet 节点。
    • 更快的计算机视觉: 集成 YOLO、MediaPipe、CLIP 等先进模型。
    • 多参与者轮流发言管理: 优化多人实时交互体验。

    Gabber 是一个以开发者为中心、代码开放的项目。官方鼓励开发者通过 GitHub Discussions 或 Issues 提出问题和反馈,并通过贡献代码(无论是新节点还是修复 Bug)来共同建设社区。

    许可模式

    Gabber 的核心引擎和编辑器代码采用可持续使用许可证 (Sustainable Use License)Gabber 企业许可证 (Gabber Enterprise License),这种模式与 n8n 类似,保证了代码始终可见、可自托管和可扩展。而示例代码和 SDKs 等非核心部分则采用更为宽松的 Apache 2.0 许可证

    总而言之,Gabber 为实时 AI 应用的开发提供了一个功能全面且高度可扩展的平台。凭借其清晰的架构、对开发者的友好设计以及活跃的社区,它有潜力成为构建下一代多模态智能应用的重要工具。

    https://github.com/gabber-dev/gabber

    Brave 回复 2 days, 8 hours ago 1 成員 · 0 回复
  • 0 回复

歡迎留言回复交流。

Log in to reply.

讨论開始
00 回复 2018 年 6 月
現在