Talking to a voice model today often feels like speaking into a well-lit void. The answers can be sharp, the TTS can sound human, and still something is missing: there is no presence on the desk. No glance when the model starts. No small gesture when a thought lands. Just a waveform, a chat log, or a black window that happens to speak.
That gap is why we built AVATAR — an open-source desktop companion from ARPA Hellenic Logical Systems that puts a VRM character on your screen, moves it with VRMA motion, and lipsyncs to live audio. It is not another chatbot. It is a thin, local-first presenter: your agents, tools, and listening habits stay yours; AVATAR gives them a body to occupy while you work.
What AVATAR actually is
AVATAR runs primarily as an Electron transparent, always-on-top overlay on Windows. You drag a glass bar to move it, pin it over your IDE or browser, and let it follow sound from system output, a chosen app window, the mic, or a file. Bundled sample characters get you started; Settings → Directories points at your own .vrm and environment folders; optional VRoid Hub (bring-your-own OAuth) loads link-only characters for the session. Preferences live in a plain config.yaml. Contributors can also run the Vite app in the browser for UI and VRM work — the full companion experience is the desktop shell.
Under the hood it is deliberately boring in the best way: standard VRM / VRMA, Three.js, no mandatory cloud avatar SaaS. If your audio is local, the companion can stay local.
Who it is for (beyond “AI users”)
People wiring local LLMs, voice pipelines, or agent stacks are an obvious audience — a face next to Ollama, a TTS demo, or a custom loopback makes the system feel finished instead of experimental.
It is also useful when the “agent” is not an agent at all:
- Streamers and educators who want a reactive mascot without a full VTuber stack
- Students and deep-work folks who leave a podcast, lecture, or language track running and want something that listens with them
- Accessibility and presence experiments — a soft visual cue that audio is alive, without staring at a spectrogram
- VRoid / VRM creators testing how a model reads as an always-on overlay, Hub character, or custom folder drop-in
- Researchers and tool builders who need a real desktop surface for lip sync, motion triggers, and “what does this feel like on a desk?”
Same app; different reasons to keep it pinned.
What v0.7.0 brings
v0.7.0 is less “new product” and more “the companion grows teeth for motion.” You can point Directories at a folder of your own .vrma clips. A validated stage command layer now owns play/set paths so triggers share one surface. Motion Deck (Settings → Motion) lets you shortlist gestures, bind keys, and fire a clip once without stealing the Animations selection you were looping — useful for streamers, demos, and anyone tired of opening Gear mid-conversation. Environment pickers got lighter (posters instead of hauling full GIFs into every thumb), and production builds keep trial custom/ media out of the installer by default.
None of that replaces the core loop — overlay, audio, VRM — it makes the loop easier to drive from the keyboard and from whatever comes next (local buses, keyword maps, richer expression work).
How to start, on any setup you already have
Windows, no Node: grab the installer from the v0.7.0 release — AVATAR-Setup-0.7.0.exe. Accept the EULA, launch, pick audio, leave it on top of whatever you already use.
From source (desktop):
git clone https://github.com/ARPAHLS/avatar.git
cd avatar/avatar
npm install
npm run desktop
Contributors / UI sandbox: npm run dev → http://localhost:5173 (browser; system loopback and overlay chrome stay Electron-only).
Docs live in the repo (Using the app, installation). Source, issues, and changelog: ARPAHLS/avatar. MIT-licensed; cite via CITATION.cff if you use it in research.
Voice models will keep getting better. The interesting question is whether they still sound like they are speaking from nowhere. AVATAR is our answer on the desk: open source, local-first, and finally a face for the things you already listen to.



Top comments (0)