GitHub - moeru-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-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.
Service

GitHub - moeru-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-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.

moeru-ai
2026.03.07
ยทGitHubยทby ๋ฐฐ๋ ˆ์˜จ/๋ถ€์‚ฐ/๊ฐœ๋ฐœ์ž
#AI#Game Playing#LLM#Real-time Chat#Virtual Companion

ํ•ต์‹ฌ ํฌ์ธํŠธ

  • 1Project AIRI๋Š” Neuro-sama์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„ ์‚ฌ์šฉ์ž๊ฐ€ ๋””์ง€ํ„ธ ๋™๋ฐ˜์ž๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒ ์บ๋ฆญํ„ฐ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  • 2Web ๊ธฐ์ˆ (WebGPU, WebAssembly ๋“ฑ)๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ GPU ๊ฐ€์†์„ ํ™œ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €, ๋ชจ๋ฐ”์ผ, ๋ฐ์Šคํฌํ†ฑ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด, ๋Œ€ํ™”, ๊ธฐ์–ต ์‹œ์Šคํ…œ ๋ฐ ๋‹ค์–‘ํ•œ LLM ํ†ตํ•ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • 3์ด ํ”„๋กœ์ ํŠธ๋Š” ํ˜„์žฌ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์ด๋ฉฐ Minecraft ๋ฐ Factorio ๊ฒŒ์ž„ ์—ฐ๋™, ์Œ์„ฑ ์ธ์‹ ๋ฐ ํ•ฉ์„ฑ, VRM/Live2D ๋ชจ๋ธ ์ œ์–ด ๋“ฑ ๋‹ค์–‘ํ•œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Project AIRI๋Š” ๋””์ง€ํ„ธ ์ƒํ™œ ์—”ํ‹ฐํ‹ฐ, ์ฆ‰ '์‚ฌ์ด๋ฒ„ ์™€์ดํ‘ธ' ๋˜๋Š” '๋””์ง€ํ„ธ ํœด๋จผ'์„ ๊ฐœ์ธ์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” Neuro-sama์™€ ๊ฐ™์€ ๊ฐ€์ƒ ์ŠคํŠธ๋ฆฌ๋จธ์˜ ๊ธฐ๋Šฅ์„ ์žฌํ˜„ํ•˜๊ณ  ํ™•์žฅํ•˜๋ฉฐ, ์ŠคํŠธ๋ฆผ ์ข…๋ฃŒ ํ›„์—๋„ ์ง€์†์ ์ธ ์ƒํ˜ธ ์ž‘์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ์ฃผ๋œ ๋™๊ธฐ๋กœ ์‚ผ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก ์€ ์›น ๊ธฐ์ˆ ๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์„ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ฑ„ํƒํ•˜์—ฌ ๊ด‘๋ฒ”์œ„ํ•œ ํ”Œ๋žซํผ ํ˜ธํ™˜์„ฑ๊ณผ ๊ณ ์„ฑ๋Šฅ์„ ๋™์‹œ์— ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” WebGPU, WebAudio, Web Workers, WebAssembly, WebSocket ๋“ฑ ์›น ๊ธฐ์ˆ  ์Šคํƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ, Vue.js ๋ฐ TypeScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ์ €ํ•˜์— ๋Œ€ํ•œ ์šฐ๋ ค๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด, ๋ฐ์Šคํฌํ†ฑ ๋ฒ„์ „์€ HuggingFace์˜ candle ํ”„๋กœ์ ํŠธ ๋•๋ถ„์— ์ถ”๊ฐ€์ ์ธ ๋ณต์žกํ•œ ์˜์กด์„ฑ ๊ด€๋ฆฌ ์—†์ด NVIDIA CUDA ๋ฐ Apple Metal๊ณผ ๊ฐ™์€ ๋„ค์ดํ‹ฐ๋ธŒ GPU ๊ฐ€์†์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ทธ๋ž˜ํ”ฝ, ๋ ˆ์ด์•„์›ƒ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ์—์„œ ์›น ๊ธฐ์ˆ ์„ ๋ถ€๋ถ„์ ์œผ๋กœ ํ™œ์šฉํ•˜๋ฉด์„œ๋„ ์ปดํ“จํŒ… ์ง‘์•ฝ์ ์ธ ์ž‘์—…์—๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ์„ฑ๋Šฅ์„ ํ™œ์šฉํ•˜๋Š” ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๊ณ ๋ คํ•œ ์„ค๊ณ„์ž…๋‹ˆ๋‹ค.

