GUA is a powerful, autonomous AI assistant built on Blazor Server (.NET 10). It serves as a multi-modal orchestrator capable of managing file systems, executing terminal commands, browsing the web, and processing media (TTS/Transcription) through a unified agentic interface.
- 🚀 Features
- 🧠 Model Optimization
- 📦 Installation Guide
⚠️ Limitations & Known Issues- 🛠️ Tools Reference
- 📁 Project Structure
- Autonomous Agent Mode: Multi-turn reasoning loops (up to 50 turns) using tool-calling to solve complex tasks.
- Persistent Terminal: Real-time shell execution with session persistence across messages.
- Deep Web Research: Google Search and Playwright-powered browser automation.
- Media Suite:
- Voice cloning/Synthesis via Kokoro.
- Video-to-audio extraction and burning subtitles with FFmpeg.
- High-accuracy transcription via Whisper.
- Repository Ingestion: Analyze entire GitHub repositories in one go using the
GitIngesttool. - Modern UI: Dark-themed Blazor interface with markdown support and collapsible tool-execution logs.
GUA is specifically tuned for high-parameter local models and state-of-the-art APIs:
- Primary Optimization: Qwen3.5-35B-A3B (Optimized for reasoning and tool-calling accuracy).
- Secondary Support: Fully compatible with DeepSeek-V3/R1 via API.
- Local Inference: Designed to work seamlessly with
llama-server.exeproviding the OpenAI-compatible endpoint.
Used for the browser_use tool to navigate real websites.
# Install the Playwright CLI tool
dotnet tool install --global Microsoft.Playwright.CLI
# Build the project to generate the executable
dotnet build
# Install the required browser (Chromium)
# Note: Check your bin path (net10.0)
pwsh bin/Debug/net10.0/playwright.ps1 install chromiumGUA requires an OpenAI-compatible API endpoint.
- Download: llama.cpp Releases.
- Model: Download the GGUF for
Qwen3.5-35B-A3B. - Run:
llama-server.exe -m path/to/Qwen3.5-35B-A3B.gguf --port 8080 -c 262144
- Download: whisper.cpp Releases.
- Model: Use
ggml-large-v3.bin. - Run:
whisper-server.exe -m models/ggml-large-v3.bin --port 8081
The text-to-speech service requires the Kokoro Python implementation.
- Navigate to your Kokoro folder.
- Setup:
python -m venv venvandpip install flask kokoro soundfile. - Run the server on port 8082.
- No Persistence: There is no database or LocalStorage implementation. Refreshing the browser will wipe the current chat history and session state.
- No Multi-user: The application is designed for local, single-user use. Session sandboxing is internal but not authenticated.
- UI Desyncs: The UI may occasionally flicker or desync during high-speed agent streaming or complex parallel tool calls.
- Zombie Terminal Processes: If the application crashes or is force-closed during a command execution, the underlying
cmd.exeorbashprocess may remain running in the background and must be closed manually via Task Manager. - Playwright Cleanup: The Chromium window opened by Playwright often stays open after the main program ends. These windows must be closed manually.
| Category | Tools |
|---|---|
| Filesystem | create_file, read_file, edit_file, delete_file, list_directory, zip_directory, unzip_file, create_pdf |
| Terminal | run_command, read_terminal_output |
| Web | web_search, scrape_url, browser_use, git_ingest |
| Media | extract_audio, transcribe_audio, burn_subtitles, text_to_speech, merge_audio |
GUA_Blazor/
├── Components/ # UI Layer (Pages, Layouts, Modals)
├── Helper/ # SessionSandbox (Path security logic)
├── Models/ # Data objects and System Instructions
├── Service/ # AIService (Orchestrator) and Media Wrappers
├── Tools/ # AI Tool Definitions
│ ├── Filesystem/ # File IO
│ ├── Terminal/ # Shell Execution
│ ├── Web/ # Playwright & Scrapers
│ └── TTS/ # Audio/Video processing
├── wwwroot/ # Styles and Client-side JS
└── run_all_servers.bat # Batch script for local dependencies
Built with ❤️ using .NET 10 and Blazor Server.