Hotdry.

Article

自托管AI伴侣系统架构:实时语音与游戏环境集成实践

解析AIRI项目的自托管AI伴侣架构,涵盖实时语音交互、Minecraft/Factorio游戏Agent集成与多平台容器化部署的技术实现。

2026-05-25ai-systems

AI 伴侣系统正从简单的文本对话向多模态、实时交互演进。不同于云端托管方案,自托管架构赋予用户对数据和模型的完全控制权,同时支持深度定制角色行为与环境交互。本文以开源项目 AIRI 为例,剖析其如何通过统一的 Web 技术栈实现实时语音对话、游戏环境联动与跨平台部署。

架构概览:四位一体的 AI 伴侣

AIRI 将 AI 伴侣抽象为四个核心子系统:大脑(Brain)、耳朵(Ears)、嘴巴(Mouth)和身体(Body)。这种分层设计使得各模块可以独立演进,同时通过标准化接口协同工作。

大脑层负责推理与决策,基于 xsAI 框架对接多种 LLM API 提供商,支持从 OpenAI、Claude 到本地 vLLM、Ollama 的灵活切换。游戏 Agent 逻辑在此层实现,通过工具调用(Tool Calling)机制将自然语言指令转换为可执行的游戏操作。

耳朵层处理音频输入与语音识别,支持浏览器原生音频流、Discord 语音通道接入,以及基于 WebRTC 的实时语音传输。项目采用客户端 VAD(语音活动检测)降低延迟,配合 unspeech 代理服务实现统一的 ASR 接口。

嘴巴层负责语音合成与输出,目前集成 ElevenLabs API 提供高质量 TTS 服务。该层与身体层的口型同步(Lip Sync)联动,实现语音与视觉表现的自然对齐。

身体层驱动虚拟形象渲染,同时支持 VRM 和 Live2D 两种主流格式。通过 WebGPU 加速,实现自动眨眼、视线追踪、待机动画等细节表现,增强角色的 "存在感"。

游戏环境集成:从观察到操作的闭环

游戏集成是 AIRI 区别于普通聊天机器人的关键能力。项目通过专用 Agent 模块实现与游戏的双向通信,目前已支持 Minecraft 和 Factorio 两款沙盒游戏。

Minecraft 集成基于 Mineflayer 库构建,AI 以 Bot 身份登录服务器,具备完整的游戏内感知能力。Agent 可以读取背包状态、周围环境方块信息、实体位置等数据,并执行移动、挖掘、放置、合成等操作。技术实现上,Mineflayer 通过 Node.js 与 Minecraft 服务器建立 TCP 连接,协议层处理登录、加密和压缩,应用层则提供高层次的 API 抽象。

Factorio 集成采用更复杂的视觉 + 语言多模态方案。由于 Factorio 的复杂工厂逻辑难以纯文本描述,项目引入 YOLO 视觉模型识别游戏画面中的传送带、机械臂、熔炉等元素,结合 LLM 进行空间推理。系统通过 RCON(远程控制台)协议与 Factorio 服务器通信,同时配合 Lua Mod 实现自定义游戏内行为。这种 CV+LLM 的混合架构为 AI 理解复杂游戏环境提供了可行路径。

两个游戏 Agent 均遵循 "感知 - 推理 - 行动" 的循环:从游戏环境获取状态信息,由 LLM 规划下一步动作,再通过游戏 API 执行。记忆系统记录游戏进度和用户偏好,支持跨会话的持续学习。

实时语音交互:低延迟 Pipeline 设计

实时语音对话对延迟敏感,AIRI 采用端到端优化策略。完整流程包括:音频采集→VAD 检测→语音识别→LLM 推理→语音合成→音频播放。

在采集端,浏览器 Web Audio API 提供低延迟音频流,配合 Silero VAD 等轻量级模型在客户端完成语音分段,避免网络传输静音数据。语音识别阶段,unspeech 作为统一代理层,支持 Whisper、Azure Speech 等多种后端,开发者可按需切换。

LLM 推理环节,项目支持流式输出(Streaming),TTS 引擎可在收到首个 token 后即开始合成,实现 "边想边说" 的交互体验。ElevenLabs 的 Turbo v2.5 模型针对低延迟场景优化,首包响应时间可控制在数百毫秒级别。

视觉同步方面,身体层根据音频 PCM 数据实时计算口型参数,驱动 VRM/Live2D 模型的 Blend Shape 变化,实现音画同步。

多平台容器化部署

AIRI 采用 Monorepo 结构,通过 pnpm workspace 管理多个子包,支持三种运行形态:

Stage Web:纯浏览器版本,依赖 WebGPU 进行本地推理或调用远程 API。基于 DuckDB WASM 实现浏览器内嵌数据库,支持 RAG 检索和持久化记忆,无需后端服务器即可运行。

Stage Tamagotchi:桌面版本基于 Electron 构建,可利用本地 NVIDIA CUDA 或 Apple Metal 进行模型推理。通过 Nix Flake 提供可复现的构建环境,支持 Windows、macOS、Linux 三平台。

Stage Pocket:移动端基于 Capacitor 打包为 PWA 应用,支持与桌面版通过 WebSocket 建立安全连接,实现 "手机 companion + 桌面算力" 的协同模式。

部署配置建议:开发环境使用 DevContainer 统一依赖;生产环境通过 Docker Compose 编排 Factorio 服务器、RCON API 代理和 AI Agent;本地开发可采用.env.local文件管理游戏服务器地址、API 密钥等敏感配置。

实践建议与参数清单

对于希望自建 AI 伴侣的开发者,建议从以下配置起步:

组件 推荐方案 关键参数
LLM 推理 vLLM/Ollama 本地部署 temperature: 0.7, max_tokens: 2048
语音识别 Whisper API 或本地 Whisper.cpp model: base, language: auto
语音合成 ElevenLabs Turbo v2.5 stability: 0.5, similarity_boost: 0.75
记忆存储 DuckDB WASM (浏览器) / PostgreSQL+pgvector (桌面) embedding_dim: 1536
游戏连接 Minecraft: Mineflayer @ 25565; Factorio: RCON @ 27015 需开放对应端口

当前项目仍处于活跃开发阶段,Factorio 的视觉识别和 Helldivers 2 的联机协作等功能标记为 WIP。建议关注项目的 DevLog 更新,并优先使用 Minecraft 集成作为入门场景。

资料来源

  • GitHub - moeru-ai/airi: Self-hosted AI virtual companion with real-time voice chat and game integrations
  • GitHub - moeru-ai/airi-factorio: AI plays Factorio with CV & LLM combined

ai-systems

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com