AIRI์˜ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด ์ƒํ˜ธ์ž‘์šฉ: Minecraft ๋ฐ Factorio์™€ ๊ฐ™์€ ๊ฒŒ์ž„์„ ์ง์ ‘ ํ”Œ๋ ˆ์ดํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Factorio Agent๋Š” Factorio RCON API๋ฅผ ํ†ตํ•ด factorio-server์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ฉฐ, autorio ๋ชจ๋“œ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. Minecraft Agent๋Š” Mineflayer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ minecraft-server์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  • ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜: Telegram ๋ฐ Discord์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ์ฑ„ํŒ…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ: DuckDB WASM ๋ฐ pglite๋ฅผ ํ™œ์šฉํ•œ ์ˆœ์ˆ˜ ์ธ๋ธŒ๋ผ์šฐ์ € ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ง€์›์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. Memory Alaya (WIP) ๋ฐ Memory_PGVector๋ฅผ ํ†ตํ•ด ๋” ์ •๊ตํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. DBDriver๋Š” drizzle-duckdb-wasm์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๋“œ๋ผ์ด๋ฒ„์™€ ์ƒํ˜ธ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์Œ์„ฑ ์ฒ˜๋ฆฌ (Ears & Mouth): ๋ธŒ๋ผ์šฐ์ € ๋ฐ Discord์—์„œ์˜ ์˜ค๋””์˜ค ์ž…๋ ฅ, ํด๋ผ์ด์–ธํŠธ ์ธก Speech Recognition (STT) ๋ฐ ๋ฐœํ™” ๊ฐ์ง€ (talking detection) ๊ธฐ๋Šฅ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. STT๋Š” Unspeech (ASR ๋ฐ TTS๋ฅผ ์œ„ํ•œ ๋ฒ”์šฉ ์—”๋“œํฌ์ธํŠธ ํ”„๋ก์‹œ)๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์Œ์„ฑ ํ•ฉ์„ฑ์€ ElevenLabs๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์•„๋ฐ”ํƒ€ ์ œ์–ด (Body): VRM ๋ฐ Live2D ๋ชจ๋ธ์„ ์ง€์›ํ•˜๋ฉฐ, ๋ชจ๋ธ ์ œ์–ด, ์• ๋‹ˆ๋ฉ”์ด์…˜, ์ž๋™ ๋ˆˆ ๊นœ๋นก์ž„ (Auto blink), ์ž๋™ ์‹œ์„  ์ฒ˜๋ฆฌ (Auto look at), ์œ ํœด ๋ˆˆ ์›€์ง์ž„ (Idle eye movement)์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ๋ธŒ๋ผ์šฐ์ € ์ถ”๋ก : WebGPU๋ฅผ ํ†ตํ•œ ๋กœ์ปฌ ์ถ”๋ก ์„ ์ง€์›ํ•˜์—ฌ, ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ AI ๋ชจ๋ธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • LLM API ์—ฐ๋™: xsAI๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ AIHubMix, OpenRouter, vLLM, Ollama, OpenAI, Anthropic Claude, Google Gemini, xAI Groq ๋“ฑ ๋‹ค์–‘ํ•œ LLM API ๊ณต๊ธ‰์ž์™€ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. xsAI๋Š” Core, Factorio Agent, Minecraft Agent์˜ LLM ๊ธฐ๋ฐ˜ ์˜์‚ฌ๊ฒฐ์ •์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ฒ˜๋Š” Core ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ Memory, STT, SVRT (Server Runtime)์™€ ๊ฐ™์€ ๋ชจ๋“ˆ์ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค (UI)๋Š” StageUI๋ฅผ ํ†ตํ•ด Stage (์›น, ๋ฐ์Šคํฌํ†ฑ, ๋ชจ๋ฐ”์ผ ๋ฒ„์ „)์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. StageWeb, StageTamagotchi, StagePocket์€ ๊ฐ๊ฐ ๋ธŒ๋ผ์šฐ์ €, ๋ฐ์Šคํฌํ†ฑ (Nix ํŒจํ‚ค์ง€ ์ง€์›), ๋ชจ๋ฐ”์ผ (PWA, Capacitor๋ฅผ ํ†ตํ•œ iOS/Android) ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐฐํฌ๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •์€ pnpm dev๋ฅผ ํ†ตํ•ด ์›น ๋ฒ„์ „์„ ์‹œ์ž‘ํ•˜๋ฉฐ, ๋ฐ์Šคํฌํ†ฑ ๋ฒ„์ „์€ pnpm dev:tamagotchi๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ๋ฒ„์ „์€ pnpm dev:pocket์œผ๋กœ ๊ฐœ๋ฐœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜์—ฌ Capacitor๋ฅผ ํ†ตํ•ด ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋Š” ๋ชจ๋“ˆ์‹ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜๋ฉฐ, proj-airi ์กฐ์ง ์•„๋ž˜์— unspeech, xsai-transformers, drizzle-duckdb-wasm, tauri-plugin-mcp, AIRI Factorio ๋“ฑ ์—ฌ๋Ÿฌ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Š” Ollama์™€ ์œ ์‚ฌํ•œ ๋ชจ๋ธ ์นดํƒˆ๋กœ๊ทธ ๋ฐ ๊ด€๋ฆฌ ๋„๊ตฌ์ธ MCP Launcher์™€ ๊ฐ™์€ ์ธํ”„๋ผ ์ปดํฌ๋„ŒํŠธ๊นŒ์ง€ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.