ActivePythonGemini LiveYOLOv8VRChatOSC

Project Gabriel

Remastered

Full rebuild of Gabriel, the Indian guy in VRChat. Real-time voice streaming through Gemini Live, tracks people with YOLOv8, wanders around on his own, remembers conversations, and has a Discord bot running a separate Gemini session.

The plugin side of this setup lives in the separate Project Gabriel Plugins repo, which adds drop-in tools, TTS and STT hooks, chatbox hooks, and persistent plugin state without touching the core AI code. The reference repo includes diary, mood, duo song, and MIDI band modules that extend Gabriel without rewriting the host.

Open sourced on April 4, 2026. This is the version that actually runs Gabriel in VRChat right now.

What it does

Gabriel is a live AI that hangs out in VRChat. This is the 2026 rebuild from scratch. Same concept as the original but way more features, cleaner code, and a lot more stable. He walks around worlds, talks to people, remembers who they are, and has his own personality system.

Everything runs through a supervisor that auto-restarts on crashes. There's a web dashboard for monitoring, a Discord bot with its own Gemini session, and a bunch of tools the AI can use like web search, music, soundboard, and VRChat API stuff. The plugin system is the other big part of the project, letting Gabriel grow through small drop-in modules instead of one giant core.


Plugin system reference

The separate plugins repo is the best reference point for how Remastered expands beyond the core AI. It can register Gemini function-calling tools, add chatbox sources, hook startup and shutdown events, and keep its own data under data/plugins/<name>/.

Diary

Summarizes recent VRChat sessions into a first-person diary with read/search tools.

Mood

Adds persistent emotion and intensity so the AI can keep a stable tone across sessions.

Duo Song

Lets two Gabriel instances sing a synced LAN duet with shared playback controls.

MIDI Band

Turns multiple Gabriel instances into a live band with MIDI track assignment and synchronized playback.

If you want the live reference, open Project Gabriel Plugins or the GitHub repo for the plugin system.


What's new vs the original

The original was getting messy and hard to maintain. This version is a full rewrite with a cleaner architecture. Added face tracking, Discord integration, switchable personalities, autonomous wandering, emotion animations, and proper context window compression so sessions can run as long as you want.


Capabilities

Gemini Live

Real-time bidirectional audio streaming. Session resumption and context compression for unlimited session length.

Tracking

YOLOv8 for person tracking and a separate YOLOv8-face model for faces. Follows people around worlds.

VRChat

OSC for movement, gestures, chatbox, and emotions. REST API for avatar switching, friend info, and world search.

Memory

Persistent memory backed by MongoDB Atlas or SQLite. Remembers people and past conversations across sessions.

Discord Bot

Runs its own separate Gemini Live session. Can chat in Discord channels independently from the VRChat side.

Plugins

Drop-in modules from Project Gabriel Plugins add Gemini tools, lifecycle hooks, TTS and STT extensions, and persistent state without rewriting the host AI.

Extra Stuff

Web dashboard, switchable personalities, autonomous wandering, multiple TTS providers (Gemini, Qwen3, Chirp 3 HD), API key rotation, soundboard, music.


Getting started

Once the repo is public, just clone and run the setup script. It grabs uv, creates a venv, installs everything, and copies the config files. You'll need a Gemini API key and two virtual audio cables.

# Install and run
setup.bat
# Start
run.bat