Releases: HoppouAI/ProjectGabriel-Remastered
Releases · HoppouAI/ProjectGabriel-Remastered
Release list
v2.0.1
v2.0.1
Small follow up to 2.0.0. Headline change is a brand new plugin
installer TUI so you no longer have to copy folders by hand. Everything
else is exploration / mapping fixes, the friend request tools, and a
full README rewrite.
Plugin installer
- New
plugins.batlauncher andplugin_installer.pyentry point.
Opens a full screen TUI that pulls the live plugin list from
HoppouAI/ProjectGabriel-Plugins,
shows what's installed + flags updates, and one keypress installs the
folder plus runsbin\uv.exe pip installfor any deps. PressLfor
a local folder,Gfor a custom fork,Rto uninstall. - API version warning in the picker when a plugin targets a newer
plugin API than your host can handle.
VRChat / tracker
- Tracker actually sprints now when the player gets away. Sprint area
threshold engages sooner, forward axis pushed to 1.0 while sprinting
(was capped at 0.7 so we were "sprinting" at walking pace), plus
hysteresis around the area boundary so it doesnt flicker on/off. - New friend request tools:
sendFriendRequest,acceptFriendRequest,
declineFriendRequest,listPendingFriendRequests. Checks current
friend status first so we dont spam already-friends or already-pending
users. - Idle chatbox now shows live mapping stats (world + voxel count +
elapsed) when the explorer is running, and only shows the mapping line
when the explorer is self-exploring. Refresh dropped from 30s to 10s
so the timer actually ticks.
Voxel mapping + navigation
- Stop spinning forever on a perch. When the AI climbed onto a stack
of voxels with no reachable neighbors the explorer would sit there
trying the same unreachable cells over and over. Now it counts
consecutive give-ups in the same cell and after 3 it blacklists a
small radius of unmapped cells so check_stack hunts further away. - Stop getting stuck in
wait_reachableforever. If we sit on a cell
marked UnReachable / Iffy for more than 2 seconds, promote it to
REACHABLE on the spot since we are literally standing on it grounded. - Vacuum-style frontier ranking. BFS outward from current over the
pathable graph and return the first frontier we hit, breaking ties
by euclidean. Exploration now sweeps one room out before moving to
the next instead of leaving patchy half-mapped areas. - Interior gap fill no longer over-fills. Strict same-Y, no double
layers, only small enclosed pockets. - Fixed heavy blocking when the map has lots of voxels, was starving
the event loop.
WebUI mapping
- Stop rendering the voxel map mirrored. Wrap world objects in a
parent group withscale.z=-1so unity (left-handed) and three.js
(right-handed) line up properly. Camera, click pathfinding, and the
rect selector all account for it. - Voxels past the initial 20k cap now actually show up. The grown
InstancedMesh was being reparented to scene root instead of staying
in worldGroup, so it ended up unflipped and the old one was stuck.
Usesmesh.parentfor both add and remove now. - Bumped initial InstancedMesh capacity from 16k to 65k per layer so
most worlds never trigger a reallocation. - Stop webui freezing on big voxel maps.
Project structure / tooling
- Runtime files moved into
data/so the project root isnt messy. setup.batrewritten to use uv properly.sfx/music/is gitignored but the folder is kept via.gitkeep.
Docs
- Full README rewrite with badges, feature grid, and FAQ section.
- README points quick start at the latest release download.
- Clarifies VRChat is optional and the project is free + open source.
- Dotted config paths replaced with the actual YAML key locations
users see. - FAQ entries for VRC being optional, naming, voice, and gender.
Full changelog
ProjectGabriel v2.0.0
The biggest release since 1.0, with 211 commits since v1.0.1. Two flagship systems land here, both still in beta (rough edges expected, feedback very welcome). The default cloud (Gemini Live) path is unchanged, so if you don't opt in, nothing changes for you.
Local Backend (beta)
Gabriel can now run fully offline. Flip the new backend: setting in config.yml to local and the entire pipeline runs on your own hardware.
- Any OpenAI-compatible LLM. LM Studio, Ollama, llama.cpp, vLLM, and similar. Just point
local.llm.base_urlat your server. - Moonshine STT plus Silero VAD for fast speech recognition.
- Reuses your existing TTS. Any custom voice provider works (Gemini Live's built-in TTS is the one exception).
- Full feature parity. Tool calling, barge-in and interrupt, reasoning-model support (
<think>stripping), and optional vision with a multimodal model. - Completely optional and zero-footprint. The code is lazy-loaded, and
moonshine-voiceis an opt-in extra (pip install .[local]).
Spatial Awareness (beta)
Gabriel can now understand the space he's in, not just see it.
- Pose-exfil shader that encodes world position into a color strip (bottom-left) which the Python side screen-captures.
- VRCRaycast sensor rig with 11 rays (forward, sides, diagonals, up and down, ledge, gaze) for walls, ledges, and ceilings.
- Voxel mapping plus pathfinding built live from ray and shader data, routing around obstacles instead of bumping them.
- Raycast-assisted path following that sprints straightaways and dodges doorframes locally instead of stall-replan churn.
- Waypoint system for saving and recalling spots per world.
- One-click Unity installer that auto-wires the VRCFury rig (Full Controller plus armature links).
Plugin System
- Drop-in plugins with tools, TTS, STT, event, chatbox-source, and prompt-contributor hooks.
ctx.discordnamespace extends hooks to the Discord bot's session.SafeConfigView, aplugins.trustedtoggle, and per-tool toggles viaconfig/tools.yml.- Bundled plugins moved to the separate ProjectGabriel-Plugins repo, plus new diary (sub-agent journal) and mood (emotion plus intensity) plugins.
Discord and WebUI
- Hybrid Discord message RAG, cross-channel recall, own-message lookup, and KLIPY GIF tools.
- WebUI Vision tab with a live YOLO stream and hot-reloadable tracker tuning.
- Privacy: conversation logging is now opt-in (default off) for both main and Discord.
Under the hood
- Wide refactor of monolithic modules into mixin packages (
gemini_live,memory,tts,tracker,mapping_service,voxel_nav,voxel_explorer,wanderer, andcontrol_serverintosrc/web/). - Pinned
google-genai, default model bumped togemini-3.1-flash-lite, plus numerous tool, prompt, and leak-filter fixes. - 77 of 77 tests passing.
Upgrade notes
- Default backend stays
gemini_live, so no action needed. - For the local backend:
.\bin\uv.exe pip install moonshine-voice==0.0.59(orpip install .[local]), then pointlocal.llm.base_urlat your server. - Rollback safety: the
backup/main-pre-raycast-mergebranch exists if the nav stack misbehaves.
v1.0.1
What's Changed
Fixes
- Fixed face tracker continuing to run while idle instead of pausing
- Fixed WebUI blocking the event loop on memory database calls
- Fixed tools hitting social client gate on non-social calls
Performance
- Memory list/search/read queries now exclude the embedding field, reducing response sizes
- Added
updated_atindex to SQLite backend, fixing sort performance - Removed redundant
recent_memoriescaching layer since queries are fast enough without it - WebUI avoids double state calls and caches recent memories display
Docs
- Updated Vencord plugin README to accurately document all WebSocket commands, events, and AI tools (was missing
find_user,call_user_by_id,ping, and the correct tool signatures for both bot and main session)
Misc
- Cleaned up invite debug logging noise