v0.8.1-beta.4

moeru-ai/airiv0.8.1-beta.4Jan 8, 2026by nekomeowww

AI Summary

A major feature release integrating MediaPipe for motion capture, adding the Satori Protocol Adapter, and establishing a new Hono-based API server with character schema management.

Key Highlights

  • Integrated MediaPipe as a motion capture tool.
  • Introduced Satori Protocol Adapter for satori-bot.
  • Launched new API server with Hono, character schema, and routes.
  • Added character settings page and V2 provider catalog.
  • Included Map and weather widgets for tamagotchi.

New Features

  • MediaPipe integration for motion capture
  • Satori Protocol Adapter
  • API server with Hono and character schema
  • Character settings page
  • Map and weather widgets

Full Release Notes

## New Contributors

* @taxi13245 made their first contribution in https://github.com/moeru-ai/airi/pull/856
* @TECozens made their first contribution in https://github.com/moeru-ai/airi/pull/859
* @shangxueink made their first contribution in https://github.com/moeru-ai/airi/pull/873

## Installation

### macOS

> [!TIP]
> For macOS users, currently Apple requires all installed App to have code sign validated with Apple servers, 
> while we are working hard for enrolling the Apple Developer Program for correct code signing, this error message may be prompted
> > Apple could not verify “AIRI.app” is free of malware that may harm your Mac or compromise your privacy.
> 
> <img width="260" height="243" alt="image" src="https://github.com/user-attachments/assets/ee48e445-8ecb-4e64-a41e-0cc0126fc0c6" />
> 
> In such case, you can always bypass this by issuing this following command in Terminal.app or iTerm2.app
> ```shell
> sudo xattr -c '/Applications/airi.app'
> ```

### Windows

Download and install.

### Linux

<details>
<summary>Flatpak (x86_64, x64, amd64)</summary>

```shell
wget https://github.com/moeru-ai/airi/releases/download/v0.8.0/AIRI-0.8.1-beta.4-linux-x64.flatpak
flatpak install -u AIRI-0.8.1-beta.4-linux-x64.flatpak
rm -rf AIRI-0.8.1-beta.4-linux-x64.flatpak
```

</details>

<details>
<summary>Flatpak (aarch64, arm64)</summary>

```shell
wget https://github.com/moeru-ai/airi/releases/download/v0.8.0/AIRI-0.8.1-beta.4-linux-arm64.flatpak
flatpak install -u AIRI-0.8.1-beta.4-linux-arm64.flatpak
rm -rf AIRI-0.8.1-beta.4-linux-arm64.flatpak
```

</details>

<details>
<summary>Debian / Ubuntu / <code>apt</code> / <code>dpkg</code> (x86_64, x64, amd64)</summary>

```shell
wget https://github.com/moeru-ai/airi/releases/download/v0.8.0/AIRI-0.8.1-beta.4-linux-amd64.deb
sudo apt install AIRI-0.8.1-beta.4-linux-amd64.deb
rm -rf AIRI-0.8.1-beta.4-linux-amd64.deb
```

</details>

<details>
<summary>Debian / Ubuntu / <code>apt</code> / <code>dpkg</code> (aarch64, arm64)</summary>

```shell
wget https://github.com/moeru-ai/airi/releases/download/v0.8.0/AIRI-0.8.1-beta.4-linux-arm64.deb
sudo apt install AIRI-0.8.1-beta.4-linux-arm64.deb
rm -rf AIRI-0.8.1-beta.4-linux-arm64.deb
```

</details>

<details>
<summary>Fedora / <code>rpm</code> / <code>dnf</code> (x86_64, x64, amd64)</summary>

```shell
wget https://github.com/moeru-ai/airi/releases/download/v0.8.0/AIRI-0.8.1-beta.4-linux-x86_64.rpm
sudo dnf install AIRI-0.8.1-beta.4-linux-x86_64.rpm
rm -rf AIRI-0.8.1-beta.4-linux-x86_64.rpm
```

</details>

<details>
<summary>Fedora / <code>rpm</code> / <code>dnf</code> (aarch64, arm64)</summary>

