Skip to content

Releases: HoppouAI/ProjectGabriel-Remastered

v2.0.1

Choose a tag to compare

@BarricadeBandit BarricadeBandit released this 13 Jun 13:43

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.bat launcher and plugin_installer.py entry 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 runs bin\uv.exe pip install for any deps. Press L for
    a local folder, G for a custom fork, R to 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_reachable forever. 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 with scale.z=-1 so 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.
    Uses mesh.parent for 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.bat rewritten 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

v2.0.0...v2.0.1

ProjectGabriel v2.0.0

Choose a tag to compare

@BarricadeBandit BarricadeBandit released this 02 Jun 03:02

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_url at 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-voice is 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.discord namespace extends hooks to the Discord bot's session.
  • SafeConfigView, a plugins.trusted toggle, and per-tool toggles via config/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, and control_server into src/web/).
  • Pinned google-genai, default model bumped to gemini-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 (or pip install .[local]), then point local.llm.base_url at your server.
  • Rollback safety: the backup/main-pre-raycast-merge branch exists if the nav stack misbehaves.

v1.0.1

Choose a tag to compare

@BarricadeBandit BarricadeBandit released this 22 Apr 14:09

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_at index to SQLite backend, fixing sort performance
  • Removed redundant recent_memories caching 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

Release 1.0.0

Choose a tag to compare

@github-actions github-actions released this 19 Apr 13:18