Hotdry.

Article

Omi 多模态感知-动作闭环架构:屏幕实时感知与对话聆听的工程实现

深入解析 Omi AI 助手的多模态输入融合架构、设备端音频管道与动作执行层的工程实践,探讨感知-动作闭环系统的设计要点。

2026-04-17ai-systems

在人工智能助手领域,感知与执行的无缝衔接一直是工程化的核心挑战。Omi 作为一款开源的 AI 助手,首次将屏幕内容实时感知、对话聆听与动作执行整合为统一闭环系统,为多模态人机交互提供了可复用的架构参考。本文从多模态输入融合、设备端音频管道、动作执行层三个维度,解析其工程实现路径。

一、多模态输入融合架构设计

1.1 统一上下文抽象层

Omi 的核心设计理念是构建「第二大脑」—— 一个比用户自身更可信的记忆系统。要实现这一目标,系统需要同时处理视觉与听觉两种模态的原始数据,并将其抽象为统一的上下文表示。

在架构层面,Omi 采用了分层处理模型。最底层是设备适配层,分别针对 macOS 移动应用(Swift/SwiftUI)、移动端应用(Flutter)以及可穿戴设备(nRF/Zephyr)提供原生捕获能力。屏幕捕获通过系统级 API 实现框架截取,对话捕获则依赖麦克风音频流。捕获的原始数据通过统一的事件总线传输至后端处理流水线。

1.2 屏幕感知的实现路径

屏幕内容感知是 Omi 区别于传统语音助手的关键能力。其实现分为两个阶段:实时截取与语义理解。macOS 应用利用 Core Graphics 框架的屏幕捕获 API,以可配置的帧率(约每秒 1-2 帧以平衡功耗与时效性)获取屏幕快照。这些图像数据经过压缩后传输至后端,由视觉模型进行内容解析。

值得注意的是,Omi 并非简单地将屏幕截图作为图像处理,而是结合光学字符识别(OCR)提取文本内容、UI 元素识别定位可交互区域。这种混合策略显著降低了后续语义分析的复杂度,使系统能够在保持较低计算负载的同时,准确理解用户当前的工作上下文。

1.3 对话聆听的处理流水线

对话聆听是另一个核心感知通道。Omi 的后端音频处理流水线包含四个关键组件:语音活动检测(VAD)、说话人分离(Diarizer)、语音转文本(STT)以及语义理解。其中 VAD 与 Diarizer 运行在 GPU 加速环境中,确保实时性要求;语音转文本则调用 Deepgram 的流式 API,以获得低延迟、高准确度的转录结果。

整个流水线采用异步处理模式:音频数据通过 WebSocket 持续推送至后端,经 VAD 检测到有效语音后,触发 Diarizer 进行说话人分离,随后将分离后的音频流送入 STT 模块。最终转录文本与说话人标签一同存储至 Firestore 数据库,供上层对话系统检索使用。

二、设备端音频管道的工程实践

2.1 跨平台音频捕获策略

Omi 的设备端音频管道面临多平台兼容性的挑战。针对 macOS、iOS、Android 以及专用可穿戴设备,需要分别实现适配层。macOS 平台利用 AVFoundation 框架获取系统音频流,iOS 和 Android 则通过各自的平台 API(分别是 AVAudioSession 与 AudioRecord)实现捕获。

在可穿戴设备端(Omi Wearable),音频捕获面临更严格的资源约束。该设备采用 nRF 系列低功耗蓝牙芯片,配合 Zephyr 实时操作系统实现持续音频采集。捕获的音频数据通过 BLE 链路传输至配对的移动设备,再由移动应用将数据转发至云端后端。这种分层传输架构有效平衡了可穿戴设备的功耗限制与音频质量要求。

2.2 流式传输与断点处理

实时音频传输的核心挑战在于网络波动下的稳定性。Omi 采用 WebSocket 协议作为主要的传输层,并实现了客户端侧的缓冲机制。在网络质量下降时,客户端会临时缓存音频数据,待网络恢复后批量上传;若网络中断时间过长,系统会触发重新连接流程,并从断点处继续传输,避免数据丢失。

后端 Listen 服务(REST 接口)与 Pusher 服务(WebSocket 接口)的组合设计,为这种容错传输提供了基础设施支持。Listen 服务处理批量数据上传场景,Pusher 服务则维护长连接以推送实时的转录结果与 AI 响应。

