xikhar/persona

Bringing real-time voice to life.

What it solves

Persona provides a visual identity for voice-based AI assistants on the desktop. It solves the problem of having a "invisible" voice interaction by creating a real-time, expressive 3D character avatar that reacts to audio output from other applications, making the interaction feel more embodied and present.

How it works

Persona is a cross-platform desktop application that listens to the system's audio output (via PipeWire on Linux, WASAPI on Windows, and Core Audio on macOS) to detect when an AI assistant is speaking. It uses .vrm and .vrma files to render a 3D character that performs "Idle" and "Speaking" animations based on that audio activity. It can be integrated with AI agents via a Model Context Protocol (MCP) server, allowing agents to trigger specific custom animations or control the avatar's visibility.

Who it’s for

Users who want a visual companion for their local or cloud-based voice AI stacks, and developers building AI agents who want to provide their users with a tangible, expressive visual presence on the desktop.

Highlights

  • Cross-platform support: Works on Windows, macOS, and Linux.
  • Audio-reactive: Automatically detects voice output from selected processes to trigger speaking animations.
  • MCP Integration: Allows connected AI agents to trigger specific animations and report on the avatar's status.
  • Customizable Avatars: Supports importing custom .vrm models and .vrma animations.
  • Desktop Pet behavior: Includes a "click-through" mode where the avatar floats over other windows without blocking interaction.
  • Cursor Tracking: The character's eyes and head can track the mouse pointer.

Related

  • Project
  • Project
  • Project
  • Project
  • Project