[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1306":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},1306,"airi","moeru-ai\u002Fairi","moeru-ai","💖🧸 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 \u002F macOS \u002F Windows supported.","https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002F",null,"TypeScript",40928,4124,158,84,0,42,230,1742,185,45,"MIT License",false,"main",[26,27,5,28,29,30,31,32,33,34,35],"ai-companion","ai-vtuber","digital-life","grok-companion","live2d","neuro-sama","neurosama","openclaw","vrm","vtuber","2026-06-12 02:00:26","\u003Cpicture>\n  \u003Csource\n    width=\"100%\"\n    srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fbanner-dark-1280x640.avif\"\n    media=\"(prefers-color-scheme: dark)\"\n  \u002F>\n  \u003Csource\n    width=\"100%\"\n    srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fbanner-light-1280x640.avif\"\n    media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\"\n  \u002F>\n  \u003Cimg width=\"250\" src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fbanner-light-1280x640.avif\" \u002F>\n\u003C\u002Fpicture>\n\n\u003Ch1 align=\"center\">Project AIRI\u003C\u002Fh1>\n\n\u003Cp align=\"center\">Re-creating Neuro-sama, a soul container of AI waifu \u002F virtual characters to bring them into our world.\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  [\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FTgQ3Cu2F7A\">Join Discord Server\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fairi.moeru.ai\">Try it\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.zh-CN.md\">简体中文\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.ja-JP.md\">日本語\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.ru-RU.md\">Русский\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.vi.md\">Tiếng Việt\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.fr.md\">Français\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.ko-KR.md\">한국어\u003C\u002Fa>]\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdeepwiki.com\u002Fmoeru-ai\u002Fairi\">\u003Cimg src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmoeru-ai\u002Fairi.svg?style=flat&colorA=080f12&colorB=1fa669\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FTgQ3Cu2F7A\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?url=https%3A%2F%2Fdiscord.com%2Fapi%2Finvites%2FTgQ3Cu2F7A%3Fwith_counts%3Dtrue&query=%24.approximate_member_count&suffix=%20members&logo=discord&logoColor=white&label=%20&color=7389D8&labelColor=6A7EC2\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fproj_airi\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%40proj__airi-black?style=flat&logo=x&labelColor=%23101419&color=%232d2e30\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002F+7M_ZKO3zUHFlOThh\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram-%235AA9E6?logo=telegram&labelColor=FFFFFF\">\u003C\u002Fa>\n  \u003Ca href=\".\u002Fdocs\u002Fwechat.md\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWeChat-%2307C160?logo=wechat&logoColor=%2307C160&labelColor=FFFFFF\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fqun.qq.com\u002Funiversal-share\u002Fshare?ac=1&authKey=9g00d%2BZS7nORzcJugNNddJ7rCghZTIR7fhXabGwch2S%2BG%2BKGIKwlN1N2nIqkh2jg&busi_data=eyJncm91cENvZGUiOiIxMDU4MTU2Njk3IiwidG9rZW4iOiJmcnkra1hWNFIxNytEcG0zcHRUdVJIaldlRDFxN0dzK080QWtvTEdOQjJkNEY2eUFta1g1clNpbkxSMS9FQWFYIiwidWluIjoiMTI2MDkwNzMzNSJ9&data=b1eJrwn3GVOUh7YIxZ7l9vHQo99HPmRxKPpMKlDCmfzx8Y57IXb2EZCMaOC9rVTd2U558qpNjwUYUWlPHxVHvg&svctype=4&tempid=h5_group_info\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ-%2312B7F5?logo=qq&labelColor=FFFFFF\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp float=\"left\" align=\"center\">\n  \u003C!-- readme-section:release-binary-windows -->\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Freleases\u002Fdownload\u002Fv0.9.0\u002FAIRI-0.9.0-windows-x64-setup.exe\">\n    \u003Cpicture>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.windows.dark.en-US.avif\"\n        media=\"(prefers-color-scheme: dark)\"\n      \u002F>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.windows.light.en-US.avif\"\n        media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\"\n      \u002F>\n      \u003Cimg width=\"33%\" src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.windows.light.en-US.avif\" \u002F>\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n  \u003C!-- readme-section:release-binary-macos -->\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Freleases\u002Fdownload\u002Fv0.9.0\u002FAIRI-0.9.0-darwin-arm64.dmg\">\n    \u003Cpicture>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.macos.dark.en-US.avif\"\n        media=\"(prefers-color-scheme: dark)\"\n      \u002F>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.macos.light.en-US.avif\"\n        media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\"\n      \u002F>\n      \u003Cimg width=\"33%\" src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.macos.light.en-US.avif\" \u002F>\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Freleases\u002Flatest\">\n    \u003Cpicture>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.linux.dark.en-US.avif\"\n        media=\"(prefers-color-scheme: dark)\"\n      \u002F>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.linux.light.en-US.avif\"\n        media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\"\n      \u002F>\n      \u003Cimg width=\"33%\" src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.linux.light.en-US.avif\" \u002F>\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp float=\"left\" align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fairi.moeru.ai\">\n    \u003Cpicture>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002FQR%20code%20button\u002Fsection.cards.qrcode.dark.en-US.png\"\n        media=\"(prefers-color-scheme: dark)\"\n      \u002F>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002FQR%20code%20button\u002Fsection.cards.qrcode.light.en-US.png\"\n        media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\"\n      \u002F>\n      \u003Cimg width=\"33%\" src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002FQR%20code%20button\u002Fsection.cards.qrcode.light.en-US.png\" \u002F>\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fairi.moeru.ai\">\n    \u003Cpicture>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.mobile.dark.en-US.avif\"\n        media=\"(prefers-color-scheme: dark)\"\n      \u002F>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.mobile.light.en-US.avif\"\n        media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\"\n      \u002F>\n      \u003Cimg width=\"33%\" src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.mobile.light.en-US.avif\" \u002F>\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fairi.moeru.ai\">\n    \u003Cpicture>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.browser.dark.en-US.png\"\n        media=\"(prefers-color-scheme: dark)\"\n      \u002F>\n      \u003Csource\n        width=\"33%\"\n        srcset=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.browser.light.en-US.png\"\n        media=\"(prefers-color-scheme: light), (prefers-color-scheme: no-preference)\"\n      \u002F>\n      \u003Cimg width=\"33%\" src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fdownload-buttons\u002Fdownload-buttons.browser.light.en-US.png\" \u002F>\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.producthunt.com\u002Fproducts\u002Fairi?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-airi\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fapi.producthunt.com\u002Fwidgets\u002Fembed-image\u002Fv1\u002Ffeatured.svg?post_id=993524&theme=neutral&t=1752696535380\" alt=\"AIRI - A&#0032;container&#0032;of&#0032;cyber&#0032;living&#0032;souls&#0044;&#0032;re&#0045;creation&#0032;of&#0032;Neuro&#0045;sama | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F14636\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F14636\" alt=\"moeru-ai%2Fairi | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n> Heavily inspired by [Neuro-sama](https:\u002F\u002Fwww.youtube.com\u002F@Neurosama)\n\n> [!TIP]\n> On Windows, you can also install AIRI with [Scoop](https:\u002F\u002Fscoop.sh\u002F):\n>\n> ```powershell\n> scoop bucket add airi https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\n> scoop install airi\u002Fairi\n> ```\n\n> [!WARNING]\n> **Attention:** We **do not** have any officially minted cryptocurrency or token associated with this project. Please check the information and proceed with caution.\n\n> [!NOTE]\n>\n> We've got a whole dedicated organization [@proj-airi](https:\u002F\u002Fgithub.com\u002Fproj-airi) for all the sub-projects born from Project AIRI. Check it out!\n>\n> RAG, memory system, embedded database, icons, Live2D utilities, and more!\n\n> [!TIP]\n> We have a translation project on [Crowdin](https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fproj-airi). If you find any inaccurate translations, feel free to contribute improvements there.\n> \u003Ca href=\"https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fproj-airi\" target=\"_blank\" rel=\"nofollow\">\u003Cimg style=\"width: 140px; height: 40px;\" src=\"https:\u002F\u002Fbadges.crowdin.net\u002Fbadge\u002Flight\u002Fcrowdin-on-dark.png\" srcset=\"https:\u002F\u002Fbadges.crowdin.net\u002Fbadge\u002Flight\u002Fcrowdin-on-dark.png 1x, https:\u002F\u002Fbadges.crowdin.net\u002Fbadge\u002Flight\u002Fcrowdin-on-dark@2x.png 2x\" alt=\"Crowdin | Agile localization for tech companies\" width=\"140\" height=\"40\" \u002F>\u003C\u002Fa>\n\nHave you dreamed about having a cyber living being (cyber waifu, digital pet) or digital companion that could play with and talk to you?\n\nWith the power of modern large language models like [ChatGPT](https:\u002F\u002Fchatgpt.com) and famous [Claude](https:\u002F\u002Fclaude.ai), asking a virtual being to roleplay and chat with us is already easy enough for everyone. Platforms like [Character.ai (a.k.a. c.ai)](https:\u002F\u002Fcharacter.ai) and [JanitorAI](https:\u002F\u002Fjanitorai.com\u002F) as well as local playgrounds like [SillyTavern](https:\u002F\u002Fgithub.com\u002FSillyTavern\u002FSillyTavern) are already good-enough solutions for a chat based or visual adventure game like experience.\n\n> But, what about the abilities to play games? And see what you are coding at? Chatting while playing games, watching videos, and is capable of doing many other things.\n\nPerhaps you know [Neuro-sama](https:\u002F\u002Fwww.youtube.com\u002F@Neurosama) already. She is currently the best virtual streamer capable of playing games, chatting, and interacting with you and the participants. Some also call this kind of being \"digital human.\" **Sadly, as it's not open sourced, you cannot interact with her after her live streams go offline**.\n\nTherefore, this project, AIRI, offers another possibility here: **let you own your digital life, cyber living, easily, anywhere, anytime**.\n\n## DevLogs We Posted & Recent Updates\n\n- [DevLog @ 2026.03.23](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002FDevLog-2026.03.23\u002F) on March 23, 2026\n- [DevLog @ 2026.03.14](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002FDevLog-2026.03.14\u002F) on March 14, 2026\n- [DevLog @ 2026.02.16](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002FDevLog-2026.02.16\u002F) on February 16, 2026\n- [DevLog @ 2026.01.01](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002FDevLog-2026.01.01\u002F) on January 1, 2026\n- [DevLog @ 2025.10.20](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002FDevLog-2025.10.20\u002F) on October 20, 2025\n- [DevLog @ 2025.08.05](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002FDevLog-2025.08.05\u002F) on August 5, 2025\n- [DevLog @ 2025.08.01](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002FDevLog-2025.08.01\u002F) on August 1, 2025\n- [DreamLog 0x1](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002Fblog\u002Fdreamlog-0x1\u002F) on June 16, 2025\n- ...more on [documentation site](https:\u002F\u002Fairi.moeru.ai\u002Fdocs\u002Fen\u002F)\n\n## What's So Special About This Project?\n\nUnlike the other AI driven VTuber open source projects, アイリ was built with support of many Web technologies such as [WebGPU](https:\u002F\u002Fwww.w3.org\u002FTR\u002Fwebgpu\u002F), [WebAudio](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Audio_API), [Web Workers](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Workers_API\u002FUsing_web_workers), [WebAssembly](https:\u002F\u002Fwebassembly.org\u002F), [WebSocket](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWebSocket), etc. from the first day.\n\n> [!TIP]\n> Worrying about the performance drop since we are using Web related technologies?\n>\n> Don't worry, while the Web browser version is meant to give an insight into how much we can push and do inside browsers and webviews, we will never fully rely on this. The desktop version of AIRI is capable of using native [NVIDIA CUDA](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-toolkit) and [Apple Metal](https:\u002F\u002Fdeveloper.apple.com\u002Fmetal\u002F) by default (thanks to HuggingFace & the beloved [candle](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Fcandle) project), without any complex dependency management. Considering the tradeoff, it is partially powered by Web technologies for graphics, layouts, animations, and the WIP plugin system for everyone to integrate things.\n\nThis means that **アイリ is capable of running on modern browsers and devices** and even on mobile devices (already done with PWA support). This brings a lot of possibilities for us (the developers) to build and extend the power of アイリ VTuber to the next level, while still leaving the flexibility for users to enable features that require TCP connections or other non-Web technologies such as connecting to a Discord voice channel or playing Minecraft and Factorio with friends.\n\n> [!NOTE]\n>\n> We are still in the early stage of development where we are seeking out talented developers to join us and help us to make アイリ a reality.\n>\n> It's ok if you are not familiar with Vue.js, TypeScript, and devtools required for this project, you can join us as an artist, designer, or even help us to launch our first live stream.\n>\n> Even if you are a big fan of React, Svelte or even Solid, we welcome you. You can open a sub-directory to add features that you want to see in アイリ, or would like to experiment with.\n>\n> Fields (and related projects) that we are looking for:\n>\n> - Live2D modeller\n> - VRM modeller\n> - VRChat avatar designer\n> - Computer Vision\n> - Reinforcement Learning\n> - Speech Recognition\n> - Speech Synthesis\n> - ONNX Runtime\n> - Transformers.js\n> - vLLM\n> - WebGPU\n> - Three.js\n> - WebXR ([checkout the another project](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fchat) we have under the @moeru-ai organization)\n>\n> **If you are interested, why not introduce yourself here? [Would like to join part of us to build AIRI?](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fdiscussions\u002F33)**\n\n## Current Progress\n\nCapable of\n\n- [x] Brain\n  - [x] Play [Minecraft](https:\u002F\u002Fwww.minecraft.net)\n  - [x] Play [Factorio](https:\u002F\u002Fwww.factorio.com) (WIP, but [PoC and demo available](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi-factorio))\n  - [x] Play [Kerbal Space Program](https:\u002F\u002Fwww.kerbalspaceprogram.com\u002F) (announcement TBD)\n  - [ ] Co-play [Helldivers 2](https:\u002F\u002Fwww.playstation.com\u002Fen-hk\u002Fgames\u002Fhelldivers-2\u002Fpc\u002F) (WIP)\n  - [x] Chat in [Telegram](https:\u002F\u002Ftelegram.org)\n  - [x] Chat in [Discord](https:\u002F\u002Fdiscord.com)\n  - [ ] Memory\n    - [x] Pure in-browser database support (DuckDB WASM | `pglite`)\n    - [ ] Memory Alaya (WIP)\n  - [ ] Pure in-browser local (WebGPU) inference\n- [x] Ears\n  - [x] Audio input from browser\n  - [x] Audio input from [Discord](https:\u002F\u002Fdiscord.com)\n  - [x] Client side speech recognition\n  - [x] Client side talking detection\n- [x] Mouth\n  - [x] [ElevenLabs](https:\u002F\u002Felevenlabs.io\u002F) voice synthesis\n- [x] Body\n  - [x] VRM support\n    - [x] Control VRM model\n  - [x] VRM model animations\n    - [x] Auto blink\n    - [x] Auto look at\n    - [x] Idle eye movement\n  - [x] Live2D support\n    - [x] Control Live2D model\n  - [x] Live2D model animations\n    - [x] Auto blink\n    - [x] Auto look at\n    - [x] Idle eye movement\n\n## Development\n\n> For detailed instructions to develop this project, follow [CONTRIBUTING.md](.\u002F.github\u002FCONTRIBUTING.md)\n\n> [!NOTE]\n> By default, `pnpm dev` will start the development server for the Stage Web (browser version). If you would\n> like to try developing the desktop version, please make sure you read [CONTRIBUTING.md](.\u002F.github\u002FCONTRIBUTING.md)\n> to setup the environment correctly.\n\n```shell\npnpm i\npnpm dev\n```\n\n### Stage Web (Browser Version at [airi.moeru.ai](https:\u002F\u002Fairi.moeru.ai))\n\n```shell\npnpm dev\n```\n\n### Stage Tamagotchi (Desktop Version)\n\n```shell\npnpm dev:tamagotchi\n```\n\nA Nix package for Tamagotchi is included. To run airi with Nix, first make sure to enable flakes, then run:\n\n```shell\nnix run github:moeru-ai\u002Fairi\n```\n\n#### NixOS\n\nElectron requires shared libraries that aren't in standard paths on NixOS. Use the FHS shell defined in `flake.nix`:\n\n```shell\nnix develop .#fhs\npnpm dev:tamagotchi\n```\n\n### Stage Pocket (Mobile Version)\n\nStart the development server for the capacitor:\n\n```shell\npnpm dev:pocket:ios --target \u003CDEVICE_ID_OR_SIMULATOR_NAME>\n# Or\nCAPACITOR_DEVICE_ID_IOS=\u003CDEVICE_ID_OR_SIMULATOR_NAME> pnpm dev:pocket:ios\n```\n\nYou can see the list of available devices and simulators by running `pnpm exec cap run ios --list`.\n\nIf you need to connect server channel on pocket in wireless mode, you need to start tamagotchi as root:\n\n```shell\nsudo pnpm dev:tamagotchi\n```\n\nThen enable secure websocket in tamagotchi `settings\u002Fconnections`.\n\n### Documentation Site\n\n```shell\npnpm dev:docs\n```\n\n### Publish\n\nRun `bumpp` to update the monorepo version:\n\n```shell\nnpx bumpp --no-commit --no-tag\n```\n\n## Support of LLM API Providers (powered by [xsai](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fxsai))\n\n- [x] [AIHubMix (recommended)](https:\u002F\u002Faihubmix.com\u002F?aff=OOiX)\n- [x] [OpenRouter](https:\u002F\u002Fopenrouter.ai\u002F)\n- [x] [vLLM](https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm)\n- [x] [SGLang](https:\u002F\u002Fgithub.com\u002Fsgl-project\u002Fsglang)\n- [x] [Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama)\n- [x] [302.AI (sponsored)](https:\u002F\u002Fshare.302.ai\u002F514k2v)\n- [x] [OpenAI](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fgpt\u002Fchat-completions-api)\n  - [x] [Azure OpenAI API](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fopenai\u002Freference)\n- [x] [Anthropic Claude](https:\u002F\u002Fanthropic.com)\n  - [ ] [AWS Claude](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fapi\u002Fclaude-on-amazon-bedrock) (PR welcome)\n- [x] [DeepSeek](https:\u002F\u002Fwww.deepseek.com\u002F)\n- [x] [Qwen](https:\u002F\u002Fhelp.aliyun.com\u002Fdocument_detail\u002F2400395.html)\n- [x] [Google Gemini](https:\u002F\u002Fdevelopers.generativeai.google)\n- [x] [xAI](https:\u002F\u002Fx.ai\u002F)\n- [x] [Groq](https:\u002F\u002Fwow.groq.com\u002F)\n- [x] [Mistral](https:\u002F\u002Fmistral.ai\u002F)\n- [x] [Cloudflare Workers AI](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fworkers-ai\u002F)\n- [x] [Together.ai](https:\u002F\u002Fwww.together.ai\u002F)\n- [x] [Fireworks.ai](https:\u002F\u002Fwww.together.ai\u002F)\n- [x] [Novita](https:\u002F\u002Fwww.novita.ai\u002F)\n- [x] [Zhipu](https:\u002F\u002Fbigmodel.cn)\n- [x] [SiliconFlow](https:\u002F\u002Fcloud.siliconflow.cn\u002Fi\u002FrKXmRobW)\n- [x] [Stepfun](https:\u002F\u002Fplatform.stepfun.com\u002F)\n- [x] [Baichuan](https:\u002F\u002Fplatform.baichuan-ai.com)\n- [x] [Minimax](https:\u002F\u002Fapi.minimax.chat\u002F)\n- [x] [Moonshot AI](https:\u002F\u002Fplatform.moonshot.cn\u002F)\n- [x] [ModelScope](https:\u002F\u002Fmodelscope.cn\u002Fdocs\u002Fmodel-service\u002FAPI-Inference\u002Fintro)\n- [x] [Player2](https:\u002F\u002Fplayer2.game\u002F)\n- [x] [Tencent Cloud](https:\u002F\u002Fcloud.tencent.com\u002Fdocument\u002Fproduct\u002F1729)\n- [ ] [Sparks](https:\u002F\u002Fwww.xfyun.cn\u002Fdoc\u002Fspark\u002FWeb.html) (PR welcome)\n- [ ] [Volcano Engine](https:\u002F\u002Fwww.volcengine.com\u002Fexperience\u002Fark?utm_term=202502dsinvite&ac=DSASUQY5&rc=2QXCA1VI) (PR welcome)\n- [x] [Xiaomi Mimo](https:\u002F\u002Fplatform.xiaomimimo.com)\n\n## Sub-projects Born from This Project\n\n- [Awesome AI VTuber](https:\u002F\u002Fgithub.com\u002Fproj-airi\u002Fawesome-ai-vtuber): A curated list of AI VTubers and related projects\n- [`unspeech`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Funspeech): Universal endpoint proxy server for `\u002Faudio\u002Ftranscriptions` and `\u002Faudio\u002Fspeech`, like LiteLLM but for any ASR and TTS\n- [`hfup`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fhfup): tools to help on deploying, bundling to HuggingFace Spaces\n- [`xsai-transformers`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fxsai-transformers): Experimental [🤗 Transformers.js](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers.js) provider for [xsAI](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fxsai).\n- [WebAI: Realtime Voice Chat](https:\u002F\u002Fgithub.com\u002Fproj-airi\u002Fwebai-realtime-voice-chat): Full example of implementing ChatGPT's realtime voice from scratch with VAD + STT + LLM + TTS.\n- [`@proj-airi\u002Fdrizzle-duckdb-wasm`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Ftree\u002Fmain\u002Fpackages\u002Fdrizzle-duckdb-wasm\u002FREADME.md): Drizzle ORM driver for DuckDB WASM\n- [`@proj-airi\u002Fduckdb-wasm`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Ftree\u002Fmain\u002Fpackages\u002Fduckdb-wasm\u002FREADME.md): Easy to use wrapper for `@duckdb\u002Fduckdb-wasm`\n- [AIRI Factorio](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi-factorio): Allow AIRI to play Factorio.\n- [AIRI DomeKeeper](https:\u002F\u002Fgithub.com\u002Fproj-airi\u002Fgame-playing-ai-dome-keeper): Allow AIRI to play DomeKeeper.\n- [Factorio RCON API](https:\u002F\u002Fgithub.com\u002Fnekomeowww\u002Ffactorio-rcon-api): RESTful API wrapper for Factorio headless server console\n- [`autorio`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi-factorio\u002Ftree\u002Fmain\u002Fpackages\u002Fautorio): Factorio automation library\n- [`tstl-plugin-reload-factorio-mod`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi-factorio\u002Ftree\u002Fmain\u002Fpackages\u002Ftstl-plugin-reload-factorio-mod): Reload Factorio mod when developing\n- [Velin](https:\u002F\u002Fgithub.com\u002Fluoling8192\u002Fvelin): Use Vue SFC and Markdown to write easy to manage stateful prompts for LLM\n- [`demodel`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fdemodel): Easily boost the speed of pulling your models and datasets from various of inference runtimes.\n- [`inventory`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Finventory): Centralized model catalog and default provider configurations backend service\n- [MCP Launcher](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fmcp-launcher): Easy to use MCP builder & launcher for all possible MCP servers, just like Ollama for models!\n- [🥺 SAD](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fsad): Documentation and notes for self-host and browser running LLMs.\n\n```mermaid\n%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%\n\nflowchart TD\n  Core(\"Core\")\n  Unspeech(\"unspeech\")\n  DBDriver(\"@proj-airi\u002Fdrizzle-duckdb-wasm\")\n  MemoryDriver(\"[WIP] Memory Alaya\")\n  DB1(\"@proj-airi\u002Fduckdb-wasm\")\n  SVRT(\"@proj-airi\u002Fserver-runtime\")\n  Memory(\"Memory\")\n  STT(\"STT\")\n  Stage(\"Stage\")\n  StageUI(\"@proj-airi\u002Fstage-ui\")\n  UI(\"@proj-airi\u002Fui\")\n\n  subgraph AIRI\n    DB1 --> DBDriver --> MemoryDriver --> Memory --> Core\n    UI --> StageUI --> Stage --> Core\n    Core --> STT\n    Core --> SVRT\n  end\n\n  subgraph UI_Components\n    UI --> StageUI\n    UITransitions(\"@proj-airi\u002Fui-transitions\") --> StageUI\n    UILoadingScreens(\"@proj-airi\u002Fui-loading-screens\") --> StageUI\n    FontCJK(\"@proj-airi\u002Ffont-cjkfonts-allseto\") --> StageUI\n    FontXiaolai(\"@proj-airi\u002Ffont-xiaolai\") --> StageUI\n  end\n\n  subgraph Apps\n    Stage --> StageWeb(\"@proj-airi\u002Fstage-web\")\n    Stage --> StageTamagotchi(\"@proj-airi\u002Fstage-tamagotchi\")\n    Core --> RealtimeAudio(\"@proj-airi\u002Frealtime-audio\")\n    Core --> PromptEngineering(\"@proj-airi\u002Fplayground-prompt-engineering\")\n  end\n\n  subgraph Server_Components\n    Core --> ServerSDK(\"@proj-airi\u002Fserver-sdk\")\n    ServerShared(\"@proj-airi\u002Fserver-shared\") --> SVRT\n    ServerShared --> ServerSDK\n  end\n\n  STT -->|Speaking| Unspeech\n  SVRT -->|Playing Factorio| F_AGENT\n  SVRT -->|Playing Minecraft| MC_AGENT\n\n  subgraph Factorio_Agent\n    F_AGENT(\"Factorio Agent\")\n    F_API(\"Factorio RCON API\")\n    factorio-server(\"factorio-server\")\n    F_MOD1(\"autorio\")\n\n    F_AGENT --> F_API -.-> factorio-server\n    F_MOD1 -.-> factorio-server\n  end\n\n  subgraph Minecraft_Agent\n    MC_AGENT(\"Minecraft Agent\")\n    Mineflayer(\"Mineflayer\")\n    minecraft-server(\"minecraft-server\")\n\n    MC_AGENT --> Mineflayer -.-> minecraft-server\n  end\n\n  XSAI(\"xsAI\") --> Core\n  XSAI --> F_AGENT\n  XSAI --> MC_AGENT\n\n  Memory_PGVector(\"@proj-airi\u002Fmemory-pgvector\") --> Memory\n\n  style Core fill:#f9d4d4,stroke:#333,stroke-width:1px\n  style AIRI fill:#fcf7f7,stroke:#333,stroke-width:1px\n  style UI fill:#d4f9d4,stroke:#333,stroke-width:1px\n  style Stage fill:#d4f9d4,stroke:#333,stroke-width:1px\n  style UI_Components fill:#d4f9d4,stroke:#333,stroke-width:1px\n  style Server_Components fill:#d4e6f9,stroke:#333,stroke-width:1px\n  style Apps fill:#d4d4f9,stroke:#333,stroke-width:1px\n  style Factorio_Agent fill:#f9d4f2,stroke:#333,stroke-width:1px\n  style Minecraft_Agent fill:#f9d4f2,stroke:#333,stroke-width:1px\n\n  style DBDriver fill:#f9f9d4,stroke:#333,stroke-width:1px\n  style MemoryDriver fill:#f9f9d4,stroke:#333,stroke-width:1px\n  style DB1 fill:#f9f9d4,stroke:#333,stroke-width:1px\n  style Memory fill:#f9f9d4,stroke:#333,stroke-width:1px\n  style Memory_PGVector fill:#f9f9d4,stroke:#333,stroke-width:1px\n```\n\n## Similar Projects\n\n### Open sourced ones\n\n- [kimjammer\u002FNeuro: A recreation of Neuro-Sama originally created in 7 days.](https:\u002F\u002Fgithub.com\u002Fkimjammer\u002FNeuro): very well completed implementation.\n- [SugarcaneDefender\u002Fz-waif](https:\u002F\u002Fgithub.com\u002FSugarcaneDefender\u002Fz-waif): Great at gaming, autonomous, and prompt engineering\n- [semperai\u002Famica](https:\u002F\u002Fgithub.com\u002Fsemperai\u002Famica\u002F): Great at VRM, WebXR\n- [elizaOS\u002Feliza](https:\u002F\u002Fgithub.com\u002FelizaOS\u002Feliza): Great examples and software engineering on how to integrate agent into various of systems and APIs\n- [ardha27\u002FAI-Waifu-Vtuber](https:\u002F\u002Fgithub.com\u002Fardha27\u002FAI-Waifu-Vtuber): Great about Twitch API integrations\n- [InsanityLabs\u002FAIVTuber](https:\u002F\u002Fgithub.com\u002FInsanityLabs\u002FAIVTuber): Nice UI and UX\n- [IRedDragonICY\u002Fvixevia](https:\u002F\u002Fgithub.com\u002FIRedDragonICY\u002Fvixevia)\n- [t41372\u002FOpen-LLM-VTuber](https:\u002F\u002Fgithub.com\u002Ft41372\u002FOpen-LLM-VTuber)\n- [PeterH0323\u002FStreamer-Sales](https:\u002F\u002Fgithub.com\u002FPeterH0323\u002FStreamer-Sales)\n\n### Non-open-sourced ones\n\n- https:\u002F\u002Fclips.twitch.tv\u002FWanderingCaringDeerDxCat-Qt55xtiGDSoNmDDr https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8Giv5mupJNE\n- https:\u002F\u002Fclips.twitch.tv\u002FTriangularAthleticBunnySoonerLater-SXpBk1dFso21VcWD\n- https:\u002F\u002Fwww.youtube.com\u002F@NOWA_Mirai\n\n## Project Status\n\n![Repobeats analytics image](https:\u002F\u002Frepobeats.axiom.co\u002Fapi\u002Fembed\u002Fa1d6fe2c13ea2bb53a5154435a71e2431f70c2ee.svg 'Repobeats analytics image')\n\n## Acknowledgements\n\n- [Reka UI](https:\u002F\u002Fgithub.com\u002Funovue\u002Freka-ui): for designing the documentation site, the new landing page is based on this, as well as implementing a massive amount of UI components. (shadcn-vue is using Reka UI as the headless, do checkout!)\n- [pixiv\u002FChatVRM](https:\u002F\u002Fgithub.com\u002Fpixiv\u002FChatVRM)\n- [josephrocca\u002FChatVRM-js: A JS conversion\u002Fadaptation of parts of the ChatVRM (TypeScript) code for standalone use in OpenCharacters and elsewhere](https:\u002F\u002Fgithub.com\u002Fjosephrocca\u002FChatVRM-js)\n- Design of UI and style was inspired by [Cookard](https:\u002F\u002Fstore.steampowered.com\u002Fapp\u002F2919650\u002FCookard\u002F), [UNBEATABLE](https:\u002F\u002Fstore.steampowered.com\u002Fapp\u002F2240620\u002FUNBEATABLE\u002F), and [Sensei! I like you so much!](https:\u002F\u002Fstore.steampowered.com\u002Fapp\u002F2957700\u002F_\u002F), and artworks of [Ayame by Mercedes Bazan](https:\u002F\u002Fdribbble.com\u002Fshots\u002F22157656-Ayame) with [Wish by Mercedes Bazan](https:\u002F\u002Fdribbble.com\u002Fshots\u002F24501019-Wish)\n- [mallorbc\u002Fwhisper_mic](https:\u002F\u002Fgithub.com\u002Fmallorbc\u002Fwhisper_mic)\n- [`xsai`](https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fxsai): Implemented a decent amount of packages to interact with LLMs and models, like [Vercel AI SDK](https:\u002F\u002Fsdk.vercel.ai\u002F) but way small.\n\n## Supporters\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Thank you for supporting Project AIRI through OpenCollective, Patreon, and Ko-fi.\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fdocs\u002Fcontent\u002Fpublic\u002Fassets\u002Fsponsors\u002Fsponsors.svg\" alt=\"Project AIRI supporters\" \u002F>\n\u003C\u002Fp>\n\n## Special Thanks\n\nSpecial thanks to all contributors for their contributions to Project AIRI ❤️\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmoeru-ai\u002Fairi\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=moeru-ai\u002Fairi\" \u002F>\n\u003C\u002Fa>\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fstar-history.com\u002F#moeru-ai\u002Fairi&Date\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=moeru-ai\u002Fairi&type=Date&theme=dark\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=moeru-ai\u002Fairi&type=Date\" \u002F>\n    \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=moeru-ai\u002Fairi&type=Date\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n","Project AIRI 是一个自托管的AI伴侣项目，旨在创建类似于Neuro-sama的虚拟角色，并将这些角色带入现实生活。它支持实时语音聊天、Minecraft和Factorio游戏互动等功能，采用Live2D与VRM技术呈现生动的角色形象。该项目使用TypeScript编写，确保了跨平台兼容性，支持Web、macOS及Windows系统。适用于希望拥有个性化AI伙伴或虚拟主播的用户，以及对开发智能数字生命感兴趣的开发者。",2,"2026-06-11 02:42:57","top_all"]