airiCore ExperiencesDesktop Companion

Why a Desktop Companion?

Many AI chatbots live in browsers or messaging apps. AIRI is different: it lives with you on the desktop, visible and reactive like a friendly pet. This creates a constant sense of presence without interrupting your workflow.

What You Experience

  • Always-On Presence: A transparent, frameless window shows your 2D/3D avatar sitting anywhere on the screen.
  • Click-Through Magic: Move the cursor away and the window lets clicks pass to apps beneath. Hover back and AIRI wakes up, ready to interact.
  • Gaze Tracking: The character’s eyes follow your mouse, making the AI feel attentive.
  • Quick Actions on Hover: Subtle buttons appear near the avatar edge—open chat, toggle settings, or drag to move the pet.
  • Voice & Text Chat: Talk naturally—voice detection captures your speech only when you speak. Alternatively, pop open the chat window for typing.

Result: An AI friend that is present yet never blocks your work, turning everyday computer use into a lightly gamified experience.

How It Works

  1. Frameless Window: The desktop app launches a border-less window that can be transparent. The avatar is rendered in WebGL (Live2D or Three.js VRM).
  2. Pixel Sampling for Transparency: Every ~33 ms the app checks the RGBA value of the pixel under the cursor. If the avatar isn’t under the pointer (alpha < threshold), a tiny Rust plugin tells the OS to ignore mouse events in that area.
  3. Global Mouse Feed: A companion plugin streams global mouse coordinates to the frontend so gaze tracking and click-through logic stay perfectly in sync.
  4. Reactive UI Reveal: Vue reactivity toggles the visibility of hover buttons and status overlays. Utility-first CSS keeps visual noise low.
  5. Voice Loop Integration: When you speak, local VAD/STT plugs into the same UI, displaying waveform or loading bars on a small “Resource Status Island.”

Diagram:

Power Features for Power Users

FeatureHow to EnableWhy You Might Want It
Move ModePress Ctrl + Cmd + M (macOS) or Ctrl + Alt + M (Windows)Drag the avatar to a new spot
Resize ModeCtrl + Cmd + RMake the pet larger or smaller
Dynamic Hue ThemeToggle in Settings → AppearanceAvatar background subtly changes colour over time
Click-Through ThresholdAdjust slider in Settings → InteractionFine-tune transparency sensitivity for different model edges

Accessibility & Performance Notes

  • The app uses hardware-accelerated rendering; CPU impact is minimal (less than 3% on typical laptops).
  • All voice processing can run locally; no conversation audio leaves your device unless you choose a cloud STT provider.
  • High-contrast mode and reduced-motion settings are respected via OS accessibility prefs.

Functional RoleCode FileDescription
Main Companion Pageapps/stage-tamagotchi/src/pages/index.vueHosts avatar canvas, gaze tracking, and hover UI
Click-Through Window Plugin (Rust)crates/tauri-plugin-window-pass-through-on-hover/src/lib.rsEnables / disables OS-level mouse event ignoring
Global Mouse Plugin (Rust)crates/tauri-plugin-rdev/src/lib.rsStreams system-wide mouse events to Vue
Gaze Tracking Storepackages/stage-ui/src/stores/live2d.ts, packages/stage-ui/src/stores/vrm.tsUpdates model eye look-at based on mouse
Hover Button Componentapps/stage-tamagotchi/src/components/HoverButtons.vueShows chat/settings buttons only on hover