RepoDaily · 2026-07-15 · Infrastructure / Runtime

Project AIRI: A Self-Hosted Runtime for AI VTuber Companions

#10 Infrastructure / Runtime TypeScript +604 moeru-ai/airi Open repository

A MIT-licensed TypeScript monorepo that ships realtime voice chat, Minecraft, Tamagotchi, and desktop stages for self-hosted virtual characters—packaged as installers and a pnpm-driven app workspace.

Repo typeInfrastructure / Runtime
Best forHobbyists and small studios that want a self-hosted VTuber/AI companion runtime they can run on desktop, mobile, or their own server, with voice chat and game integrations.
Risk levelMedium — pre-1.0 monorepo (v0.11.0 in package.json, v0.10.2 release binaries) with broad surface area across many packages.
Time to evaluate1–2 hours to download a release binary and run the web stage; 2–4 hours to clone and run the monorepo dev workspace with pnpm.

Primary question: Does AIRI's stage-based monorepo architecture fit the deployment target you actually need—desktop, browser, mobile, Tamagotchi hardware, or a game server?

91/100

RepoDaily adoption score

RepoDaily rates this as 91/100 (strong) for adoption: evidence, installation path, production risk, differentiation, license clarity, and AI/agent fit are scored from the article sources and adoption notes.

Directional score from RepoDaily sources and adoption notes, not a benchmark.Risk: Medium
100Evidence quality

4 source(s) across 4 source category/categories, plus a RepoDaily-specific evidence module when available.

100Installability

6 workflow step(s), 5 next-action step(s), and 5 command/install signal(s) were detected.

65Maintenance confidence

Trending momentum is +604 stars, with maintenance/release/issue signals counted when present.

93Production readiness

Risk is marked medium, with 5 security note(s) and 4 explicit skip condition(s).

100Differentiation

3 opportunity lens item(s), 4 alternative(s), and 4 type-specific section(s) support differentiation.

82License clarity

License source or license wording is present.

84Agent / AI fit

6 AI/agent-related signal(s) were detected in the article text and metadata.

Project overview

Project AIRI is a TypeScript monorerepo maintained by the Moeru AI Project AIRI Team. The repository at github.com/moeru-ai/airi builds on the stated goal of re-creating Neuro-sama—described in the README as 'a soul container of AI waifu / virtual characters to bring them into our world.' The project markets itself as a self-hosted, you-owned companion runtime, and the package.json description labels it 'LLM powered virtual character.'

The repository is structured as a pnpm workspace with turbo orchestration. The root package.json declares version 0.11.0, uses pnpm@10.33.0 as its package manager, and defines separate dev commands for multiple stages: stage-web, stage-ui, stage-pocket (iOS and Android), stage-tamagotchi, and server-runtime. Release binaries at version v0.10.2 are linked from the README for Windows x64 and macOS darwin-arm64, which means you can try a prebuilt build without touching the monorepo.

AIRI sits in the Infrastructure / Runtime category because the project is not a single chatbot—it is a multi-stage platform with an auth server (ui-server-auth), a runtime server (server-runtime), audio pipelines (audio-pipelines-transcribe), a visual shot runtime (vishot-runtime), and scenario runners for the Tamagotchi stage. The MIT license and monorepo layout lower the barrier for contributors, but the breadth of packages also raises the learning curve for anyone who wants to customize behavior rather than just run a prebuilt build.

Problem it solves

  • Running a compelling AI VTuber companion normally requires stitching together speech-to-text, LLM inference, text-to-speech, a live avatar, and a chat UI—each as a separate moving part.
  • Hosted companion services put voice recordings, chat transcripts, and character configuration under someone else's control, which is a concern for users who treat a virtual character as personal data.
  • Integrating a companion into games like Minecraft, or running it on Tamagotchi-style hardware, usually means writing bespoke glue code that is hard to reuse across projects.
  • Mobile and desktop delivery of such companions is fragmented across platforms, requiring different toolchains for iOS, Android, Windows, and macOS.

How it works

  1. Pick a stage: the monorepo exposes stage-web for browser use, stage-tamagotchi for embedded-style hardware, stage-pocket for iOS and Android, and server-runtime for headless operation.
  2. Install dependencies with pnpm@10.33.0; the postinstall hook runs simple-git-hooks and pnpm run build:packages, which builds everything under packages/ via turbo.
  3. Run the dev script that matches your target—pnpm dev launches stage-web, while pnpm dev:server, pnpm dev:tamagotchi, pnpm dev:pocket:ios, and pnpm dev:pocket:android target other stages.
  4. Wire in LLM and voice providers; the audio-pipelines-transcribe package and vishot-runtime are part of the pipeline that turns microphone input into transcribed text and then into a spoken, on-model response.
  5. Optionally deploy server-runtime and ui-server-auth if you want a multi-client setup where several front ends connect to a shared backend.
  6. Distribute via release binaries for end users, or build from source with turbo run build scoped to apps/*, packages/*, or engines/* as needed.

Architecture Read: How the AIRI Monorepo Is Laid Out

AIRI is organized as a pnpm workspace with turbo orchestration. The root package.json is scoped as @proj-airi/root and is marked private, version 0.11.0, with packageManager set to pnpm@10.33.0. The build pipeline uses turbo run build with filters that scope work to ./packages/*, ./apps/*, and ./engines/*.

Named stages correspond to deployable targets. stage-web is the browser front end, stage-ui hosts Storybook-style UI development, stage-pocket targets iOS and Android via dev:pocket:ios and dev:pocket:android, stage-tamagotchi targets the Tamagotchi stage with an xwayland variant, and server-runtime plus ui-server-auth provide the backend.

Supporting packages include audio-pipelines-transcribe (speech-to-text with its own vitest config), vishot-runtime (a visual shot runtime, also with a dedicated vitest config), and scenarios-stage-tamagotchi-electron, which the capture:tamagotchi script uses with a demo-controls-settings-chat-websocket scenario file to produce screenshot artifacts. This layout tells you where to look when you need to modify a specific capability.

Try-It Path: From Release Binary to Monorepo Dev

  • Fastest path: download AIRI-0.10.2-windows-x64-setup.exe or AIRI-0.10.2-darwin-arm64.dmg from the GitHub releases linked in the README.
  • Trial path without installing: visit airi.moeru.ai, which the README links as 'Try it.'
  • Developer path: clone the repo, ensure pnpm@10.33.0 is available, run pnpm install (which triggers postinstall to build packages), then run pnpm dev for the web stage.
  • Docs path: run pnpm dev:docs to serve the documentation site locally via the @proj-airi/docs workspace.
  • Storybook path for UI contributors: run pnpm dev:ui, which starts story:dev for the @proj-airi/stage-ui workspace.

Integration Surface: What You Plug Into and Extend

AIRI's integration surface is stage-based. If you want a browser companion, you extend stage-web. If you want a desktop Tamagotchi experience, you work in stage-tamagotchi, which also has an xwayland mode surfaced via dev:tamagotchi:xwayland for Linux-specific display handling.

Voice and perception flow through audio-pipelines-transcribe, and the visual shot layer is handled by vishot-runtime. Scenario authors can use the scenarios-stage-tamagotchi-electron package, with the capture:tamagotchi script pointing at a demo-controls-settings-chat-websocket.ts scenario file as an example of how scenarios are structured.

Backend integrations go through server-runtime and ui-server-auth, which let you run AIRI as a service rather than only as a desktop or browser app. This is the surface you would target if you wanted to connect multiple clients, or run the companion inside a game server such as the Minecraft integration referenced in the project description.

Maintenance Risk: What to Watch Before Adopting

  • Version skew: package.json is at 0.11.0 while the README release buttons point at v0.10.2 binaries—confirm which line you are tracking before deploying.
  • Broad package surface: the monorepo spans apps, packages, engines, and docs, so breaking changes in one workspace can ripple; turbo caching helps but does not eliminate this.
  • Toolchain sensitivity: the project pins pnpm@10.33.0 and uses catalog: references for many devDependencies, so reproducibility depends on keeping the pnpm workspace catalog in sync.
  • Pre-1.0 maturity: all packages are below 1.0, which means APIs and scenario file formats (such as demo-controls-settings-chat-websocket.ts) can change between releases.

Who should pay attention?

Good fit if

  • Hobbyists who want a self-hosted VTuber/AI companion they fully own, and who are comfortable with pnpm and TypeScript.
  • Indie developers exploring realtime voice chat, Minecraft integration, or Tamagotchi-style hardware stages using a real codebase rather than starting from zero.
  • Small teams that need a MIT-licensed base to fork, because the LICENSE file grants broad permission including modification and sublicensing.
  • Contributors who want a monorepo with clear stage boundaries, turbo orchestration, and dedicated vitest configs for audio and visual packages.

Skip for now if

  • Production deployments that require a stable, semver-locked 1.0+ API—AIRI is still pre-1.0.
  • Teams that need a single, narrowly scoped library rather than a multi-stage runtime platform.
  • Users without a Node.js/pnpm toolchain who also cannot use the v0.10.2 release binaries for their target platform.
  • Projects with strict change-management requirements that cannot tolerate a fast-moving monorepo with many interdependent workspaces.

Risks and cautions

Medium

AIRI is a promising, actively iterated monorepo with prebuilt binaries and a clear stage-based architecture, but its pre-1.0 version, broad package surface, and toolchain sensitivity require careful evaluation before production use.

  • package.json declares 0.11.0 while README release buttons reference v0.10.2 binaries, creating a version-tracking obligation for adopters.
  • The monorepo spans many workspaces (apps, packages, engines, docs, scenarios), which increases the chance of cross-package breakage during upgrades.
  • Reproducibility depends on pnpm@10.33.0 and catalog: dependency references; drift in the catalog can change resolved versions silently.
  • Some stages, such as stage-pocket for iOS/Android and stage-tamagotchi:xwayland, imply platform-specific knowledge that not every team has in-house.
  • The LICENSE file is MIT, dated 2024-PRESENT and attributed to Neko Ayaka, which permits use, modification, and sublicensing with no additional restrictions beyond retaining the notice.
  • ui-server-auth is a dedicated workspace for authentication, which suggests auth concerns are isolated rather than scattered across stages—review it before exposing server-runtime to the internet.
  • Realtime voice chat implies microphone capture and transcription through audio-pipelines-transcribe; confirm where transcripts and audio are stored in your deployment.
  • The postinstall hook runs simple-git-hooks and pnpm run build:packages, which executes code on install—standard for a monorepo but worth noting for supply-chain review.
  • No explicit security policy URL appears in the README; use the repository's issue tracker and Discord for vulnerability reports.

Alternatives to compare

ApproachWhen to useTrade-off
Neuro-sama (Vedal987)
When you want a reference for what an AI VTuber can be at scale, without needing a self-hostable codebase.Not open source; observe only.
Open-Source LLM VTuber Frontends (generic category)
When you want a lighter-weight browser-only companion and do not need the Tamagotchi, pocket, or Minecraft stages AIRI ships.Varies; usually MIT or Apache licensed.
Hosted AI Companion SaaS (generic category)
When you want zero infrastructure and are comfortable with a vendor holding your character and conversation data.Subscription; data is not self-hosted.
When you only need voice in/out and want to build your own avatar stack from primitives.Metered API usage.

What this trend reveals

Game-Integrated Companions

The README description explicitly mentions Minecraft, and AIRI's server-runtime stage is the right place to wire a companion into a game server. Indie game developers can use AIRI as a base rather than building voice, chat, and avatar plumbing from scratch.

Confirm by inspecting server-runtime and any Minecraft-specific scenario files in the monorepo, and by checking the README for the Minecraft reference.

Tamagotchi-Style Hardware Peripherals

stage-tamagotchi, including its xwayland variant, targets embedded-style hardware. Hardware makers looking for a companion runtime that runs on small displays and touch inputs can fork this stage.

Run pnpm dev:tamagotchi and pnpm dev:tamagotchi:xwayland, and read packages under stage-tamagotchi and scenarios-stage-tamagotchi-electron.

Cross-Platform Mobile Companion

stage-pocket with dev:pocket:ios and dev:pocket:android gives mobile-first teams a TypeScript starting point for an iOS and Android companion app, which is rare in the VTuber companion space.

Open the stage-pocket workspace and run the pocket dev scripts listed in package.json to see what mobile platforms are targeted.

Best next action

Run a Release Binary, Then Clone the Monorepo

Start with the lowest-friction path to confirm AIRI works on your machine, then move to the monorepo only if you need to customize a stage.

  1. Download AIRI-0.10.2-windows-x64-setup.exe or AIRI-0.10.2-darwin-arm64.dmg from the GitHub releases linked in the README.
  2. Alternatively, visit airi.moeru.ai to try the hosted instance before installing anything.
  3. If you need customization, clone the repo and install pnpm@10.33.0.
  4. Run pnpm install (postinstall will build packages), then pnpm dev for the web stage.
  5. Identify the stage that matches your deployment target (web, tamagotchi, pocket, server-runtime) and read its workspace before writing code.

RepoDaily verdict

Project AIRI is one of the more ambitious self-hosted AI companion runtimes on GitHub: a MIT-licensed, pnpm-and-turbo TypeScript monorepo with prebuilt desktop binaries, web, mobile, Tamagotchi, and server stages, and dedicated audio and visual pipelines. The breadth is the main risk—pre-1.0 versioning, a wide package surface, and toolchain sensitivity mean you should evaluate it against a specific stage rather than the whole platform at once.

Sources