github moeru-ai/airi v0.12.0

pre-release3 hours ago

v0.12.0 Highlights

This is the first stable release of the 0.12 line. It collects everything since v0.11.3: new avatar formats, a rebuilt voice pipeline, tool calls you can actually read, desktop computer use, and a lot of reliability work. The desktop app is also much smaller now. The macOS download dropped from about 870 MB to about 530 MB.

Important

The update bug is fixed in v0.12.0, but your current version still runs the old updater.

  • macOS and Linux: after "Download Update", you can see an error such as ditto: … No such file or directory, or "Restart" can > do nothing. Quit AIRI from the tray menu (or press Cmd+Q on macOS), wait about 10 seconds, then open it again. The update installs when the app quits. Closing the window is not enough. On Linux, a password prompt can appear.
  • Windows: updates work as usual.
  • If the version did not change after you reopen AIRI, download the installer from this page.
  • 0.12.0 beta and nightly users: your update lane follows beta releases. Open Settings → About and set the update lane to Stable, or download the installer from this page.
  • v0.9.0 and earlier: download the installer from this page.

New Contributors

Product updates

AIRI now reads formulas aloud like a teacher 🧮

Ask AIRI about physics, chemistry, or money, and the reply now sounds right.

  • TeX formulas, chemical equations, units, and prices are read as natural words in Chinese, English, Japanese, and Korean. For example, a fraction is read as a fraction and a derivative is read as a derivative, not as a stream of backslashes and braces.
  • AIRI reads the formula the same way it shows it on screen, so what you hear matches what you see.
  • Markdown symbols such as **, #, and list markers are no longer read aloud.
  • In our evaluation with the official voice, correctly spoken formulas went from 70% to 94%.

Characters and Stage

  • Desktop ver. now supports MMD models. You can import motions and adjust physics, gaze, lip sync, expressions, and materials.
  • Desktop ver. now supports Tachie archives that switch complete character images to match emotions.
  • You can now pick the MAGIC driver for Live2D to get Neuro-sama-like motion (aka the Neuro bump), with bundled idle and speaking profiles that keep lip sync and eye contact.1
  • Live2D controls now belong to each character, so every character keeps its own motion and expression settings. Live2D expressions also show up in settings.
  • VRM characters react when you click their heads, arms, hands, or feet. You can cap the VRM frame rate to save power, and VRM expressions blend without fighting each other.
  • Live2D imports now show a report before import that lists missing files and how to fix them. ZIP files from macOS, CJK paths, and older filename encodings all import correctly.
  • A comic-style presence bubble beside the character shows when it is thinking, so you can tell a slow reply from a stuck one.
  • If a model fails to render, the Stage shows a clear error and stays usable.

Voice

  • Wake words. Each character can have its own wake word, stored with its character card. Say it, and AIRI starts listening. An end-of-speech judge decides when you are done, so a short pause no longer cuts you off.
  • Push to Talk is available, and the voice input button now lives in the chat composer on desktop, web, and mobile.
  • Live transcripts. A redesigned voice inlay shows your words as you speak, and fades in rewrites as they arrive. A chat model can clean up the transcript before it is sent. Voice messages appear as a compact waveform bubble that shows up at once, even while the transcript is still coming.
  • Speaker recognition. You can enroll your voice so AIRI can tell who is speaking.
  • New speech recognition options: Sherpaw runs on-device across apps, and Apple Speech gives on-device transcription on macOS 26 or later with no API key.
  • New speech output options: VOICEVOX Engine, AivisSpeech Engine, and MiniMax Speech. You can also mute voice output or stop all current speech from the Controls Island.
  • Hearing settings are split into clear pages, and status capsules show at a glance whether AIRI is listening and whether you are signed in.
  • Voice activity detection now runs off the main thread, so the Stage stays smoother while the microphone is on. Audio meters also use less CPU.
  • Spoken replies keep emoji, accented letters, and spacing intact, and AIRI no longer reads a stray < or & as the start of a tag.

Chat

  • Tool calls are readable now. Each call shows a combo pill with an icon that the model picks, what the tool does, and why the model used it. Results can appear as widgets, for example a weather forecast card. Tool calls also stream to other windows as they happen.
  • Images. You can send images in chat on web and desktop. Models with vision see them directly, and other models get a description. Several images are analyzed at the same time.
  • Skills, long-term memory, and background tasks. Your character can follow reusable skills, remember facts across conversations, and run longer tasks in the background while you keep chatting. You can see and stop open tasks from the chat.
  • Emotion stickers. Characters can reply with stickers that match their mood. You can import your own stickers and tag them by emotion in Settings → Modules → Stickers. Stickers are off by default.
  • More reliable replies. If a provider has a short outage or rate limit, AIRI now retries by itself instead of failing the turn. You can stop a reply while it streams, and several chats can run at the same time.
  • Web search works with the official provider by default.
  • Each chat stays with its own character: replies, tools, and model settings follow the character of that chat, even when you switch characters in another window.
  • When you are signed in, the character knows your nickname.
  • You can swipe a message to reply to it, and swipe a conversation to delete it.
  • Messages show readable times, and long conversations stay responsive.
  • You can now set temperature and top_p yourself. They stay off unless you turn them on.

