Skip to content

Repository files navigation

gary4local

this is a windows control center for running 6 music models directly on your computer.

this project now supports multiple frontends:

find the macOS version here: gary-localhost-installer-mac.

gary4local is built with Tauri, Rust, and Svelte. the old PyInstaller/Inno Setup flow remains available in the older branch history.

update 8/23

custom runtime storage is now supported. everything should work the same for existing users, but now you can move the runtime to an external drive or wherever you please, and clean up the legacy storage afterward if you like.

big thanks to Kostas for helping us validate all of this on the Radeon/ROCm build while we tried very hard to break it locally.

v0.3.0

gary4local can finally keep its big stuff somewhere other than C:\. fresh installs put the runtime beside the app, so choosing another install drive also keeps the Python environments, models, caches, logs, and Gary-trained LoRAs there.

existing users should see everything continue exactly where it already lives. the storage panel can switch the runtime later, copy the LoRAs Gary knows how to manage, show what is using the space, and clean up old environments, models, or caches when you are ready. nothing gets silently moved or deleted during the update.

gary's backend also accepts the seed and advanced controls added in gary4juce v4.0.13, with a less fragile fallback when its fastest attention path isn't available.

compatible with gary4juce v4.0.13.

older release notes now live in CHANGELOG.md.

preview

install and startup flow:

gary4local install and startup preview

what lives here

  • control-center/ the Tauri + Svelte desktop app that manages the local services, model downloads, installer flow, tray menu, and production runtime sync into the selected runtime storage folder.
  • services/ the Python backends and model-specific code for gary, terry, jerry, carey, foundation, and sa3.
  • keygen_music_for_installer.wav source loop used to generate the tiny installer music asset. cuz why not?

services

custom model backends

for more info about some of the custom model backends and localhost-specific optimizations in this project, see the custom model backend notes.

repo layout notes

  • development runs directly from the repo.
  • production syncs the bundled service source into the selected runtime storage folder under services.
  • new installs default runtime storage to gary4local-data inside the install folder, so choosing an external install drive also moves service envs, caches, logs, and local models there.
  • existing installs keep using %APPDATA%\Gary4JUCE when data is already present. the storage button in the app can choose a new folder for the next restart.

auto-updater

this project has an auto-updater inside the UI. you can read about how that's handled in the auto-updater notes, or just build it without one:

cd control-center
npm ci
$env:VITE_ENABLE_APP_UPDATER='0'
npm run tauri build
Remove-Item Env:VITE_ENABLE_APP_UPDATER

that flag removes the updater UI and manifest checks from the build.

development

prerequisites:

  • Windows 10 or 11
  • Node.js 20+
  • Rust toolchain for Tauri builds
  • WebView2
  • ffmpeg if you want to regenerate the installer audio asset

run the app in development:

cd control-center
npm install
npm run tauri dev

production build

build the installer:

cd control-center
npm ci
npm run tauri build

the build now stages control-center/src-tauri/resources/services automatically from the tracked repo services/ tree, so a clean clone doesn't need a pre-populated bundled-services folder or extra bash / rsync tooling just to package the app.

if you want a build that hides the experimental Terry Flash Attention toggle entirely, set the feature flag before building:

cd control-center
npm ci
$env:VITE_ENABLE_MELODYFLOW_FA2_TOGGLE='0'
npm run tauri build
Remove-Item Env:VITE_ENABLE_MELODYFLOW_FA2_TOGGLE

notes:

  • VITE_ENABLE_MELODYFLOW_FA2_TOGGLE is a build-time flag, not a runtime toggle.
  • when this flag is set to 0, the terry Flash Attention setting is removed from the UI and the packaged app forces MelodyFlow to stay on the standard attention path.
  • leaving the flag unset keeps the terry Flash Attention panel available, but the optimization itself still defaults to off unless the user enables it.

artifacts land in:

  • control-center/src-tauri/target/release/bundle/nsis/
  • control-center/src-tauri/target/release/bundle/msi/

the current preferred Windows artifact is the NSIS setup executable.

unsigned builds

the installers are currently unsigned. the intended verification flow is:

  1. build the installer locally from this branch with one of the commands above.
  2. compare the generated hash against the release artifact hash.

example:

certutil -hashfile .\control-center\src-tauri\target\release\bundle\nsis\gary4local_<version>_x64-setup.exe SHA256

related repos

About

a one click windows installer and control center for gary4juce

Topics

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages