A companion with a body and many connections
Airi is trying to build the sort of persistent virtual character usually seen in AI VTuber demonstrations. The character can listen through a microphone, speak through several synthesis providers, and appear as a Live2D or VRM model with blinking, gaze, idle motion, and expressions. Language-model support spans hosted APIs and compatible local servers such as Ollama, vLLM, and SGLang.
The project reaches beyond conversation. Its repository includes Telegram and Discord bots, Minecraft and Factorio work, a desktop companion, a browser stage, a mobile app, server packages, audio pipelines, and a plugin system under development. This makes Airi interesting as a character platform. It also means a person wanting one chat window is buying a lot of unrelated machinery.
The main README is in English, with maintained links to Chinese, Japanese, Russian, Vietnamese, French, and Korean versions. Packaged desktop releases are available, and a browser version lets prospective users see the stage without building the monorepo. That is the sensible first trial because source development is a much larger commitment.
What happened when we ran it
We cloned commit d5742db into an unprivileged Debian container with 3 CPUs and 8 GB of RAM. The checkout contained 5,200 files, about 394,897 lines of source, and occupied 589.5 MB. Installing with pnpm succeeded in 213 seconds. It added 2,839 packages and used 4,781 MB on disk.
The build failed after 45 seconds with exit code 129. Turbo completed 29 tasks out of 33 and reported that the @proj-airi/stage-tamagotchi build command exited 129. The ui-server-auth task had transformed 3,762 modules before its process also exited 129, and Turbo warned that another auth-server task produced no output files. The supplied tail does not explain the exit code, so there is no evidence for a more specific cause.
Tests ran for 119 seconds. Vitest reported 1,436 passing tests, 12 failures, and 1 skipped test out of 1,449, plus one error. The displayed failures all came from 12 cases in @proj-airi/better-ws's src/index.test.ts. A server test printed an EADDRINUSE scenario and another log line came from an extension-host error fixture, but the supplied summary does not connect either line to the failed cases.
The repository has 29 CI workflow files and colocates tests beside source rather than keeping a top-level tests directory. Our result is therefore one concrete snapshot: installation worked, while the aggregate build and test commands did not finish cleanly at that commit.
The product path is easier than the contributor path
Most users should start with the current desktop release or browser stage. Airi v0.11.3, released on July 18, 2026, added desktop voice input, improved microphone permissions, character-card packages, and fixes around authentication and production assets. Windows users can install through winget or Scoop, and macOS users have a Homebrew cask.
Getting useful conversation still requires choices. You need a language-model provider, an OpenAI-compatible endpoint, or a local server such as Ollama. Speech recognition and synthesis have their own provider and local options. Avatar use requires a compatible model, while Discord, Telegram, Minecraft, and Factorio integrations each bring separate configuration. Airi offers the pieces, but it cannot choose a privacy, cost, and latency tradeoff for you.
Contributor setup asks for Node.js 23 or newer, Corepack, and pnpm. Desktop work adds Rust and operating-system libraries. The monorepo's package count reflects how many surfaces share code: stage UI, model drivers, audio, servers, bots, plugins, docs, and native shells all live together. A focused change can still trigger a wide dependency and test graph.
The unfinished parts matter
The README calls Airi early-stage. Its roadmap marks pure browser-local WebGPU inference and the Memory Alaya system as unfinished. Factorio has a proof of concept, while some game goals remain works in progress. The plugin system is also described as work in progress. These labels are useful boundaries, especially when the project's presentation can make the companion look more complete than its underlying platform.
Open issues show interface churn in practical places. One August 25 report says the published server SDK cannot install because its better-ws dependency is absent from npm. Another documents external text events being dropped on the first connection until the stage reconnects, with a proposed fix under review. A separate current report concerns a black screen on the second app launch. These are specific reasons to test the exact client, provider, and integration path you plan to use.
Health and the decision
Airi was pushed on August 25, 2026, a little over a month after v0.11.3. Current pull requests cover transcription, Wayland behavior, VRM emotions, voice design, provider compatibility, analytics, and server fixes. The combined GitHub count includes issues and pull requests, and the recent queue shows active development rather than a dormant backlog.
Use Airi if an animated, voiced character that can cross into desktop apps, chat services, and games is the point. Its ambition is backed by real applications and releases, though the platform is still changing quickly. For straightforward character roleplay, SillyTavern is easier to justify. For Airi, begin with one avatar and one provider, verify voice and restart behavior, and expand only after that path is dependable.