2.3 隐私保护的本地处理

考虑到音频数据的高度敏感性,Omi 在设计时引入了本地处理环节。设备端会对音频进行预处理,包括噪声抑制与音量标准化,以减少敏感信息的直接泄露风险。此外,用户可在设置中选择启用或禁用特定的感知功能,系统默认采用「按需聆听」模式,仅在用户明确激活时捕获对话内容。

三、动作执行层的架构与实现

3.1 从感知到执行的闭环

多模态感知的最终目的是支持智能动作执行。Omi 的动作执行层建立在对话系统之上:当用户提出请求时,系统会结合当前的屏幕上下文、历史对话记录以及长期记忆,生成针对性的响应或操作建议。

这种上下文感知的能力来源于向量检索与语义匹配技术的结合。每当用户完成一次对话或屏幕捕获,系统会自动提取关键信息并存储至向量数据库。在后续对话中,检索增强生成(RAG)流程会从记忆库中召回相关上下文,帮助模型做出更准确的决策。

3.2 MCP 集成与扩展能力

Omi 通过支持 Model Context Protocol(MCP)实现了动作执行层的可扩展性。MCP 是一种标准化的人机交互协议,允许 AI 模型调用外部工具与服务。开发者可以基于 Omi 提供的 SDK(React Native、Swift、Python)构建自定义应用,并将这些应用注册为 MCP 工具,供 Omi 在对话过程中调用。

目前官方提供的示例应用包括 GitHub 集成(查询仓库、创建 Issue)、Slack 集成(发送消息)以及 OmiMentor(学习辅助)等。这些应用展示了动作执行层的典型使用场景:将自然语言请求映射为具体的 API 调用,并在执行后将结果反馈给用户。

3.3 实时反馈与确认机制

考虑到某些动作具有不可逆性(如发送消息、执行支付),Omi 设计了确认机制以确保用户意图的正确理解。在系统识别到高风险操作时,会先向用户展示拟执行的动作摘要,待用户明确确认后再执行。这种设计在提升系统自主性的同时保留了用户的最终控制权。

四、工程落地的关键参数与监控要点

基于上述架构分析,以下是实现类似多模态感知 - 动作闭环系统时的关键工程参数与监控建议。

4.1 核心配置参数

在音频管道方面,建议将 VAD 的静音阈值设置为 -40 dB 以平衡灵敏度与噪声过滤;WebSocket 心跳间隔设置为 30 秒,以维持连接活跃并及时检测断连;音频采样率统一为 16 kHz,这是多数 STT 服务的标准配置,能够在质量与带宽之间取得良好平衡。

在屏幕捕获方面,捕获帧率建议设为 1 帧 / 秒,图像压缩质量设置为 70%,以将单帧数据传输量控制在 100 KB 以内。对于需要更高时效性的场景(如协助填写表单),可临时将帧率提升至 2 帧 / 秒,但需监控网络带宽消耗。

4.2 监控指标体系

系统运行阶段需要重点监控以下指标:端到端延迟(从音频捕获到转录结果返回,目标是控制在 3 秒以内)、WebSocket 连接成功率(目标 99.5% 以上)、向量检索召回率(通过定期抽样评估相关性得分,目标是 Recall@5 达到 85%)、以及 MCP 工具调用成功率(目标 98% 以上)。

此外,针对可穿戴设备端还需监控 BLE 连接稳定性与电池电量,当电量低于 20% 时建议自动切换至仅记录模式,暂停实时流式传输以延长续航。

五、总结

Omi 代表了一种新兴的 AI 助手范式:将屏幕感知、对话聆听与动作执行整合为统一的闭环系统。其架构设计的关键在于构建统一的上下文抽象层、实现跨平台的可靠音频传输、以及设计可扩展的动作执行机制。对于希望构建类似系统的开发者而言,Omi 的开源实现提供了从客户端到后端的完整参考实现,其 MCP 集成方案更为自定义扩展指明了方向。

随着多模态模型能力的持续提升,感知 - 动作闭环系统的应用场景将进一步扩展。Omi 的架构实践表明,在当前技术条件下,通过合理的分层设计与工程优化,已经能够构建出满足真实场景需求的实时多模态 AI 助手。


参考资料

ai-systems