```shell
wget https://github.com/moeru-ai/airi/releases/download/v0.8.0/AIRI-0.8.1-beta.4-linux-aarch64.rpm
sudo dnf install AIRI-0.8.1-beta.4-linux-aarch64.rpm
rm -rf AIRI-0.8.1-beta.4-linux-aarch64.rpm
```

</details>

### 🚀 Features

- **ci**:
  - Lint swift code - by @LemonNekoGH [<samp>(f40b9)</samp>](https://github.com/moeru-ai/airi/commit/f40b9bcd)
- **docs**:
  - Japanese translated & minor issues fixed - by @Neko-233 in https://github.com/moeru-ai/airi/issues/865 [<samp>(b5c6a)</samp>](https://github.com/moeru-ai/airi/commit/b5c6ab58)
- **model-driver-mediapipe**:
  - Integrate MediaPipe as a motion capture tool - by @Lilia-Chen in https://github.com/moeru-ai/airi/issues/828 [<samp>(ecd5e)</samp>](https://github.com/moeru-ai/airi/commit/ecd5eee1)
- **satori-bot**:
  - Integrate Satori Protocol Adapter - by @shangxueink in https://github.com/moeru-ai/airi/issues/873 [<samp>(ad086)</samp>](https://github.com/moeru-ai/airi/commit/ad086535)
- **server**:
  - With api server, service-lize - by @luoling8192, @nekomeowww and @Neko-233 in https://github.com/moeru-ai/airi/issues/807 [<samp>(d064a)</samp>](https://github.com/moeru-ai/airi/commit/d064a959)
  - Hono server with character schema, valibot, routes - by @luoling8192 and @nekomeowww in https://github.com/moeru-ai/airi/issues/848 [<samp>(3dbf3)</samp>](https://github.com/moeru-ai/airi/commit/3dbf3faf)
  - Characters - by @luoling8192 in https://github.com/moeru-ai/airi/issues/882 [<samp>(93467)</samp>](https://github.com/moeru-ai/airi/commit/9346708c)
  - `system_provider_configs` and `character_covers` - by @luoling8192 in https://github.com/moeru-ai/airi/issues/905 [<samp>(371a0)</samp>](https://github.com/moeru-ai/airi/commit/371a0b10)
- **stage-***:
  - V2 provider catalog for managing providers - by @nekomeowww [<samp>(c1984)</samp>](https://github.com/moeru-ai/airi/commit/c1984806)
  - Migrated all openai compatible api providers - by @nekomeowww [<samp>(d1a1e)</samp>](https://github.com/moeru-ai/airi/commit/d1a1ef73)
  - Process spark:notify & emitting spark:command - by @nekomeowww [<samp>(17b0b)</samp>](https://github.com/moeru-ai/airi/commit/17b0bd54)
  - Performance overlay & markdown stress test - by @s3d-i in https://github.com/moeru-ai/airi/issues/838 [<samp>(9005b)</samp>](https://github.com/moeru-ai/airi/commit/9005b9f4)
- **stage-capacitor**:
  - Add notification capability, and a devtool - by @LemonNekoGH in https://github.com/moeru-ai/airi/issues/855 [<samp>(3936c)</samp>](https://github.com/moeru-ai/airi/commit/3936c0ea)
- **stage-capcitor**:
  - Added Capacitor of stage for iOS - by @LemonNekoGH in https://github.com/moeru-ai/airi/issues/845 [<samp>(beb55)</samp>](https://github.com/moeru-ai/airi/commit/beb559df)
- **stage-pages**:
  - Add `spark:notify` to context flow devtool - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/903 [<samp>(8ee9c)</samp>](https://github.com/moeru-ai/airi/commit/8ee9c26f)
- **stage-pages,stage-ui,ui**:
  - Character list for v2 - by @nekomeowww [<samp>(3f4fd)</samp>](https://github.com/moeru-ai/airi/commit/3f4fde48)
- **stage-pocket**:
  - Add a layered app icon set for liquid glass - by @sumimakito [<samp>(5296e)</samp>](https://github.com/moeru-ai/airi/commit/5296e263)
- **stage-tamagotchi**:
  - Improved weather widget - by @nekomeowww [<samp>(51b91)</samp>](https://github.com/moeru-ai/airi/commit/51b91b8e)
  - Debugger for inlay window, supported to setVibrancy & setBackgroundMaterial - by @nekomeowww [<samp>(d7e4d)</samp>](https://github.com/moeru-ai/airi/commit/d7e4d098)
  - Use vibrancy hud for window widget, improved background - by @nekomeowww [<samp>(aa85b)</samp>](https://github.com/moeru-ai/airi/commit/aa85b41b)
  - Added Map widget for demo - by @nekomeowww [<samp>(27313)</samp>](https://github.com/moeru-ai/airi/commit/27313d8e)
- **stage-ui**:
  - With sorted for providers - by @nekomeowww [<samp>(52d42)</samp>](https://github.com/moeru-ai/airi/commit/52d42ce3)
  - Shuffle idle motions for Live2D model - by @shinohara-rin and @nekomeowww in https://github.com/moeru-ai/airi/issues/820 [<samp>(4e553)</samp>](https://github.com/moeru-ai/airi/commit/4e553b7a)
  - Character settings page - by @luoling8192 in https://github.com/moeru-ai/airi/issues/847 [<samp>(ddde5)</samp>](https://github.com/moeru-ai/airi/commit/ddde54d2)
  - Shuffle idle motions for Live2D model ", closes #881 - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/820 and https://github.com/moeru-ai/airi/issues/881 [<samp>(d5604)</samp>](https://github.com/moeru-ai/airi/commit/d5604d5a)
  - Process for reasoning models - by @TECozens in https://github.com/moeru-ai/airi/issues/859 [<samp>(1f58f)</samp>](https://github.com/moeru-ai/airi/commit/1f58faaf)
- **stage-ui,i18n**:
  - Added Japanese as language option - by @taxi13245 in https://github.com/moeru-ai/airi/issues/856 [<samp>(60c91)</samp>](https://github.com/moeru-ai/airi/commit/60c91755)
- **stage-ui,stage-pages,i18n**:
  - Add support for deepgram tts - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/858 [<samp>(1f6db)</samp>](https://github.com/moeru-ai/airi/commit/1f6db311)
- **stage-ui,stage-ui-three**:
  - Support fade on hover for three - by @nekomeowww [<samp>(bd9d5)</samp>](https://github.com/moeru-ai/airi/commit/bd9d5be2)
- **stage-ui-three**:
  - Support loading three as preview cover of model - by @nekomeowww [<samp>(0ef11)</samp>](https://github.com/moeru-ai/airi/commit/0ef110aa)

### 🐞 Bug Fixes

- Replace lint-staged with nano-staged - by @sumimakito in https://github.com/moeru-ai/airi/issues/874 [<samp>(7043f)</samp>](https://github.com/moeru-ai/airi/commit/7043ff7a)
- **ci**:
  - Swiftlint actions template - by @LemonNekoGH [<samp>(26f64)</samp>](https://github.com/moeru-ai/airi/commit/26f64270)
  - Swiftlint download arch - by @LemonNekoGH [<samp>(11ac9)</samp>](https://github.com/moeru-ai/airi/commit/11ac91da)
  - Unzip swiftlint download - by @LemonNekoGH [<samp>(4a672)</samp>](https://github.com/moeru-ai/airi/commit/4a672ca1)
- **docs**:
  - Should count any range between Jan & Dec - by @nekomeowww [<samp>(64eb6)</samp>](https://github.com/moeru-ai/airi/commit/64eb6682)
  - Continue to fix Christmas time check - by @nekomeowww [<samp>(37878)</samp>](https://github.com/moeru-ai/airi/commit/37878307)
  - Remove hardcoded condition in Home.vue - by @Neko-233 in https://github.com/moeru-ai/airi/issues/877 [<samp>(9fd30)</samp>](https://github.com/moeru-ai/airi/commit/9fd3005c)
  - Incorrect translation for docs - by @Neko-233 in https://github.com/moeru-ai/airi/issues/901 [<samp>(c111f)</samp>](https://github.com/moeru-ai/airi/commit/c111f2af)
- **persistence**:
  - Guard parsing errors and preserve falsy configs - by @s3d-i in https://github.com/moeru-ai/airi/issues/850 [<samp>(d2b20)</samp>](https://github.com/moeru-ai/airi/commit/d2b20659)
  - Guard parsing errors and preserve falsy configs - by @s3d-i in https://github.com/moeru-ai/airi/issues/850 [<samp>(cb754)</samp>](https://github.com/moeru-ai/airi/commit/cb754e40)
- **server**:
  - Docker-compose fix - by @nekomeowww [<samp>(8cbdb)</samp>](https://github.com/moeru-ai/airi/commit/8cbdb6be)
  - Dockerfile & railway fix - by @nekomeowww [<samp>(ca45b)</samp>](https://github.com/moeru-ai/airi/commit/ca45b0df)
  - Database with duplicated index - by @nekomeowww [<samp>(ba77b)</samp>](https://github.com/moeru-ai/airi/commit/ba77b9e7)
  - Patches should be copied - by @nekomeowww [<samp>(98342)</samp>](https://github.com/moeru-ai/airi/commit/9834252d)
  - Incorrect path used for copied patches - by @nekomeowww [<samp>(20a6f)</samp>](https://github.com/moeru-ai/airi/commit/20a6f613)
- **server,stage-web**:
  - Auth & rename - by @nekomeowww [<samp>(fab6c)</samp>](https://github.com/moeru-ai/airi/commit/fab6c201)
- **stage-capacitor,stage-web**:
  - Remove unused code - by @nekomeowww [<samp>(70530)</samp>](https://github.com/moeru-ai/airi/commit/705307bc)
- **stage-ios**:
  - Use https when live reload - by @LemonNekoGH in https://github.com/moeru-ai/airi/issues/853 [<samp>(7f3a9)</samp>](https://github.com/moeru-ai/airi/commit/7f3a90d4)
- **stage-layouts**:
  - Improve mobile view control UI/UX - by @nekomeowww [<samp>(47098)</samp>](https://github.com/moeru-ai/airi/commit/47098e29)
  - Should peserve blur for background - by @nekomeowww [<samp>(f3661)</samp>](https://github.com/moeru-ai/airi/commit/f3661f89)
  - Use cameradistance for VRM scaling - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/895 [<samp>(cdf27)</samp>](https://github.com/moeru-ai/airi/commit/cdf27880)
- **stage-pages**:
  - Missing stage-ui-three and stage-ui-live2d - by @nekomeowww [<samp>(c2756)</samp>](https://github.com/moeru-ai/airi/commit/c2756ff4)
- **stage-pocket**:
  - Linter issues, create swiftlint config - by @LemonNekoGH [<samp>(ad874)</samp>](https://github.com/moeru-ai/airi/commit/ad874fec)
- **stage-tamagotchi**:
  - Ignore EADDRINUSE and ERR_SERVER_NOT_RUNNING, srvx doesn't correctly handle nodejs error - by @nekomeowww [<samp>(ff43b)</samp>](https://github.com/moeru-ai/airi/commit/ff43b3cd)
  - Should not reject directly due to checkForUpdates() error - by @nekomeowww [<samp>(a9f9b)</samp>](https://github.com/moeru-ai/airi/commit/a9f9b735)
  - Ignore EADDRINUSE and ERR_SERVER_NOT_RUNNING, srvx doesn't correctly handle nodejs error - by @nekomeowww [<samp>(d1cd1)</samp>](https://github.com/moeru-ai/airi/commit/d1cd15af)
  - Should not reject directly due to checkForUpdates() error - by @nekomeowww [<samp>(95c9e)</samp>](https://github.com/moeru-ai/airi/commit/95c9e193)
  - Missing config for app auto updater - by @nekomeowww [<samp>(23a96)</samp>](https://github.com/moeru-ai/airi/commit/23a96ad7)
  - Scrollbar appear & rounded corner & windows tested - by @nekomeowww [<samp>(4199b)</samp>](https://github.com/moeru-ai/airi/commit/4199b541)
  - Layout issue for notice windows - by @nekomeowww [<samp>(880cf)</samp>](https://github.com/moeru-ai/airi/commit/880cfd03)
- **stage-ui**:
  - Should not reject due to server-sdk connection failed - by @nekomeowww [<samp>(f3a24)</samp>](https://github.com/moeru-ai/airi/commit/f3a2451e)
  - Should not reject due to server-sdk connection failed - by @nekomeowww [<samp>(3bd66)</samp>](https://github.com/moeru-ai/airi/commit/3bd664cb)
  - New intializer will block until server connected successfully - by @nekomeowww [<samp>(a9ece)</samp>](https://github.com/moeru-ai/airi/commit/a9ecea51)
  - SelectedMotionGroup can be empty string - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/870 [<samp>(8b03c)</samp>](https://github.com/moeru-ai/airi/commit/8b03c8f0)
  - Model selector in mobile overlaps - by @nekomeowww [<samp>(3a97d)</samp>](https://github.com/moeru-ai/airi/commit/3a97d8d1)
  - Handle error for live2d - by @nekomeowww [<samp>(49b68)</samp>](https://github.com/moeru-ai/airi/commit/49b680ab)
  - Unused destructured - by @nekomeowww [<samp>(ef439)</samp>](https://github.com/moeru-ai/airi/commit/ef4390ab)
  - Character orchestrator should have prompts - by @nekomeowww [<samp>(0cde8)</samp>](https://github.com/moeru-ai/airi/commit/0cde81d2)
  - Add required fields and correct tool index in `character-orchestrator.test.ts` - by @shinohara-rin [<samp>(c69ef)</samp>](https://github.com/moeru-ai/airi/commit/c69efa6f)
  - Incorrect import - by @nekomeowww [<samp>(5c221)</samp>](https://github.com/moeru-ai/airi/commit/5c2218dd)
  - Import type issue - by @nekomeowww [<samp>(58c38)</samp>](https://github.com/moeru-ai/airi/commit/58c38e43)
  - Fix provider credentials change detection - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/910 [<samp>(b22ac)</samp>](https://github.com/moeru-ai/airi/commit/b22acdba)
  - Fix placeholder check logic - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/898 and https://github.com/moeru-ai/airi/issues/909 [<samp>(462f5)</samp>](https://github.com/moeru-ai/airi/commit/462f5741)
  - Fix notify agent toolcall - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/908 [<samp>(bdea0)</samp>](https://github.com/moeru-ai/airi/commit/bdea0749)
- **stage-ui,stage-ui-three**:
  - Resolve tamagotchi VRM loading screen hang on startup - by @shinohara-rin in https://github.com/moeru-ai/airi/issues/904 [<samp>(4f047)</samp>](https://github.com/moeru-ai/airi/commit/4f0477a2)
- **stage-web**:
  - Ignore *.task as they are too large for HF Space - by @nekomeowww [<samp>(8d485)</samp>](https://github.com/moeru-ai/airi/commit/8d4855c5)
- **ui**:
  - Color jittering - by @gg582 in https://github.com/moeru-ai/airi/issues/899 [<samp>(18391)</samp>](https://github.com/moeru-ai/airi/commit/18391ef3)
  - Should not use text-nowrap - by @nekomeowww [<samp>(35ca2)</samp>](https://github.com/moeru-ai/airi/commit/35ca227f)
  - Missing rename of import - by @nekomeowww [<samp>(f074d)</samp>](https://github.com/moeru-ai/airi/commit/f074d85e)
  - Incorrect import - by @nekomeowww [<samp>(58397)</samp>](https://github.com/moeru-ai/airi/commit/583973ad)

##### [View changes on GitHub](https://github.com/moeru-ai/airi/compare/v0.8.1-beta.2...v0.8.1-beta.4)