AIRI: The Open-Source “Soul Container” Trying to Turn AI Into a Digital Being

A monorepo for embodied companions, where one TypeScript core can wear different bodies, speak with a cloned voice, and step into worlds like Minecraft.

12 min read • View on GitHub • More from moeru-ai

A translucent core hovers at the center while three different bodies surround it: a desktop window, a phone, and a browser frame. Thin conduits connect the same core to each shell, with a tiny microphone and game world off to the side. The image explains AIRI's central idea that identity stays stable while the stage changes.
AIRI treats the agent as something portable. The body can change. The soul stays put.
Key Takeaways

AIRI is easiest to misunderstand if you treat it like another AI companion. The repo is aiming at something stranger: a self-hosted digital being with a stable identity, multiple bodies, and enough modality to speak, see, and act in the world.

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.

moeru-ai/airi GitHub Repository, Project Description · moeru-ai/airi README

That phrase, "container of souls," is doing a lot of work. It suggests that the model is only one layer in the stack, and that the real product is the continuity between memory, persona, voice, and body. AIRI is not trying to win on prompts alone. It is trying to make the agent feel inhabitant-like.

Why AIRI Feels Less Like an App and More Like a Body

The project is built around embodiment. The README frames AIRI as a way to own a "digital life" that can exist "anywhere, anytime," and the codebase reflects that ambition in its surface area: avatar rendering, speech, game interaction, web delivery, and desktop packaging all sit in the same repository.

Perhaps you know Neuro-sama 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. Therefore, this project, AIRI, offers another possibility here: let you own your digital life, cyber living, easily, anywhere, anytime.

moeru-ai/airi GitHub Repository, README · moeru-ai/airi README

That is the core thesis. AIRI is not a chatbot wrapped in a cute shell. It is an attempt to make companionship persistent and user-owned, with the model, the interface, and the runtime shaped as one system instead of separate products.

The Stage Abstraction: One Soul, Many Bodies

The repo's architecture makes the metaphor concrete. AIRI splits the experience into stages such as stage-web, stage-tamagotchi, and stage-pocket. The point is simple and powerful: the same core identity can inhabit different environments without being rewritten for each one.

One identity, several bodies. AIRI keeps the core portable and lets the stage decide how it appears and what it can touch.

StageWhat it gives the agentWhy it matters
WebBrowser access, portability, and lower-friction onboardingFastest path to trying the companion
DesktopNative integrations and richer rendering through ElectronBest fit for persistent presence and local control
MobilePocketable access to the same identityTurns companionship into something ambient

This is what makes the project feel less like product skews and more like an identity system. The body changes. The agent does not.

The Repo Teaches the Agent How to Use Itself

The most unusual layer lives under .agents/skills/. These are not just docs for humans. They look like context material for the agent itself, a way to inject library knowledge, conventions, and environment constraints into the system that is supposed to act inside the repo.

An open mechanical desk drawer labeled .agents/skills contains index cards, manuals, and tool guides. A robotic hand pulls out one card while a code editor glows beside it. The image explains how AIRI stores useful operational knowledge inside the repository so the agent can retrieve it when needed.
The repo does not just define the agent. It also teaches it how to work in its own environment.

That is the aha moment. AIRI is trying to be self-aware in a practical sense, not a philosophical one. If the agent needs to update a Vue component, handle a CLI pattern, or respect a package convention, the knowledge is already co-located with the code.

.agents/skills/
  vueuse-functions/SKILL.md
  unocss/SKILL.md
  pnpm/SKILL.md
  ...

In a normal repository, documentation explains the system to the developer. Here, documentation also appears to be part of the system's working memory. That is a small but consequential shift.

Brain, Ears, Mouth, Body

AIRI's multi-modal loop is the real engineering story. It takes in speech, visual context, and environment signals. It then routes those through reasoning, memory, and policy before producing voice, animation, and game-world actions.

The repository's labels and docs make this explicit. Audio, vision, voice synthesis, avatar control, and Minecraft bot behavior are treated as pieces of one pipeline. That matters because the product only works if each part stays synchronized under real-time pressure.

Why TypeScript, Electron, and Web Tech Are the Point

The stack choices are strategic. TypeScript lets the project share types across the core experience, UI, and bot-like services. Electron gives the desktop stage room to feel native enough for an always-on companion. Web tech keeps the system reachable from the browser and easier to compose across surfaces.

ChoiceWhat it optimizesWhat it costs
TypeScript monorepoShared contracts across stages and toolsMore surface area to keep consistent
Electron desktop stageCross-platform presence and native integrationsOverhead compared with a pure native client
Web-first runtimeLow-friction access and portabilityLess direct control over hardware

That tradeoff is the point. AIRI is willing to pay complexity in order to keep the core portable. The repo is betting that a companion is more valuable when it can move between browser, desktop, and mobile without becoming a different character in each place.

The Competitive Set Is Not What AIRI Is Really Competing With

The obvious comparison is chat companions like Character.ai or SillyTavern. Those products are strong at conversation and roleplay, but AIRI is aiming at a broader surface area: embodiment, voice, visual presence, and game-world agency. It is also closer in spirit to open-source VTuber tooling than to a simple chatbot.

CategoryTypical focusWhere AIRI differs
Chat companionsConversation and personaAIRI pushes into body, voice, and action
VTuber toolingAvatar presence and stream controlAIRI couples the avatar to a persistent agent core
AIRI's own stagesOne identity across surfacesThe same soul moves across web, desktop, and mobile

That last comparison is the most important. AIRI is not just competing with other projects. It is competing with the assumption that an AI companion has to live in one interface, one window, or one channel.

The Real Constraint Is Orchestration

The hard part is not finding a model. It is keeping everything aligned. Voice, memory, perception, avatar state, and external action all have to move together fast enough that the companion feels coherent instead of stitched together.

That is why AIRI is interesting even before every subsystem matures. It treats companionship as a systems problem, not a prompt problem. And that means the real work is coordination: a body that reacts, a voice that lands, a memory that persists, and a core identity that survives the move from one stage to the next.