如何拥有自己的纸片人老婆?Project AIRI 可以帮你实现

做一个你自己拥有、自己部署的 Neuro-sama——不只聊天,还能打 Minecraft、玩 Factorio、接入 Discord 语音频道,甚至通过 WebGPU 在浏览器里完成本地推理。

这不是一个套壳 ChatGPT 的聊天机器人皮肤。AIRI 试图构建的是一个完整的「数字生命」技术栈。

直接网页端尝试:https://airi.moeru.ai/


Why AIRI ?

现有方案的局限很清晰。Character.ai 和 JanitorAI 提供了不错的文字聊天体验,SillyTavern 给了本地玩家足够的自由度。但它们都卡在同一个瓶颈上:只能聊天

Neuro-sama 证明了 AI VTuber 可以同时聊天、玩游戏、和观众互动,但她不开源,直播结束后你无法与她交互。AIRI 的核心团队(由 @nekomeowww 主导的 Moeru AI 社区)想解决的正是这个问题——把「数字伴侣」的所有权交还给用户。

“Let you own your digital life, cyber living, easily, anywhere, anytime.”
—— Project AIRI


架构拆解:Brain / Ears / Mouth / Body

AIRI 采用了一个拟人化的四层架构,每一层对应一个感知或表达通道。

Brain:LLM 编排与意识层

核心调度中心。useConsciousnessStore 维护当前活跃的模型和 Provider 状态,通过 xsAI 的 streamText() / generateText() 函数路由请求到具体的 LLM。

关键设计点在于 Provider-agnostic 抽象。AIRI 没有绑定任何一家 LLM 服务商,而是通过自研的 xsAI SDK 提供统一接口。useProvidersStore 维护一个 Map<string, ProviderMetadata>,涵盖 30+ 家 LLM Provider 的验证 schema、认证方式和能力标记。

这意味着你可以随时在 OpenAI、Claude、DeepSeek、Ollama、Groq、Qwen 之间切换,不改一行业务代码。

Ears:语音活动检测与转录

语音输入走两条路径,取决于运行平台:

  • 桌面端(Tamagotchi):通过 Rust 编写的 Tauri 插件 tauri-plugin-ipc-audio-transcription-ort,调用 ONNX Runtime 加载 Whisper 模型,支持 CUDA / Metal / DirectML 硬件加速
  • 浏览器端(Stage Web):使用 Transformers.js 的 WASM 版本,通过 pipeline('automatic-speech-recognition') 在客户端完成语音识别

两条路径最终都将转录文本喂入 Brain 层的 streamText() 进行处理。

Mouth:语音合成与口型同步

合成链路:LLM 响应文本 → generateSpeech() → unspeech 代理 → ElevenLabs / OpenAI TTS。生成的音频会经过 @proj-airi/model-driver-lipsync 进行 viseme 映射,驱动 Live2D 或 VRM 模型的口型动画。

unspeech 是团队自研的通用语音端点代理,提供统一的 /audio/transcriptions/audio/speech 接口,类似 LiteLLM 对 LLM 所做的事情,但面向 ASR 和 TTS。

Body:角色渲染引擎

同时支持两种主流虚拟角色格式:

  • Live2D:2D 角色动画,带有自动眨眼、视线追踪、空闲眼球运动
  • VRM:3D 模型支持,同样实现了眨眼和视线追踪

渲染层通过 @proj-airi/stage-ui 统一管理,底层使用 Three.js(VRM)和 Live2D Cubism SDK。


游戏交互:不只是「调 API」

AIRI 玩 Minecraft 通过 Mineflayer 库建立了一个完整的游戏代理,包含路径寻找、方块放置与破坏、战斗 PvP、背包管理、世界探索等能力模块。

// Minecraft Bot 环境配置
BOT_USERNAME=your_bot_username
BOT_HOSTNAME=localhost
BOT_PORT=25565
BOT_VERSION=1.20
OPENAI_API_KEY=your_openai_api_key
OPENAI_API_BASEURL=your_openai_api_baseurl

代理系统的目录结构:

src/
├── agents/       # AI agent 实现
├── composables/  # 可复用的组合函数
├── libs/         # 核心库代码
├── mineflayer/   # Mineflayer 插件实现
├── prompts/      # AI 提示词模板
├── skills/       # 技能系统

Factorio 方面更有意思——团队采用了 YOLO + LLM 的组合方案。YOLO 负责游戏画面的物体检测(识别建筑、资源、敌人),LLM 负责决策和规划。这是一个 CV + NLP 混合的游戏代理架构,PoC 已经完成,代码在 moeru-ai/airi-factorio 仓库中。

此外,社区成员还在研究让 AIRI 玩 Balatro(通过 proj-airi/game-playing-ai-balatro 项目,同样使用 YOLO / RapidOCR + LLM 的方案)和 Kerbal Space Program。


部署与开发

前置要求

  • Git
  • Node.js 23+
  • corepack
  • pnpm

Windows 配置步骤

  1. 下载 Visual Studio 并按照此处的说明进行操作:rust-lang.github.io/rustup/installation/windows-msvc.html#walkthrough-installing-visual-studio-2022
  • 注意: 安装 Visual Studio 时,请务必勾选 Windows SDKC++ 生成工具 (C++ build tools)
  1. 打开 PowerShell
  2. 安装 scoop
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

  1. 通过 scoop 安装 git, Node.js, rustup, msvc
scoop install git nodejs rustup
# 用于 Rust 依赖
# 如果你不打算开发 crates 或 apps/tamagotchi,则不需要此项
scoop install main/rust-msvc

  1. Rust 与 Windows 特定配置
rustup toolchain install stable-x86_64-pc-windows-msvc
rustup default stable-x86_64-pc-windows-msvc

参考:StackOverflow
6. 通过 corepack 安装 pnpm

corepack enable
corepack prepare pnpm@latest --activate


macOS 配置步骤

  1. 打开 终端 (Terminal) (或 iTerm2, Ghostty, Kitty 等)。
  2. 通过 brew 安装 git, node
brew install git node

  1. 通过 corepack 安装 pnpm
corepack enable
corepack prepare pnpm@latest --activate


Linux 配置步骤

  1. 打开 终端
  2. 按照 nodesource/distributions 的说明安装 node
  3. 按照 Git 官网说明 安装 git
  4. 通过 corepack 安装 pnpm
corepack enable
corepack prepare pnpm@latest --activate


桌面端开发依赖

如果你想参与 桌面版 的开发,你将需要安装以下依赖项:

sudo apt install \
   libssl-dev \
   libglib2.0-dev \
   libgtk-3-dev \
   libjavascriptcoregtk-4.1-dev \
   libwebkit2gtk-4.1-dev


写在最后

AIRI 不是一个完成品。但它提供了一个完整的技术蓝图:一个开源的、自托管的、多模态的 AI 数字生命应该长什么样。

GitHub:https://github.com/moeru-ai/airi
在线体验:https://airi.moeru.ai
Discord:加入 AIRI社区

推荐阅读

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