How amd/gaia works
GAIA is a local-first AI agent framework and desktop application for building and using tool-enabled agents. The principal workflow is a user request entering through the UI or API, being handled by an agent that can invoke tools and local or optional cloud models, and returning a response. Major documented branches include RAG, voice, vision, MCP, plugins, and the C++ framework. The graph reflects README claims and the supplied source index; unsampled subsystems are represented at their documented boundaries, and unsupported internal links are omitted.
Main entry points: agent.py Agent framework · tools.py Tool orchestration · readiness.py Runtime readiness · lemonade_manager.py Lemonade manager
Components 23
User interfaces
- Desktop UI
src/gaia/apps/webui/src/App.tsx - Agent API
src/gaia/api/app.py
Agent runtime
- Agent framework
src/gaia/agents/base/agent.py - Tool orchestration
src/gaia/agents/base/tools.py - Agent memory
src/gaia/agents/base/memory.py - Runtime readiness
src/gaia/agents/base/readiness.py - Configuration
src/gaia/config.py - Logging
src/gaia/logger.py
Models and inference
- LLM gateway
src/gaia/llm/gateway.py - Lemonade client
src/gaia/llm/lemonade_client.py - Lemonade manager
src/gaia/llm/lemonade_manager.py - Embedded inference
src/gaia/llm/lemonade_embedded.py
Agent capabilities
- Document RAG
src/gaia/agents/tools/rag_tools.py - Voice processing
src/gaia/audio/audio_client.py - Image understanding
src/gaia/agents/tools/file_io_tools.py - Skills system
src/gaia/skills/format.py - Skill auditing
src/gaia/skills/audit/engine.py
Extensions
- Connectors
src/gaia/connectors/api.py - MCP integration
src/gaia/mcp/client/mcp_client_manager.py - Agent registry
src/gaia/agents/registry.py - C++ framework
cpp/src/agent.cpp
Other components
- User
- Agent response
Connections 23
- User → Desktop UI: submits request
README.md - User → Agent API: submits request
README.md - Desktop UI → Agent API: uses API
- Agent API → Agent framework: routes request
- Agent framework → Tool orchestration: orchestrates tools
README.md - Agent framework → Agent memory: uses memory
hub/agents/chat/python/gaia_agent_chat/agent.py - Agent framework → Runtime readiness: checks readiness
src/gaia/agents/base/readiness.py - Agent framework → LLM gateway: requests inference
- LLM gateway → Lemonade client: uses client
src/gaia/llm/lemonade_client.py - Lemonade manager → Lemonade client: manages client
src/gaia/llm/lemonade_manager.py - Lemonade manager → Embedded inference: starts backend
src/gaia/llm/lemonade_manager.py - Runtime readiness → Lemonade client: checks service
src/gaia/agents/base/readiness.py - Runtime readiness → Lemonade manager: checks startup
src/gaia/agents/base/readiness.py - Tool orchestration → Document RAG: offers document search
README.md - Tool orchestration → Voice processing: offers voice tools
- Tool orchestration → Image understanding: offers image tools
- Agent framework → Skills system: loads skills
- Skill auditing → Skills system: audits format
src/gaia/skills/audit/engine.py - Tool orchestration → Connectors: accesses integrations
- Tool orchestration → MCP integration: uses MCP tools
README.md - Agent registry → Agent framework: discovers agents
README.md - Agent framework → Agent response: returns response
README.md - User → C++ framework: embeds framework
README.md