## ## ####### ## ## ### ####
## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ##
## ## ## ## ### ## ## ##
## ## ## ## ## ## ######### ##
## ## ## ## ## ## ## ## ##
### ####### ## ## ## ## ####
A unified local AI workspace with agentic capabilities
Local LLM Chat • Cloud Providers • Image & Video Generation • Agentic Web Search • Remote Access
Beta software: active development, frequent iteration, and occasional breaking changes are normal.
VoxAI is not just a model launcher. It is a local-first AI workspace that combines:
- local GGUF chat
- cloud/provider chat
- local diffusion image generation
- provider image and video generation
- agentic search behavior
- a desktop-managed public WebUI
The goal is to keep a powerful desktop app while also exposing a polished browser front end when you choose to run IronGate.
This repository is the public OSS project.
- The desktop app, WebUI, local model support, provider integrations, and remote access flow are included here.
- Private monetization/runtime pieces are not meant to live in the public repo.
- Mutable user/account/payment/runtime state should stay in ignored runtime files only.
- Use example/template configs and keep your real keys in local private files.
In practical terms, this repo should contain the product and tooling, but not your private billing or cloud-storage business runtime.
- Local GGUF chat with llama.cpp/Vulkan-based workflows
- Ollama support
- Provider chat for Gemini, OpenAI, OpenRouter, DeepSeek, Kimi, Mistral, xAI, and Z.ai
- Streaming responses
- Code-aware responses and side-panel extraction
- Multi-turn conversation context
- Agentic search support through the desktop service
- Native local image generation without ComfyUI dependency
- Local support for
SD 1.5,SDXL,Pony, andFlux - Provider image/video generation adapters
- Prompt translation / prompt enhancement helpers
- WebUI image queue, gallery, and mobile-friendly generation flow
- Obsidian-based WebUI layout
- Mobile-specific front-end flow
- OAuth-capable login flow
- Cloudflare-first public tunnel flow with Ngrok fallback
- Desktop-controlled public gateway lifecycle
- Account/profile surfaces for WebUI users
- Windows is the primary target
- Python
3.10+ - AMD or NVIDIA GPU recommended for local generation
8GB+VRAM recommended for the broader local feature set
git clone https://github.com/AlexC1991/AI_GUI.git
cd AI_GUI
start.batstart.bat handles:
- virtual environment setup
- dependency installation
- runtime directory bootstrapping
- launcher startup
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
copy config.example.json config.json
python main.pyFor Vulkan-accelerated local inference, place the required llama.cpp runtime DLLs in the project root:
llama.dllggml.dllggml-vulkan.dllggml-cpu-haswell.dll
Place local .gguf chat models in models/llm/.
Recommended examples:
Qwen3-8B-Q5_K_M.ggufLlama-3.2-3B-Instruct.ggufDeepSeek-R1-Distill-8B.gguf
Typical local image model layout:
AI_GUI/
└── models/
├── checkpoints/
├── loras/
├── vae/
└── text_encoders/
Supported local image model file types include:
.safetensors.ckpt.gguf
Provider keys can be configured through the desktop Settings UI or by editing your local config files.
Current chat/provider stack in the project includes:
- Gemini
- OpenAI
- OpenRouter
- DeepSeek
- Kimi
- Mistral
- xAI
- Z.ai
- Ollama
The project also includes media-provider routing for image/video-capable services where configured.
Current public README state:
Flux Q2 dev / GGUF path: supported for 8GB-class usageFlux FP8 safetensor path: still partial / half-working
Recommended 8GB-oriented files:
flux1-schnell-Q4_K_S.ggufinmodels/checkpoints/t5-v1_1-xxl-encoder-Q4_K_M.ggufinmodels/text_encoders/clip_l.safetensorsinmodels/text_encoders/
IronGate can expose your local app through a public tunnel.
- Use
Cloudflareas the primary public tunnel - Keep
Ngrokas the secondary/fallback option - Launch the public gateway from the desktop app
- Keep desktop control enabled so the public server only runs while the desktop app is open
Copy:
gateway/host_config.example.json -> gateway/host_config.json
Then configure your tunnel and OAuth settings locally.
https://your-domain.example/auth/google/callbackhttps://your-domain.example/auth/github/callback
- provider-backed chat, image, and video surfaces
- mobile-focused WebUI layout improvements
- account/profile panels
- local history and user preference persistence
- theme/accent support
The repo is intentionally set up to keep local/runtime artifacts out of source control.
Ignored or local-only areas include things like:
- model weights and offload blobs
- runtime gateway data
- secret/config key files
- generated outputs
- future memory-manager work under
VOXAI_Memory_Manager_Safetensor/
Placeholder keep-files preserve directory structure for:
outputs/images/engine/data/conversations/engine/data/vectordb/gateway/exports/gateway/uploads/gateway/uploads_desktop/
AI_GUI/
├── backend/ # Chat/image workers and pipeline orchestration
├── engine/ # Local chat engine and memory systems
├── gateway/ # IronGate FastAPI host, templates, static assets
├── ide_core/ # IDE-side helpers and tooling
├── providers/ # Chat, image, and video provider adapters
├── widgets/ # Desktop PySide6 UI
├── config.example.json
├── main.py
├── main_window.py
└── start.bat
Copy:
config.example.json -> config.json
Then add the local/provider settings you want to use.
Copy:
gateway/host_config.example.json -> gateway/host_config.json
That host config is where local tunnel/OAuth settings belong.
Main dependency groups in the project include:
PySide6for the desktop UIdiffusers,transformers, andtorchfor image pipelines- provider SDK/client layers such as OpenAI and Gemini-related packages
fastapianduvicornfor IronGate- utility packages like
psutil,colorama, and related helpers
Install everything with:
pip install -r requirements.txtContributions, issue reports, and cleanup suggestions are welcome.
MIT. See LICENSE.
Built for the local AI community
Giving small models big capabilities