AIRI:把“赛博生命”带到手边 — 给开发者与创作者的一份可操作指南

为什么读这篇文章?
如果你对“能玩游戏、能聊天、能作为数字伴侣/VTuber 的开源方案”感兴趣,并希望能在浏览器、移动设备或桌面上快速上手、定制与扩展——AIRI 把这些能力模块化、可插拔地提供出来;本文帮你把 README 里的信息组织成能马上照着做的步骤、FAQ 和实践建议。
AIRI 是什么?
AIRI 是一个以“赛博生命 / 数字人 / VTuber”为目标的开源集合项目,受 Neuro-sama 启发,目标是让每个人都能拥有并运行自己的“数字生命”。项目从一开始就以浏览器优先为设计方向,原生支持多项 Web 技术(例如 WebGPU、WebAudio、WebAssembly、WebSocket 等),并兼容多种 LLM 服务来源与本地运行选项。
项目亮点
-
浏览器优先:支持在现代浏览器上运行,已完成 PWA 支持,移动端可用。 -
多模态能力:具备语言(聊天)、语音输入/识别、语音合成、以及动画(VRM / Live2D)支持。 -
游戏与代理能力:能让 AI 玩 Minecraft、Factorio,并通过插件与游戏服务交互。 -
模块化生态:包含 RAG、记忆层、嵌入数据库、工具集与多个由 AIRI 衍生出的子项目。
当前进度
项目 README 给出了目前的实现与待办清单,核心要点如下(按 README 原文整理):
-
思维能力
-
已实现:玩 Minecraft、玩 Factorio、在 Telegram、Discord 聊天等代理能力。 -
记忆方面:支持在浏览器内使用 DuckDB WASM 或 sqlite;云端/更复杂的记忆层(Alaya)仍在建设中。
-
-
语音能力
-
浏览器音频输入、Discord 音频输入、客户端语音识别、说话检测等均已支持。
-
-
语言 & TTS
-
已集成 ElevenLabs 作为语音合成渠道(文档列为已支持项)。
-
-
动画 / 身体动作
-
VRM 与 Live2D 支持(控制与基本动画,如自动眨眼、注视、空闲眼睛移动)已实现。
-
支持的 LLM / API 列表
AIRI 原生支持多种 LLM API 服务(由 xsai 驱动),README 中列出的来源包括但不局限于:
-
OpenRouter、vLLM、SGLang、Ollama、Google Gemini、OpenAI、Anthropic Claude、DeepSeek、Qwen、xAI、Groq、Mistral、Cloudflare Workers AI、Together.ai、Fireworks.ai、Novita、智谱、硅基流动、阶跃星辰、百川、Minimax、月之暗面、Player2、腾讯混元 等(README 列表详见原文)。部分服务(如 Azure OpenAI、讯飞星火、火山引擎)标注为“未完全集成 / WIP”。
提示:在使用特定 LLM 服务前,参照 README 的“已支持 / 待支持”标注来决定接入优先级。
如何在本地启动
如果你想快速试跑项目(网页版或桌面版),README 提供了直接可执行的命令。请在项目根目录执行(你需要 pnpm):
-
安装依赖
pnpm i
-
启动开发环境(通用)
pnpm dev
-
启动网页版(本地预览 airi.moeru.ai 的版本)
pnpm dev:web
-
启动桌面版(“拓麻歌子 / 电子宠物”模式)
pnpm dev:tamagotchi
-
启动文档站(如果你只想运行 docs)
pnpm -F @proj-airi/docs dev
这些命令直接摘自项目 README,按该顺序可让你从安装到运行逐步进入开发状态。
推荐的开发/贡献者角色
项目欢迎多样背景的贡献者(摘自 README):
-
Live2D / VRM / VRChat 模型师 -
计算机视觉(CV)工程师 -
强化学习(RL)研究者 -
语音识别 / 语音合成工程师(ASR / TTS) -
ONNX / Transformers.js / vLLM / WebGPU 等推理 / 性能工程 -
前端(Three.js、WebXR、PWA)、后端与运维等。
即便你不熟悉 TypeScript / Vue 等,也欢迎在仓库下创建子目录,加入自定义功能(例如用 React / Svelte 实现的扩展)。这是 README 强调的开放协作策略。
子项目与生态
README 同时列出了若干由 AIRI 衍生或相关的开源子项目——这些构成了一个基础设施层:
-
unspeech
:用于代理音频转录与语音接口实现(面向各种 ASR/TTS)。 -
hfup
:帮助将项目部署到 HuggingFace Spaces 的工具集。 -
@proj-airi/duckdb-wasm
与drizzle-duckdb-wasm
:浏览器端 DuckDB 的封装与 ORM 驱动(本地记忆与查询)。 -
airi-factorio
:让 AIRI 玩 Factorio 的实现与工具链。 -
等等(README 中列举了更多链接与项目,建议直接查看仓库索引以获得最新详情)。
实践小贴士
-
先跑 docs / web 版本:如果你想先理解系统架构与 API, pnpm -F @proj-airi/docs dev
是最快途径。 -
本地测试 LLM 接入:README 提供了多种接入方式,建议先从你熟悉的服务入手(如 OpenAI / OpenRouter),再扩展到本地推理(vLLM / Ollama 等)。注意查看 README 中对“已支持 / 待支持”的标注。 -
模型与前端分离:AIRI 采用模块化设计,UI(VRM / Live2D)与核心逻辑可以独立开发并通过插件 / 子目录集成。若你是前端设计师,可先提交 UI 子目录。
项目架构示意
%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%
flowchart TD
Core("Core")
Unspeech("unspeech")
DBDriver("@proj-airi/drizzle-duckdb-wasm")
MemoryDriver("[WIP] Memory Alaya")
DB1("@proj-airi/duckdb-wasm")
SVRT("@proj-airi/server-runtime")
Memory("Memory")
STT("STT")
Stage("Stage")
StageUI("@proj-airi/stage-ui")
UI("@proj-airi/ui")
subgraph AIRI
DB1 --> DBDriver --> MemoryDriver --> Memory --> Core
UI --> StageUI --> Stage --> Core
Core --> STT
Core --> SVRT
end
subgraph UI_Components
UI --> StageUI
UITransitions("@proj-airi/ui-transitions") --> StageUI
UILoadingScreens("@proj-airi/ui-loading-screens") --> StageUI
FontCJK("@proj-airi/font-cjkfonts-allseto") --> StageUI
FontXiaolai("@proj-airi/font-xiaolai") --> StageUI
end
subgraph Apps
Stage --> StageWeb("@proj-airi/stage-web")
Stage --> StageTamagotchi("@proj-airi/stage-tamagotchi")
Core --> RealtimeAudio("@proj-airi/realtime-audio")
Core --> PromptEngineering("@proj-airi/playground-prompt-engineering")
end
subgraph Server_Components
Core --> ServerSDK("@proj-airi/server-sdk")
ServerShared("@proj-airi/server-shared") --> SVRT
ServerShared --> ServerSDK
end
STT -->|Speaking| Unspeech
SVRT -->|Playing Factorio| F_AGENT
SVRT -->|Playing Minecraft| MC_AGENT
subgraph Factorio_Agent
F_AGENT("Factorio Agent")
F_API("Factorio RCON API")
factorio-server("factorio-server")
F_MOD1("autorio")
F_AGENT --> F_API -.-> factorio-server
F_MOD1 -.-> factorio-server
end
subgraph Minecraft_Agent
MC_AGENT("Minecraft Agent")
Mineflayer("Mineflayer")
minecraft-server("minecraft-server")
MC_AGENT --> Mineflayer -.-> minecraft-server
end
XSAI("xsAI") --> Core
XSAI --> F_AGENT
XSAI --> MC_AGENT
Core --> TauriMCP("@proj-airi/tauri-plugin-mcp")
Memory_PGVector("@proj-airi/memory-pgvector") --> Memory
如何参与
-
在 GitHub 仓库页面选一个你感兴趣的子项目(例如 @proj-airi/duckdb-wasm
)。 -
阅读 CONTRIBUTING.md(README 提及贡献指南)并在倉庫 Discussions / Issues 打招呼或提出问题。 -
如果你是设计师/艺术家,可以直接贡献 Live2D / VRM 素材或 UI 组件;如果你是工程师,可以从修复小 bug 或完善文档开始。
常见问题
AIRI 是开源吗?我能在哪里找到源代码?
是的,项目托管在 GitHub(README 中有仓库链接),并且 README 提到了单独的组织 @proj-airi
用于子项目。
我想先看演示站 / 立即体验怎么办?
README 提到有在线体验 https://airi.moeru.ai
,并提供了 Discord 社区邀请链接,你可以去社区询问演示或部署方式。
本地有没有一键启动的命令?
有。最小流程是 pnpm i
然后 pnpm dev
,或分别使用 pnpm dev:web
/ pnpm dev:tamagotchi
启动对应子应用。
项目能做什么“身体”表现/动画?
支持 VRM 与 Live2D,包含基础自动眨眼、自动注视与空闲眼睛移动等动画行为。
有没有离线 / 本地推理的选项?
README 列出了 vLLM、Ollama 等本地推理/运行選项作为“已支持”的服务之一,但不同后端的集成状态以 README 的标注为准(部分为 WIP)。
HowTo:把 AIRI 在本地跑起来
前提
-
准备好 Node 包管理器 pnpm
(项目使用 pnpm)。 -
克隆仓库到本地。
(克隆命令与仓库地址在 README,本文不重复写出克隆 URL, 请以仓库页面为准。)
步骤
-
进入项目根目录。 -
安装依赖: pnpm i
。 -
运行开发服务器(通用): pnpm dev
。 -
若只想运行网页端: pnpm dev:web
。 -
若想运行桌面宠物版本: pnpm dev:tamagotchi
。 -
若需查看/本地运行文档: pnpm -F @proj-airi/docs dev
。
验证
-
在终端中看到构建成功信息后,打开控制台给出的本地地址(通常是 http://localhost:xxxx
)进行访问。
结语 — 这份项目适合谁,能给你带来什么
AIRI 更像是一个面向创作者与工程师的工具箱:如果你关注“把 AI 人物(可以聊天、能玩游戏、能做声音与表情)的能力放在浏览器与轻量客户端上”,并愿意参与开源协作与模块化开发,AIRI 的生态与子项目会非常适合你。README 把当前实现、待办、支持的服务与贡献路径都整理好了;本文把这些信息以更可操作的方式呈现出来,帮助你快速上手并参与贡献。
附录:结构化 Schema
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "AIRI 是什么?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AIRI 是一个面向赛博生命与 VTuber 的开源项目,支持浏览器运行、语音、动画与多种 LLM 接入。"
}
},
{
"@type": "Question",
"name": "如何在本地启动?",
"acceptedAnswer": {
"@type": "Answer",
"text": "在项目根目录执行 pnpm i;然后运行 pnpm dev(或 pnpm dev:web / pnpm dev:tamagotchi / pnpm -F @proj-airi/docs dev)。"
}
}
]
},
{
"@type": "HowTo",
"name": "本地快速启动 AIRI(概要)",
"step": [
{"@type":"HowToStep","text":"克隆仓库到本地"},
{"@type":"HowToStep","text":"pnpm i 安装依赖"},
{"@type":"HowToStep","text":"pnpm dev 启动开发环境(或使用子命令启动特定子应用)"}
]
}
]
}