Not a developer? Start with the Desktop Installer — one download, one double-click, and you’re chatting with a GAIA agent in under 10 minutes. No terminal required.
Recommended: Desktop Installer
The GAIA Agent UI desktop app is the primary install path for end users. It ships as a native installer for Windows, macOS, and Linux, handles the Python backend setup automatically on first launch, and auto-updates.Windows
Download the
.exe NSIS installermacOS
Download the
.dmg (Apple Silicon)Linux
Download the
.deb or .AppImageSee the full Installation guide for step-by-step instructions per platform, first-launch setup details, update and uninstall instructions, and privacy information. If something goes wrong, the installation troubleshooting guide covers every common failure mode.
For developers
The rest of this page covers the developer install paths (npm CLI, pip, clone-and-install) for people who want to build agents, extend GAIA, or run it from source. End users should use the desktop installer above.Agent UI (npm)
For developers who prefer npm and Node.js tooling. Ships the same Electron app as the desktop installer but driven from the command line.Requires Node.js 20+. If you don’t have it:
- Windows:
winget install OpenJS.NodeJS.LTS - macOS:
brew install node@20 - Linux:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt install -y nodejs
Update
Uninstall
CLI Install
First time here? Complete the Setup guide first to install uv (Python package manager).
- Windows
- Linux
Open PowerShell and run:This will:
- ✅ Install
uv(if not already installed) - ✅ Download Python 3.12 (if needed)
- ✅ Create
%USERPROFILE%\.gaia\venvvirtual environment - ✅ Install GAIA CLI (accessible globally via PATH)
- ✅ Add GAIA to your PATH
Manual Install
Recommended for developers integrating GAIA into their projects. Choose your platform and installation type:- Windows (PyPI)
- Linux (PyPI)
- Windows (Clone)
- Linux (Clone)
Installs amd-gaia from PyPI in a project-specific virtual environment.Linux users:
Step 1: Create Project Directory
Open PowerShell and run:Step 2: Create Virtual Environment
uv will automatically download Python 3.12 if not already installed.
Step 3: Activate the Environment
Windows users: run:source .venv/bin/activateYou should see (.venv) in your terminal prompt when activated.Step 4: Install GAIA
Step 5: Verify Installation
Step 6: Initialize GAIA
Install Lemonade Server and download models with a single command:Use
--profile chat for the full experience (~25GB), --profile vlm for vision/document extraction (~3GB), or --profile minimal for a quick start (~400MB).
See CLI Reference for all profiles.Build Your First Agent
Using your text editor, create a file namedmy_agent.py in the project directory you created during install — my-gaia-project for the PyPI paths, or the cloned gaia folder for the clone paths. This is the same folder where you ran uv venv and activated (.venv).
Why
model_id? Without it, the Agent base class defaults to a large
~20GB model that gaia init --profile minimal never downloaded — on a typical
16–32GB machine it fails to load with failed to fit params to free device memory. Gemma-4-E4B-it-GGUF is the tool-calling model every gaia init
profile installs, so it’s already on disk and runs comfortably.agent.py · tools.py
Run it (in your terminal/PowerShell):
First run may take a moment while GAIA starts Lemonade Server and loads the LLM.
Tip: The tool’s docstring is how the LLM knows what the tool does. Be descriptive!
"""Get current time, date, platform, and Python version.""" tells the LLM this tool can answer time-related questions.How It Works
The Agent Base Class
TheAgent class handles the core loop: receiving queries, calling the LLM, executing tools, and returning responses. You extend it by defining:
_get_system_prompt()— Instructions that shape the agent’s behavior_register_tools()— Functions the agent can call to take actions
System Prompt
The system prompt tells your agent who it is and how to make decisions. You define it by returning a string:- Role: What the agent specializes in — “You are a code review assistant…”
- Tool guidance: When to use tools vs. respond directly — “Use the search tool for questions about files…”
- Style: Tone and boundaries — “Be concise. Only answer questions about this codebase.”
Tools
Tools are just Python functions with the@tool decorator:
The Agent Loop
When you callagent.process_query("What time is it?"), GAIA runs an iterative loop:
1
Think
The LLM receives your query plus the system prompt and available tools. It decides what to do next.
2
Act
If the LLM decides to use a tool, GAIA executes it and captures the result.
3
Observe
The tool result is sent back to the LLM, which can then decide to call another tool or respond.
4
Respond
When the LLM has enough information, it generates a natural language response for the user.
What’s Next?
You’ve built a simple agent. Now let’s build something practical: an agent that analyzes your system hardware and recommends which LLMs you can run locally.Hardware Advisor Playbook
Build an agent that detects your hardware and recommends which LLMs you can run locally.
More Playbooks
Chat Agent
Build a document Q&A agent with RAG capabilities
Code Agent
Build an agent that generates and validates code projects
All Playbooks
Step-by-step tutorials for building real-world agents
Guides & Reference
All User Guides
Pre-built agents for chat, voice, code, Jira, Docker, and more
Connect to External Tools
Use MCP to connect your agent to GitHub, databases, filesystems, and hundreds more
SDK Reference
Complete API documentation for all components
CLI Reference
Command-line tools for chat, voice, RAG, and more
Glossary
Learn GAIA terminology: agents, tools, RAG, NPU, and more
Developer Guide
Testing, linting, and contributing to GAIA