Desktop ver.

  • Computer use. The character can operate your desktop through AUV when you allow it.
  • Floating chat. A chat window can float beside the character. Try the danmaku style, which scrolls replies across the screen and can hide messages you already read.
  • Home Assistant. The character can control your smart home, but only the devices you choose.
  • Remote MCP servers over streamable HTTP now work alongside local ones.
  • Clicks pass through empty areas of the Stage, and the Controls Island hides while your cursor is away.
  • You can run AIRI from the tray only, without a Dock or taskbar icon.
  • macOS gets native glass chat backgrounds, and every app gets a system theme option.
  • New splash and loading screens make startup feel calmer.
  • If the main window ends up off-screen, for example after you unplug a monitor, AIRI brings it back.
  • The Experimental Features page lets you try character card cloud sync, model cloud sync, and a fullscreen workspace. All of them are off by default.
  • AIRI can relay conversations to a connected Minecraft bot and read its supported speech aloud.
  • AIRI starts on Linux ARM64, and behaves better on Wayland.

Mobile ver.

  • The mobile layout was reworked: a simpler Stage control bar, a view adjustment mode, a character volume control, and a settings drawer.
  • You can long-press the message input and drag it up to dock it as a compact bubble.
  • The software keyboard no longer hides, shifts, or closes the chat input unexpectedly on iOS and Android.
  • Sign-in opens in the system browser on iOS and Android, then returns you to AIRI.
  • Mobile ver. has a permission panel, clearer onboarding, and Android microphone selection.

Character cards

  • The character card editor now opens full screen, so long descriptions and prompts have room to breathe.
  • The built-in character speaks the language you chose during onboarding.

Accounts, Cloud, and providers

  • AIRI Cloud now shows account notifications. Flux pricing is public, the subscription store shows your quota and refill details, and TTS usage in your billing history is grouped by chat round.
  • You can sign in with Steam or Apple.
  • Account deletion now asks for a recent sign-in and revokes linked social accounts.
  • New providers: the browser Prompt API, API Route, and Apple Vision.
  • You can use the OpenAI Responses API with your own API key.
  • Tool use works with more providers, including OpenAI strict mode. Thinking can be turned on from one model option for supported models.
  • DeepSeek applies its reasoning mode correctly, and Volcengine Coding Plan lists current models.
  • Provider setup recovers better, and validation status persists between launches. The web and mobile composers guide you to set up a chat provider when you have none.

Languages

  • AIRI now speaks Thai, and the missing strings in other languages are filled in.

Bug fixes

  • Updates. Clicking "Download Update" once could download and install twice, then fail with a ditto error on macOS. "Restart" could also do nothing. Both are fixed in this version, so your next update installs with one click.
  • Startup. A provider settings loop could leave AIRI loading forever. Chat now reliably creates or restores a session at startup.
  • Desktop local server. On macOS and Windows, v0.12.0-beta.3 and beta.4 could get stuck on "Loading..." because the local server failed to start. This is fixed.
  • Desktop windows. One action could run once per open window, for example opening a folder several times or restarting MCP twice. Each action now runs once.
  • Upgrades. The Stage model you picked in an older version could reset after an upgrade. Your choice now carries over to your character.
  • Data. Chats, character card drafts, and models stay intact during edits, and chat state stays consistent across windows.
  • Speech. Whisper and Kokoro no longer get stuck after an error or after you stop speech.
  • Live2D. Avatars stay smooth in long sessions, and lip sync keeps working during MAGIC motion.
  • Flatpak and Nix. These builds no longer offer in-app updates. Your package manager handles updates.
  • Many smaller fixes across mobile keyboards, scrolling, provider cards, and the Controls Island.

To developers

  • @proj-airi/better-ws is now published, so @proj-airi/server-sdk installs cleanly.
  • @proj-airi/server-runtime gives each port to one listener and no longer requests reusePort.
  • The plugin host can import extensions from folders, and it has combined lifecycle controls and an activation planner.
  • Provider definitions can load settings schemas, onboarding fields, validators, and runtime instances asynchronously.
  • The CCv3 codec accepts older and newer cards and keeps unknown fields.
  • Hosted chat WebSockets expose versioned Eventa contracts. Version 2 authenticates after connection and limits payload size.
  • The hosted API adds a stateless Responses gateway, optional S3 object storage, and Redis Streams account events.

To contributors

  • Use Node.js 26.7.0 and pnpm 11.24.0. The repository pins both in .tool-versions and packageManager.
  • Workspace tests run through Turbo, and Vitest browser projects run headlessly in CI.
  • The desktop app bundles its pure JS dependencies into the main bundle, and two builds of one commit now give the same output. pnpm -F @proj-airi/stage-tamagotchi check:reproducible-build checks it.
  • A new IO tracer collects spans from every window, from the wake word to playback.
  • Category labels and PR review handoff are automated, and the Android release workflow uses setup-android v4.
  • New internal gamepad packages support browser controllers and the PS5 DualSense.

Full Changelog: v0.11.3...v0.12.0

Footnotes

  1. MAGIC stands for Markovian Animation Generator with Illusory Conditioning. ↩

Don't miss a new airi release

NewReleases is sending notifications on new releases.