Project AIRI 开源复刻 Neuro-sama:自托管 AI 虚拟角色桌面应用的架构、安装与开发指南

Project AIRI 开源复刻 Neuro-sama:自托管 AI 虚拟角色桌面应用的架构、安装与开发指南 Project AIRI 开源复刻 Neuro-sama自托管 AI 虚拟角色桌面应用的架构、安装与开发指南【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airiProject AIRIアイリ是一个完全开源的、以复刻 Neuro-sama为目标的自托管 AI 虚拟角色AI waifu / cyber living项目。它把现代大语言模型、实时语音链路、VRM/Live2D 渲染与游戏操控能力整合进一个 Web 技术栈驱动的应用中让每个人都能拥有一个可随时对话、陪玩、能听会说的数字伙伴。本文以仓库根目录的 README.md 为主体结合 根 package.json、apps/stage-tamagotchi/package.json、flake.nix 等源码与配置完整讲解 AIRI 的定位、安装方式、技术架构、开发启动流程与核心能力模块帮助读者快速上手并在本地运行、开发这一项目。一、项目定位为什么要自建一个数字灵魂容器AIRI 的出发点很直白以 ChatGPT、Claude 为代表的大模型让让虚拟角色陪我们聊天、扮演变得触手可及Character.ai、SillyTavern 等平台也已经是足够好的聊天与视觉冒险体验方案。但 README 提出了一个关键追问——那让 AI 玩游戏的、看着你写代码的能力呢边打游戏边聊天、边看视频边互动的能力呢Neuro-sama 是目前公认最出色的虚拟主播之一能玩游戏、能聊天、能与观众互动这类存在也被称为数字人类。但它的核心代码并未开源直播结束后用户无法再与它交互。AIRI 给出的答案就是让你拥有自己的数字生命随时随地、轻松自由。项目副标题 a soul container of AI waifu / virtual characters to bring them into our world把 AI 伴侣/虚拟角色的灵魂容器带入我们的世界正是对这一理念的概括。从仓库实际结构看这一灵魂容器并非单一体而是一整套多端 Stage 应用体系见 apps 目录stage-web浏览器版本即 apps/stage-webstage-tamagotchiElectron 桌面版Windows / macOS / Linux即 apps/stage-tamagotchistage-pocket基于 Capacitor 的移动端实验版本iOS / Android即 apps/stage-pocket。二、安装与获取一条命令装好桌面版AIRI 提供多平台安装途径README 中给出了四种官方推荐方式Windows使用 winget微软官方包管理器winget install MoeruAI.AIRI使用 Scoopscoop bucket add airi https://github.com/moeru-ai/airi scoop install airi/airiScoop 安装清单位于仓库根目录的 bucket/airi.json其中声明了 64 位 Windows 的安装包地址、SHA256 哈希校验、安装后创建的快捷方式airi.exe→ AIRI以及基于 GitHub Releases 的checkver/autoupdate自动更新逻辑——这意味着 Scoop 用户升级 AIRI 时无需手动维护版本号。macOS使用 Homebrew Cask无需添加自定义 tapbrew install --cask airi通用方式在 README 顶部下载按钮中分别提供了 Windows 的AIRI-*-windows-x64-setup.exe、macOS 的AIRI-*-darwin-arm64.dmg以及 Linux 安装包并配套深色/浅色两套下载按钮素材位于 docs/content/public/assets/download-buttons。此外也提供了浏览器PWA和移动端的在线体验入口对应airi.moeru.ai上的 Web 版。⚠️ README 特别提醒该项目没有任何官方发行的加密货币或代币请核对信息来源、谨慎对待相关传闻。 仓库还维护了一个独立的组织proj-airi用于承载 AIRI 衍生出的全部子项目包括 RAG、记忆系统、嵌入式数据库、图标、Live2D 工具等。三、技术底座Web 技术优先原生算力兜底README 明确指出AIRI 与其它开源 AI VTuber 项目最大的不同在于从第一天起就全面拥抱 Web 技术包括WebGPU浏览器内的 GPU 计算与渲染WebAudio音频输入/输出与音效处理Web Workers把语音活动检测VAD、推理等重活移出主线程WebAssembly运行 ONNX 模型等原生级负载WebSocket连接桌面服务端通道、Discord 语音等。在 apps/stage-web/package.json 与 apps/stage-tamagotchi/package.json 的依赖中可以印证这套技术选型onnxruntime-webWASM/WebGPU 推理、huggingface/transformersTransformers.js、threetresjs/core/tresjs/cientos3D 舞台、pinia/vueVue 3 应用层、vite-plugin-pwaPWA 支持、mediabunny音频处理等。针对Web 技术会不会导致性能下降的顾虑README 给出了明确的设计取舍浏览器版本的意义在于展示我们在浏览器和 WebView 里能推到多远但项目不会完全依赖 Web。桌面版默认支持原生NVIDIA CUDA与Apple Metal加速底层依赖 HuggingFace 的 candle 项目无需复杂的依赖管理。也就是说AIRI 采用混合渲染策略图形、布局、动画与插件系统以 Web 技术为主便于跨端与扩展而需要极致性能的推理路径走原生加速。这带来的直接结果是AIRI 可以跑在现代浏览器、甚至移动设备上已通过 PWA 完成同时保留对 TCP 等非 Web 能力的灵活性——例如连接 Discord 语音频道或与好友联机玩 Minecraft / Factorio。四、整体架构Stage 应用 共享包 服务端通道 托管后端README 用一张 Mermaid 架构图见 README.md 的 Sub-projects Born from This Project 之后清晰划分了五大层级这里逐一展开1. Stage 应用层Apps应用说明仓库位置stage-web浏览器版PWA也是pnpm dev默认启动的目标apps/stage-webstage-tamagotchiElectron 桌面版含桌面叠加层、系统托盘、多窗口等apps/stage-tamagotchistage-pocketCapacitor 移动端实验性apps/stage-pocket2. 共享产品包Shared packagesstage-uiUI 组件库packages/stage-uicore-agent / core-characterAgent 编排与角色定义packages/core-agentpipelines-audio音频流水线packages/pipelines-audiostage-ui-live2d / stage-ui-three 等渲染器Live2D、Three.jsVRM/MMD/Spine/Tachie渲染器packages/stage-ui-live2d、packages/stage-ui-threeserver-sdk / server-shared服务端通信 SDKpackages/server-sdk、packages/server-shared。3. 桌面服务端通道Desktop server channelstage-tamagotchi桌面版内置server-runtimepackages/server-runtime对外提供 HTTP/WebSocket 服务。在 apps/stage-tamagotchi/src/main/services/airi/channel-server/config.ts 中可以看到其默认配置逻辑hostname默认为127.0.0.1authToken为空时自动生成随机令牌并支持tlsConfig启用 TLS。浏览器/移动端通过 server-sdk 与该通道双向通信架构图中SDK -- server channel即指此这也是移动端无线连接桌面版、让 Pocket 借用桌面端算力的机制基础。4. 源配置集成Integrationsdiscord-botDiscord 聊天/语音接入integrations/discord-botminecraft-botMinecraft 游戏操控integrations/minecraft以及 Telegram、Factorio、MCP 等其它集成。这些集成均通过 server-sdk 接入部分为可选连接架构图中用虚线-. optional .-表示。5. 托管后端Hosted backendCaddy作为边缘网关server/dev/caddyapi-serverAPI 服务server/apps/apiauth-server认证服务server/apps/authPostgreSQL数据库 Redis缓存由 server/docker-compose.yaml 编排。依赖流向小结架构图中 Stage 三个应用都依赖stage-uistage-ui向上依赖core-agent/core-character、pipelines-audio、各渲染器与server-sdk只有桌面版stage-tamagotchi依赖server-runtimeserver-sdk与server-runtime之间通过 server channel 双向通信Discord/Minecraft 等集成依赖server-sdk边缘网关 Caddy 分流到 api-server 与 auth-server二者再访问数据库与缓存。五、能力全景Brain / Ears / Mouth / BodyREADME 以器官隐喻方式给出了当前进展与路线图这也是理解项目能力边界的最好入口 Brain大脑游戏操控已支持玩Minecraft、FactorioWIPPoC 与 demo 可用对应 integrations/minecraft 与airi-factorio子项目、Kerbal Space Program公告待定Helldivers 2双人联玩 WIP聊天平台已支持Telegram、Discord记忆已支持纯浏览器内数据库DuckDB WASM/pgliteDrizzle 驱动封装位于 packages/drizzle-duckdb-wasmMemory Alaya记忆系统WIP纯浏览器本地推理WebGPU为 WIP 状态。 Ears耳朵浏览器麦克风音频输入Discord 音频输入客户端语音识别STT客户端说话检测VAD实现在 apps/stage-web/src/workers/vad。 Mouth嘴巴多提供商语音合成TTSElevenLabs、Microsoft/Azure Speech、OpenAI 兼容 TTS、阿里云 Model Studio、本地Kokoro TTS。 Body身体VRM 支持模型控制 动画自动眨眼、自动注视、空闲眼动Live2D 支持模型控制 动画自动眨眼、自动注视、空闲眼动。在 apps/stage-tamagotchi/package.json 中可以进一步印证 Body 层的工程实现除 VRMstage-ui-three与 Live2Dstage-ui-live2d外还引入了stage-ui-mmdMMD 模型、stage-ui-spineSpine 模型、proj-airi/model-driver-lipsync唇形同步驱动、proj-airi/input-gamepad-vueuse手柄输入、uiohook-napi全局键盘钩子等共同构成桌面版完整的身体。六、LLM 提供商支持一套 SDK 对接 30 服务AIRI 的 LLM 接入统一由轻量级 SDKxsaiREADME 描述为像 Vercel AI SDK 但体积小得多驱动README 列出的已支持提供商包括聚合/中转类AIHubMix推荐、OpenRouter、302.AI赞助、SiliconFlow、ModelScope本地/自托管类vLLM、SGLang、Ollama国际大厂OpenAI含 Azure OpenAI API、Anthropic ClaudeAWS Claude 欢迎 PR、Google Gemini、xAI、Mistral、Groq国内服务DeepSeek、Qwen、Zhipu智谱、Stepfun阶跃、Baichuan百川、Minimax、Moonshot AI月之暗面、Tencent Cloud腾讯云、Xiaomi Mimo小米其它Cloudflare Workers AI、Together.ai、Fireworks.ai、Novita、Player2。其中 Sparks讯飞星火与 Volcano Engine火山引擎状态为未完成、欢迎 PR。在 packages/provider-inference 中可以看到统一的提供商推理封装实现而 apps/stage-web/package.json 中直接依赖了xsai-ext/providers、xsai/generate-text、xsai/stream-text、xsai/stream-transcription、xsai/generate-speech等 xsai 系列包——文本生成、流式输出、语音识别、语音合成在代码层面都有对应模块支撑。七、开发指南从pnpm dev开始的多端启动7.1 前置准备AIRI 是 pnpm Turborepo 管理的 monorepo工作区声明见 package.json 的workspaces字段覆盖apps/**、packages/**、plugins/**、integrations/**、services/**、docs/**、engines/**、server/**。安装依赖并启动默认的 Stage Web 开发服务器只需pnpm i pnpm dev README 提醒默认pnpm dev启动的是 Stage Web浏览器版如需开发桌面版请先阅读 .github/CONTRIBUTING.md 配置好环境。安装依赖时根postinstall会自动执行 simple-git-hooks 与build:packages先构建全部内部包这是 monorepo 依赖workspace:^包所必需的。7.2 各端启动命令目标命令说明Stage Web浏览器版pnpm dev默认开发入口对应 apps/stage-webStage Tamagotchi桌面版pnpm dev:tamagotchiElectron 开发模式对应 apps/stage-tamagotchiStage Pocket移动版pnpm dev:pocket:ios --target 设备ID或模拟器名见下文文档站pnpm dev:docs运行 docs 下的文档站点7.3 Stage Pocket 移动端开发详解README 对移动端启动给出了非常具体的指引pnpm dev:pocket:ios --target DEVICE_ID_OR_SIMULATOR_NAME # 或者通过环境变量 CAPACITOR_DEVICE_ID_IOSDEVICE_ID_OR_SIMULATOR_NAME pnpm dev:pocket:ios注意事项目标参数必须加引号模拟器名称如iPhone 16 Pro含空格查看可用设备/模拟器列表pnpm -F proj-airi/stage-pocket exec cap run ios --list。由于capacitor/cli声明在 apps/stage-pocket/package.json 中cap命令无法从仓库根目录直接解析必须用pnpm -F指定包移动端若要无线连接桌面端服务端通道需先以 root 启动桌面版sudo pnpm dev:tamagotchi然后在桌面版的settings/connections中启用secure websocket。结合 7.4 节的 TLS 支持tlsConfig这本质上是让 Pocket 通过加密 WebSocket 访问桌面端通道。Pocket 端的 Capacitor 配置见 apps/stage-pocket/capacitor.config.ts应用 ID 按平台区分Android 为ai.moeru.airi_pocketiOS 为ai.moeru.airi-pocket开发时通过CAPACITOR_DEV_SERVER_URL指向 Vite 开发服务器Android 打包所需的 keystore 配置全部由CAPACITOR_ANDROID_*环境变量注入不在代码中硬编码密钥。7.4 Nix 支持与 NixOS 特殊处理Tamagotchi 桌面版提供了 Nix 包支持。启用 flakes 后可直接运行nix run github:moeru-ai/airi针对NixOS上的 Electron 运行问题README 给出的方案是使用 flake.nix 中定义的 FHS 环境 shellnix develop .#fhs pnpm dev:tamagotchi原因在 flake.nix 的注释中写得很清楚NixOS 上 Electron 依赖的共享库不在标准路径中且部分包需要显式指定输出子包——例如glib.out默认glib指向bin输出、dbus.liblibdbus-1.so.3在lib输出、cups.lib、libgbm已从 mesa 中拆分独立、pango.out等。flake 还同时提供了默认 devShell含 pnpm、Python 等工具链以及覆盖x86_64-linux、aarch64-linux、x86_64-darwin、aarch64-darwin四个系统的打包输出。7.5 发布版本管理版本升级使用bumppREADME 给出的命令为npx bumpp --no-commit --no-tag在 package.json 的scripts中还可看到配套的构建链路buildTurborepo 全量构建、build:tamagotchiElectron 打包、typecheck对 packages/apps/server/docs 全量类型检查、test:run多端测试串联等。八、衍生子项目与生态AIRI 的工程实践孵化出了一批可独立使用的子项目README 中列出的均为仓库作者维护的公开项目其中与本仓库同源、可直接在本仓库内查看的有packages/drizzle-duckdb-wasmDrizzle ORM 的 DuckDB WASM 驱动packages/duckdb-wasmduckdb/duckdb-wasm的易用封装packages/provider-inference统一的多提供商推理封装packages/plugin-sdk 与 packages/plugin-sdk-tamagotchi插件开发 SDK。此外 README 还列举了unspeechASR/TTS 通用端点代理、hfupHuggingFace Spaces 部署工具、xsai-transformersTransformers.js 的 xsai provider、WebAI: Realtime Voice ChatVAD STT LLM TTS 全链路实时语音实现示例、airi-factorioFactorio 自动化等子项目以及Awesome AI VTuberAI VTuber 项目精选清单。九、相似项目速览为帮助读者定位技术坐标README 也列出了同类项目仅作背景参考不做优劣结论开源类kimjammer/Neuro7 天完成的 Neuro-sama 复刻完成度高、SugarcaneDefender/z-waif擅长游戏、自主性与提示工程、semperai/amica擅长 VRM 与 WebXR、elizaOS/elizaAgent 与各类系统/API 集成的工程范例、ardha27/AI-Waifu-VtuberTwitch API 集成、InsanityLabs/AIVTuberUI/UX 优秀、以及 Open-LLM-VTuber、Streamer-Sales 等非开源类若干 Twitch/YouTube 上的 AI 主播项目。十、参与开发项目现状与协作入口README 明确表示项目仍处于早期阶段正在寻找开发者与各类创作者共同推进。从代码层面看项目已具备相当完整的工程骨架——多端应用、共享 UI 库、音频流水线、Agent 运行时、服务端与持续集成一应俱全且大量模块配有.test.ts测试文件例如 apps/stage-tamagotchi/src/main/services/airi/channel-server/config.test.ts、apps/stage-web/src/pages/devtools/vrm-model-position.browser.test.ts 等新贡献者可以通过运行pnpm test:run快速验证改动。除了编程能力README 欢迎以下方向的创作者加入Live2D/VRM 建模师、VRChat 虚拟形象设计师、计算机视觉、强化学习、语音识别/合成、ONNX Runtime、Transformers.js、vLLM、WebGPU、Three.js、WebXR 等领域。即使不熟悉 Vue.js / TypeScript也可以以美术、设计或直播运营的身份参与。结语从 README 与仓库源码可以看出Project AIRI 是一条把大模型 实时语音 3D/2D 角色渲染 游戏操控完整贯通的开源路径它以 Web 技术栈保证跨端可达性浏览器、桌面、移动端以原生 CUDA/Metal 与本地推理保证性能以 server channel 打通多端能力共享并通过 xsai 统一抽象了 30 的 LLM 提供商。对于希望自建 AI 数字伙伴、研究 AI VTuber 工程实现或是想复用其音视频流水线与插件体系的开发者而言README.md 是了解全貌的最佳起点仓库中 apps、packages、integrations 与 server 四个目录则是深入每一层实现的完整地图。【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考