오늘의 오픈 소스 프로젝트 (#134): AIRI — 실제로 Minecraft를 플레이하는 셀프 호스팅 AI VTuber
요약
AIRI는 Neuro-sama와 같은 AI VTuber를 구현하기 위한 오픈 소스 셀프 호스팅 시스템입니다. WebGPU 기반의 로컬 추론, 실시간 음성 파이프라인, 그리고 Minecraft 게임 에이전트를 결합한 정교한 웹 우선 아키텍처를 제공합니다.
핵심 포인트
- WebGPU를 활용한 브라우저 내 로컬 추론 구현
- VAD-STT-LLM-TTS로 이어지는 실시간 음성 파이프라인
- Mineflayer와 비전을 결합한 Minecraft 게임 에이전트
- Vue.js 및 TypeScript 기반의 웹 우선 아키텍처
서론 (Introduction)
"와이푸(waifu)의 영혼을 담은 컨테이너, 그들을 우리 세계로 데려올 사이버 생명체."
이 글은 Open Source Project of the Day 시리즈의 #134 번째 기사입니다. 오늘의 프로젝트는 Neuro-sama의 기능을 목표로 하는 오픈 소스, 셀프 호스팅(self-hosted) AI 가상 동반자 시스템인 AIRI입니다.
Neuro-sama에 대한 배경 설명: 그녀는 Vedal이 구축한 AI VTuber로, 2022년부터 Twitch에서 라이브 스트리밍을 하고 있습니다. 그녀는 실시간으로 채팅에 응답하고, Minecraft를 플레이하며, Among Us를 플레이하며, 수십만 명의 팔로워를 모았습니다. 그녀는 녹화된 콘텐츠를 재생하는 가상 아바타가 아니라, 실시간 추론 (inference)과 실시간 의사 결정 (decision making)을 수행하는 AI 시스템입니다.
AIRI의 전제: 이를 복제하여 여러분의 자체 하드웨어에서 오픈 소스로 구현하는 것입니다.
기술적으로 AIRI는 정교하게 구축된 시스템입니다. Vue.js + TypeScript 기반의 웹 우선 (Web-first) 아키텍처, WebGPU를 통한 브라우저 내 로컬 추론 (local inference), Live2D 및 VRM 아바타 렌더링, 멀티 프로바이더 음성 파이프라인 (voice pipeline), 그리고 게임 내에서 실제로 무언가를 수행하는 Minecraft 에이전트를 갖추고 있습니다. 44.8k개의 Star를 기록 중이며, 이 프로젝트는 진행 과정에서 xsai 및 unspeech와 같은 독립적인 도구들을 탄생시켰습니다.
학습 내용
- AIRI의 웹 우선 아키텍처: 왜 Python + Electron 대신 Vue.js + WebGPU를 사용하는가
- 실시간 음성 파이프라인: VAD → STT → LLM → TTS의 4단계 체인
- Minecraft 게임 에이전트의 작동 방식 (Mineflayer + 비전 + 의사 결정 루프)
- Live2D/VRM 아바타 드라이버 레이어
- 브라우저 내 메모리 시스템: 브라우저 탭에서 실행되는 DuckDB WASM + pgvector
- 파생된 하위 프로젝트: xsai 경량 AI SDK, unspeech 음성 프록시
사전 요구 사항
- AI 어시스턴트 및 가상 아바타 개념에 대한 기본적인 이해
- 아키텍처 섹션을 이해하기 위한 Vue.js 또는 프론트엔드 개발 경험 권장
- Neuro-sama의 영상을 몇 분간 시청하면 유용한 맥락을 파악할 수 있음
프로젝트 배경 (Project Background)
Neuro-sama란 무엇인가
Neuro-sama (Vedal987에 의해 구축됨)는 2022년에 스트리밍을 시작했습니다. 그녀는 Twitch 채팅에 응답하고, 게임을 플레이하며, 개성을 표현하고, 농담을 합니다. 기술적인 성취는 그녀가 스크립트된 것이나 사전 녹화된 것이 아니라, 라이브로 작동한다는 점입니다. 시청자 앞에서 실시간 추론 (Real-time inference)을 수행하는 실제 AI 시스템입니다.
AIRI는 이를 목표로 설정하고 다음과 같은 질문을 던집니다: 오픈 소스 커뮤니티가 누구나 셀프 호스팅 (Self-hostable)할 수 있는 동일한 것을 구축할 수 있을까?
저자 / 팀 (Author / Team)
- Organization: moeru-ai (오픈 소스 커뮤니티 프로젝트)
- License: MIT
- Stack: Vue.js + TypeScript, pnpm Monorepo, Turborepo
프로젝트 통계 (Project Stats)
- ⭐ GitHub Stars: 44,800+
- 🍴 Forks: 4,500+
- 📦 Platforms: Web (PWA), macOS, Windows, Linux, iOS
- 📄 License: MIT
시스템 아키텍처 (System Architecture)
Python-First가 아닌 Web-First
대부분의 AI 프로젝트는 기본적으로 Python을 사용합니다. AIRI는 웹 플랫폼을 선택했습니다:
전형적인 AI 프로젝트 경로:
Python 스크립트 → 로컬 서버 → WebSocket → 프론트엔드 디스플레이
문제점: Python 환경 설정, 의존성 충돌, 크로스 플랫폼 마찰
...
트레이드오프 (Tradeoff): Python의 성숙한 AI 툴체인 (Toolchain)을 포기하는 것. 보상: 휴대폰을 포함하여 현대적인 브라우저가 있는 모든 기기에서 실행할 수 있음.
모노레포 구조 (Monorepo Structure)
airi/
├── apps/
│ ├── stage-web/ ← Web PWA 메인 앱
...
핵심 기능 (Core Capabilities)
실시간 음성 파이프라인 (Realtime Voice Pipeline)
음성 대화는 모든 VTuber 시스템의 핵심 기능입니다. AIRI의 파이프라인은 4단계로 실행됩니다:
사용자 발화
↓
VAD (음성 활동 감지, Voice Activity Detection)
...
Kokoro TTS는 로컬 음성 옵션입니다. API 키가 필요 없으며, 오프라인에서 작동하고, 오픈 소스 TTS 옵션들 중 경쟁력 있는 품질을 제공합니다.
Live2D 및 VRM 아바타 렌더링 (Live2D and VRM Avatar Rendering)
@proj-airi/stage-ui가 아바타 렌더링을 담당합니다:
- 자동 깜빡임 (Auto-blink): "죽은 물고기 눈 (dead fish eyes)" 효과를 피하기 위한 무작위 간격의 깜빡임
- 시선 추적 (Gaze tracking): 마우스 움직임 또는 주제의 초점을 따라가는 눈의 움직임
- 유휴 애니메이션 (Idle animation): 캐릭터가 말하지 않을 때의 자연스러운 미세 움직임
- 립싱크 (Lip sync): TTS (Text-to-Speech) 출력의 음소 (phoneme) 데이터에 의해 구동되는 입 모양
- 표정 시스템 (Expression system): LLM (Large Language Model) 출력이 얼굴 표정을 제어하는 감정 태그를 포함
두 가지 형식 모두 지원: Live2D (.moc3, 2D 골격 애니메이션) 및 VRM (3D 가상 아바타 표준 형식).
WebGPU 로컬 추론 (WebGPU Local Inference)
브라우저 버전은 온디바이스 추론 (on-device inference)을 위해 WebGPU를 사용합니다. 데스크톱 버전은 HuggingFace Candle 라이브러리를 사용하여 NVIDIA CUDA 또는 Apple Metal을 직접 호출합니다:
Browser:
WebGPU API → GPU 연산 유닛 (compute units)
로컬 AI 프레임워크 설치가 필요 없음
...
게임 에이전트 (Game Agents)
Minecraft (라이브):
AIRI가 Minecraft 서버에 연결 (Mineflayer 라이브러리)
↓
시각적 입력: 스크린샷 → 멀티모달 LLM (multimodal LLM) 분석
...
AIRI는 Minecraft에서 정해진 스크립트를 따르지 않습니다. LLM이 현재 게임 상태를 기반으로 다음 단계를 결정하고, 시청자들에게 자신의 추론 과정을 설명합니다.
Factorio (개념 증명, proof-of-concept):
autorio 모드 라이브러리와 함께 RCON API를 통해 제어됩니다. 에이전트는 공장의 상태를 읽고 명령을 전달합니다. Factorio의 복잡한 생산 체인 최적화는 Minecraft보다 더 어려운 계획 (planning) 문제이지만, 아직 초기 단계임에도 불구하고 아키텍처 측면에서는 동일한 접근 방식을 취하고 있습니다.
파생된 하위 프로젝트 (Spawned Sub-Projects)
xsai: 경량 AI SDK
AIRI를 구축하는 동안 팀은 Vercel AI SDK가 너무 무겁다는 것을 발견하고 자체적으로 구축했습니다:
import { createOpenAI } from 'xsai'
const openai = createOpenAI({ apiKey: 'sk-...' })
...
Claude, Gemini, DeepSeek, Ollama 로컬 모델 등 OpenAI 호환 제공업체라면 무엇이든 작동합니다.
unspeech: 통합 음성 API 프록시 (Unified Speech API Proxy)
서로 다른 음성 서비스들은 호환되지 않는 API 형식을 가지고 있습니다. unspeech는 통일된 /audio/transcriptions 및 /audio/speech 엔드포인트를 제공합니다:
# unspeech 프록시 시작
npx unspeech
...
백엔드에서 OpenAI Whisper, Azure Speech, 또는 로컬 Whisper 간에 전환할 수 있습니다 — 프론트엔드 코드는 변경되지 않습니다.
메모리 시스템 (Memory System)
아직 개발 중이지만, 아키텍처는 설정되었습니다:
세션의 대화 내용
↓
DuckDB WASM (브라우저 내 SQL 데이터베이스)
...
전부 브라우저 내에서 실행됩니다. 외부 데이터베이스 의존성이 없습니다. 데이터는 로컬에 유지됩니다.
빠른 시작 (Quick Start)
설치 (Installation)
# Windows (winget)
winget install MoeruAI.AIRI
...
기본 설정 (Basic Configuration)
# LLM 제공자 설정 (하나 선택)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
...
http://localhost:5173을 열고, 아바타를 선택하고, LLM을 설정한 뒤, 대화를 시작하세요.
비교 (Comparison)
| 차원 | AIRI | Character.ai | 상용 VTuber 도구 |
|---|---|---|---|
| 오픈 소스 (Open source) | ✅ MIT | ❌ | ❌ |
| ... |
링크 및 리소스 (Links and Resources)
- 🌟 GitHub: moeru-ai/airi
- 🌐 웹사이트/문서 (Website/Docs): airi.moeru.ai
- 📦 하위 프로젝트 (Sub-projects): xsai · unspeech
- 💬 Hacker News 토론 (Hacker News discussion): Show HN: Recreation of Neuro-sama
결론 (Conclusion)
AIRI의 목표는 명확하게 명시되어 있습니다: Neuro-sama의 기능을 오픈 소스화하여 누구나 자신의 하드웨어에서 그녀와 같은 것을 실행할 수 있도록 하는 것입니다.
세 가지 설계 결정이 눈에 띕니다:
**웹 우선 아키텍처 (Web-first architecture)**는 직관에 반하는 선택입니다. AI 프로젝트의 기본값은 Python입니다. AIRI는 WebGPU, WebAudio, WebAssembly와 같은 웹 표준에 승부수를 던졌습니다 — 초기 툴체인의 미성숙함을 감수하는 대신, 일관된 크로스 플랫폼 동작과 설치 마찰 제로를 맞바꿨습니다. WebGPU는 2025~2026년에 상당히 성숙했습니다. 그 베팅이 결실을 보고 있습니다.
**게임 에이전트 (Game agents)**는 AI 동반자를 단순한 "채팅 시스템"에서 "실제로 무언가를 수행하는 존재"로 이동시킵니다. Minecraft 에이전트는 단순히 "무엇을 하고 있니?"라는 질문에 답하는 것에 그치지 않고, 게임 내에서 행동하는 동시에 자신의 결정을 시청자들에게 실시간으로 설명합니다. 이러한 방향성은 기술적으로나 제품으로서나 단순한 채팅보다 훨씬 더 흥미롭습니다.
**파생된 하위 프로젝트 (Spawned sub-projects)**들은 실제 엔지니어링의 실체를 나타냅니다. xsai와 unspeech는 모두 생태계 구축 그 자체를 목적으로 한 것이 아니라, 실제 개발 과정에서의 필요성에 의해 성장했습니다. 부수적인 효과로 재사용 가능한 도구들을 만들어내는 프로젝트는 대개 누군가가 근본적인 문제에 대해 신중하게 고민하고 있는 프로젝트입니다.
44.8k Stars, MIT 라이선스, 활발한 커뮤니티 — AIRI는 현재 오픈 소스 AI 동반자 분야에서 가장 진지하게 구축된 프로젝트 중 하나입니다.
엄선된 AI 에이전트와 기술을 위한 마켓플레이스인 PrimeSkills를 탐색해 보세요. 각 기술은 실제 기업 워크플로우에서 검증되었으며, 거품을 걷어내고 진정으로 작동하는 것들만 남겼습니다.
더 유용한 통찰력과 흥미로운 제품들을 확인하시려면 저의 홈페이지를 방문해 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기