Releases: amd/gaia
v0.16.1
What's Changed
- Fixed broken links to amd-gaia.ai in README.md by @evanjrowley in #497
- Update Lemonade Server to v10.0.0 by @kovtcharov in #498
- Fix GAIA CLI Linux test hanging in merge queue by @kovtcharov in #445
- C++ framework: tool security β policies, confirmation, allowlisting, arg validation by @itomek in #496
- ci: add doc link checker, scope workflow triggers, fix broken links by @kovtcharov in #499
- Fix gaia init version checks and MSI reliability by @kovtcharov in #478
- Fix MCP config stacking and tool display naming by @itomek in #477
- feat(cpp): Process Analyst Agent with LemonadeClient and background monitoring by @itomek in #426
- Release v0.16.1 by @kovtcharov in #516
New Contributors
- @evanjrowley made their first contribution in #497
Full Changelog: v0.16.0...v0.16.1
v0.16.0
GAIA v0.16.0 Release Notes
Major release introducing the C++17 Agent Framework β a native port of the GAIA agent system that lets you build AI PC agents in pure C++ with no Python runtime required. Also includes security hardening across the Python codebase and a comprehensive documentation site reorganization.
TL;DR:
- New: C++17 Agent Framework β Full native agent framework with MCP support, tool registry, and state machine β no Python needed
- New: Health Agent & WiFi Agent β Two production-ready C++ example agents for Windows system diagnostics
- New: CleanConsole β Polished terminal UI for C++ agents with ANSI colors and word-wrap
- New: C++ CI/CD Pipeline β Cross-platform build + STX hardware integration tests
- Security: 37 alerts resolved β 15 Dependabot + 22 code scanning alerts fixed across Python and JavaScript
- Docs: Site reorganization β C++ Framework gets dedicated top-level section, SDK accuracy fixes, sidebar icons, 17+ broken links repaired
What's New
C++17 Agent Framework
A complete native port of the GAIA base agent framework under cpp/. Build AI agents in pure C++17 with the same agent loop semantics as the Python src/gaia/agents/base/ β no Python runtime required.
Key capabilities:
- Agent state machine β
PLANNING -> EXECUTING_PLAN -> DIRECT_EXECUTION -> ERROR_RECOVERY -> COMPLETION - ToolRegistry with tool name resolution (unprefixed MCP name suffix match, case-insensitive fallback)
- MCP client with cross-platform stdio transport (Win32
CreateProcess+ POSIXfork/exec), JSON-RPC 2.0,mcp_<server>_<tool>naming convention - JSON parsing with 4-strategy fallback: direct parse, code-block extraction, bracket-matching, regex field extraction
- Parameter substitution β
$PREV.field/$STEP_N.fieldacross plan steps - OpenAI-compatible HTTP client via
cpp-httplib
#include <gaia/agent.h>
int main() {
gaia::AgentConfig config;
config.baseUrl = "http://localhost:8000/api/v1";
config.modelId = "Qwen3-4B-Instruct-2507-GGUF";
gaia::Agent agent(config);
agent.processQuery("Check system health");
return 0;
}Build requirements: CMake 3.14+, C++17 compiler. All dependencies fetched automatically via FetchContent (nlohmann/json 3.11.3, cpp-httplib 0.15.3, googletest 1.14.0).
cd cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config ReleaseSee the C++ Framework documentation for the full setup guide and API reference.
Health Agent (C++)
A Windows system health agent that uses the MCP Windows server for PowerShell-based diagnostics. Two modes of operation:
| Mode | Description |
|---|---|
| Quick summary (option 1) | Console-only output β 4 key metrics, no Notepad |
| Full diagnostics (option 15) | Comprehensive report with 12+ tool calls, written to file and opened in Notepad |
Uses direct file-write + Start-Process notepad approach for reliable report delivery. Runs with 32K context to support comprehensive multi-tool diagnostics.
WiFi Agent (C++)
A network diagnostic agent that performs WiFi troubleshooting through MCP tool calls. Includes shell injection prevention and safe argument validation.
CleanConsole (C++)
New CleanConsole class providing a polished terminal UI for C++ agents with ANSI color output and automatic word-wrapping β a native equivalent of Python's AgentConsole.
C++ CI/CD Pipeline
Full cross-platform CI via .github/workflows/build_cpp.yml:
- Cloud CI: Ubuntu + Windows builds with mock unit tests, install verification, shared library builds
- STX hardware integration tests: LLM, MCP, WiFi, and Health agent tests on real AMD hardware
- Uses
Qwen3-4B-Instruct-2507-GGUFmodel for integration testing - Sequential test execution (
-j 1) to prevent LLM server contention
Security
Dependabot & Code Scanning Fixes
Resolved 37 security alerts across the codebase (PR #352):
Dependabot (15 alerts):
| Package | Severity | Fix |
|---|---|---|
tar |
High | Force >=7.5.8 β fixes path traversal and symlink vulnerabilities |
qs |
Low | Update to 6.14.2 β fixes arrayLimit bypass DoS |
lodash |
Medium | Update to 4.17.23 β fixes prototype pollution |
Code Scanning (22 alerts):
| Category | Count | Fix |
|---|---|---|
| Stack trace exposure | 6 | Replace str(e) in HTTP responses with generic messages |
| Path injection | 8 | Add path traversal validation and .. checks |
| Clear-text logging | 4 | Remove patient IDs from log messages |
| Missing workflow permissions | 2 | Add permissions: contents: read to CI jobs |
| URL redirect | 1 | Use explicit HTTP 303 redirect status |
| Missing rate limiting | 1 | Add express-rate-limit to login endpoint |
Documentation
Site Reorganization
Major documentation restructuring for better navigation and accuracy (PR #427):
- C++ Framework promoted β Dedicated top-level "C++ Framework" section in the Documentation tab with setup, quickstart, overview, integration guides, user guides, and API reference
- SDK Reference reorganized β Split hybrid Chat guide into User Guide and SDK Reference; merged MCP Client guide into SDK Reference
- Welcome page improved β Get Started section before Capabilities; Python/C++ tabs with distinct feature cards
- Sidebar icons β 48 documentation pages now have Font Awesome sidebar icons
- SDK accuracy β Fixed 13 code examples to match actual source code (
quick_chat()return type,create_client()factory pattern,process_query()method name,execution_stateattribute,max_stepsdefault,@tooldecorator behavior) - Broken links β 17+ broken internal links repaired; redirects added for all moved pages
- Copyright updated β 2024-2026 across all pages
C++ Documentation
Complete documentation suite for the C++ framework:
docs/cpp/setup.mdxβ Build requirements and installationdocs/cpp/quickstart.mdxβ Build your first C++ agentdocs/cpp/overview.mdxβ Architecture and componentsdocs/cpp/integration.mdxβ Integrating gaia_core into your projectdocs/cpp/custom-agent.mdxβ Building custom agentsdocs/cpp/health-agent.mdxβ Windows system health monitoringdocs/cpp/wifi-agent.mdxβ Network diagnostic agentdocs/cpp/api-reference.mdxβ Complete API reference
Bug Fixes
- C++ agent loop detection β Compare both tool name AND arguments to prevent false positives on consecutive
mcp_windows_Shellcalls with different args - C++ tool result truncation β Reduce from 20K to 4K chars to prevent context overflow with small models
- C++ CI integration tests β Run with
-j 1to prevent tests from competing for the single LLM server; increase timeout from 20 to 30 minutes - PowerShell API β Fix
Get-WmiObjecttoGet-CimInstancein health agent
Upgrade
# Install/upgrade GAIA (Python)
pip install --upgrade amd-gaia
# Build C++ framework
cd cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config ReleaseFull Changelog
4 commits since v0.15.4.1:
99394d3- Add C++17 agent framework port (#351)fdaa0cb- Fix Dependabot and code scanning security alerts (#352)1ed7c00- C++ framework: docs, CI integration tests, health agent improvements (#425)5fac5a9- Reorganize documentation site and fix SDK accuracy issues (#427)
Full Changelog: v0.15.4.1...v0.16.0
v0.15.4.1
What's Changed
- Release v0.15.4.1 (#350) (73349b9)
- Fix gaia sd terminal preview and image viewer (#346) (8d12a4a)
- Fix gaia talk: mic sensitivity, LEMONADE_BASE_URL, stuck listening (#347) (#348) (1198af5)
- Refine MCP Client architecture diagram (#342) (05b6fda)
- Fix gaia init for remote Lemonade Server (#345) (12acbab)
- Fix gaia talk 'No module named pip' error (#344) (a094149)
- Fix MCP time server example to use mcp-server-time (#339) (d26b7a0)
- Add VLM profile and structured extraction API (#336) (b882930)
Installation
Install GAIA using pip:
pip install amd-gaiaOr using uv:
uv pip install amd-gaiav0.15.4
What's Changed
- Add release notes for v0.15.4 and bump version (#337) (8e98962)
- MCP Client Support: Connect GAIA agents to any MCP server (#277) (290fb13)
- Update VLM model to Qwen3-VL-4B-Instruct-GGUF (#226) (3295114)
- Fix PowerShell $PID variable conflict in start-lemonade.ps1 (#331) (b209074)
- Add one-command installer scripts for Windows and Linux (#305) (514ba5e)
- Add Vision SDK to Q2 2026 Roadmap (#326) (0af6fa2)
- Fix VLM and Chat Documentation Discrepancies (#328) (66116fa)
- Add option for stx-test machine (#308) (4a8de23)
- Update eval framework to use SummarizerAgent (#269) (2cca205)
Installation
Install GAIA using pip:
pip install amd-gaiaOr using uv:
uv pip install amd-gaiav0.15.3.2
What's Changed
- Fix missing packages, broken entry points, and add packaging CI tests (#309) (1d75142)
- Revert "Add stx-test to runner pool for testing new runners" (#307) (a5f653c)
- Add stx-test to runner pool for testing new runners (#306) (e4cb967)
- Added release notes for v0.15.3.1 patch (#304) (c734837)
Installation
Install GAIA using pip:
pip install amd-gaiaOr using uv:
uv pip install amd-gaiav0.15.3.1
GAIA v0.15.3.1 Release Notes
Patch release with Linux installation improvements and minimal profile optimization.
π― Key Changes
Minimal Profile Optimization
- Smaller, faster setup: Minimal profile now uses
Qwen3-0.6B-GGUF(400 MB) instead of 4B model (2.5 GB) - 6x smaller download for quick starts and testing
- Updated all documentation to reflect new size
Linux Installation Improvements
- Reliable apt install: Runs
apt updatebefore install to prevent 404 errors from stale package cache - Cleaner help output:
gaia init -hnow shows only relevant options (removed global parameters like--use-claude,--model,--trace) - Better error UX: Incomplete model downloads now suggest using
--force-modelsflag to redownload from scratch
Code Quality & Cleanup
- Simplified Linux version check function (34 lines vs 51 lines, -33%)
- Removed unnecessary PATH manipulation on Linux
- Removed debugging code from dpkg installation
- Fixed Pylint errors in lemonade_installer.py
π¦ Installation
pip install --upgrade amd-gaiaLinux users (avoid large CUDA dependencies):
pip install --upgrade amd-gaia --extra-index-url https://download.pytorch.org/whl/cpuπ Bug Fixes
- Fixed apt 404 errors on Linux by updating package cache before install
- Fixed conditional logging level setup to support commands without parent_parser
π Full Changelog
See PR #302 for complete details.
v0.15.3
GAIA v0.15.3 Release Notes
Overview
This release introduces Stable Diffusion image generation with the new SD Agent, multi-step workflow parameter passing, and composable system prompts architecture. Includes Lemonade 9.2.0 support, comprehensive playbook, and enhanced agent reliability.
TL;DR:
- New: SD Agent - Multi-modal image generation + story creation
- New: SDToolsMixin & VLMToolsMixin - Add image/vision capabilities to any agent
- Fixed: Multi-step workflows - Agents pass results between steps automatically
- Improved: Agent reliability - Smarter loop detection, 16K context
What's New
SD Agent: Multi-Modal Image Generation
New agent demonstrating how to combine image generation with vision analysis for creative workflows. Shows developers how to build multi-modal applications using GAIA's mixin pattern.
gaia init --profile sd
gaia sd "create a robot exploring ancient ruins"
# LLM enhances prompt β SD generates image (17s) β VLM creates story (15s)What you get:
- 4 SD Models: SDXL-Base-1.0 (photorealistic), SDXL-Turbo (fast), SD-1.5, SD-Turbo
- LLM-Enhanced Prompts: Research-backed keyword strategies automatically applied
- Vision Analysis: Image descriptions and Q&A using Vision LLM
- Story Creation: Creative narratives generated from images
- Story Persistence: Stories saved as
.txtfiles alongside images - Random Seeds: Each generation unique by default (specify seed for reproducibility)
Performance (AMD Ryzen AI):
- Image generation: ~17s (SDXL-Turbo, 512x512)
- Story creation: ~15s (Qwen3-VL-4B)
- Total workflow: ~35s
Why this helps: Build creative AI applications (content generation, game assets, storyboarding) without cloud dependencies. Learn multi-modal agent composition in working code.
Example implementation:
from gaia.agents.base import Agent
from gaia.sd import SDToolsMixin
from gaia.vlm import VLMToolsMixin
class ImageStoryAgent(Agent, SDToolsMixin, VLMToolsMixin):
def __init__(self):
super().__init__(model_id="Qwen3-8B-GGUF")
self.init_sd(default_model="SDXL-Turbo") # 3 SD tools
self.init_vlm() # 2 VLM toolsSee SD Agent Playbook for complete tutorial, and SD User Guide for CLI reference.
SDToolsMixin: Stable Diffusion SDK
New mixin for adding image generation to any agent.
How it helps: Add professional image generation to any agent in 3 lines. Auto-configures optimal settings per model.
Features:
- 4 Models Supported: SDXL-Base-1.0, SDXL-Turbo, SD-1.5, SD-Turbo
- 3 Auto-registered Tools:
generate_image(),list_sd_models(),get_generation_history() - Model-Specific Defaults: Automatic size, steps, CFG scale per model (e.g., SDXL-Turbo: 512x512, 4 steps, CFG 1.0)
- Session Tracking: Generation history maintained in
self.sd_generationslist - Composable Prompts:
get_sd_system_prompt()provides research-backed prompt engineering per model
Usage:
class ImageAgent(Agent, SDToolsMixin):
def __init__(self):
super().__init__()
self.init_sd(default_model="SDXL-Turbo")
# 3 tools auto-registered, ready to useVLMToolsMixin: Vision Language Model SDK
New mixin for adding vision capabilities to any agent.
How it helps: Enable agents to understand and analyze images. Access vision client for building custom vision-based tools.
Features:
- 2 Auto-registered Tools:
analyze_image(),answer_question_about_image() - Multi-Model Support: Qwen3-VL-4B, Qwen2.5-VL-7B, and other vision models
- Client Access:
self.vlm_client.extract_from_image()for building custom tools - Composable Prompts:
get_vlm_system_prompt()provides usage guidelines
Usage:
class VisionAgent(Agent, VLMToolsMixin):
def __init__(self):
super().__init__()
self.init_vlm(model="Qwen3-VL-4B-Instruct-GGUF")
# 2 tools auto-registered: analyze_image, answer_question_about_imageDesign note: create_story_from_image implemented as custom tool in SDAgent (not in VLMToolsMixin) to demonstrate building specialized tools using self.vlm_client. Encourages custom tool development over bloating mixins with every use case.
Multi-Step Workflow Parameter Passing
Framework improvement enabling agents to pass results between steps automatically.
How it helps: Build complex workflows (data fetch β process β analyze β store) without manual result passing. Works for all agents, not just SD Agent.
Problem: Multi-step workflows failed because agents couldn't reference previous outputs. Resulted in "Image not found" errors when step 2 needed step 1's image_path.
Solution: Placeholder syntax automatically resolves to actual values:
{
"plan": [
{"tool": "generate_image", "tool_args": {"prompt": "robot"}},
{"tool": "create_story_from_image", "tool_args": {"image_path": "$PREV.image_path"}}
]
}
# System resolves: $PREV.image_path β "./generated/robot_123.png"Features:
$PREV.field- Reference previous step$STEP_N.field- Reference specific step (0-indexed)- Recursive resolution for nested structures
- Backward compatible (existing plans work unchanged)
Improvements
Composable System Prompts
Architectural pattern enabling automatic prompt composition across mixins.
How it helps: Build agents that inherit domain expertise automatically. No manual prompt assembly or knowledge duplication.
Implementation:
- Mixins own knowledge:
get_sd_system_prompt()provides SD prompt engineering,get_vlm_system_prompt()provides VLM usage - Auto-composition: Agent base class collects and merges mixin prompts
- Easy extension: Agents add custom prompts via
_get_system_prompt()
# Mixins provide domain-specific prompts
def get_sd_system_prompt(self) -> str:
return BASE_GUIDELINES + MODEL_SPECIFIC_PROMPTS[self.sd_default_model]
# Agent auto-composes: SD + VLM + custom promptsAgent Framework
- Loop Detection: Configurable
max_consecutive_repeats(default: 4) - Allows "create 3 designs" while preventing infinite loops - Default max_steps: Increased from 5 β 20 - Supports complex multi-step workflows without artificial limits
- State Management: Cleanup on error recovery - Prevents stale data contamination between plan attempts
- Console Warnings: Rich-formatted output - Better visibility than silent logger messages
Model Downloads
- CLI-based:
lemonade-server pullinstead of HTTP - More reliable with built-in retry logic - Interrupt Support: Graceful Ctrl+C - Cancel long downloads without breaking state
- Context Verification: Force unload/reload - Ensures 16K context persists correctly
Documentation
- Consolidated Playbook: 4 files β 1 guide - Faster learning without fragmentation
- GitHub Support Links: Issue reporting in troubleshooting - Clear path to get help
- Contributing Guide: Documentation guidelines - Easier for community contributions
- Example Code:
examples/sd_agent_example.py- Working reference implementation
Developer Experience
- uvx Fallback: Lint works without uvx - One less dependency to install
- Video Demo Scripts: Documentation tooling - Easier to create demos
- Better Console Output: Rich formatting - Clearer agent execution visibility
Infrastructure
- Lemonade 9.2.0: Required for SDXL models
- Merge Queue: Concurrency optimization - Faster CI/CD feedback
- Release Automation: Auto-triggered notes - Streamlined release process
Bug Fixes
- Multi-step workflows: Fixed "Image not found" when step 2 references step 1 output (e.g., passing image_path)
- Context exceeded: SD Agent completes without hitting token limits (16K context)
- Loop detection: Agents handle "create 3 designs" without false warnings (threshold: 4 consecutive)
- Context persistence: 16K settings saved correctly during
gaia initreruns - Missing exports: Fixed
gaia.agents.toolspackage in setup.py - Missing dependencies: Added
requeststo requirements
Breaking Changes
None - This release is 100% backward compatible.
Upgrade
# Install/upgrade GAIA
uv pip install --upgrade amd-gaia
# Setup SD profile (downloads ~15GB models)
gaia init --profile sd
# Test multi-modal workflow
gaia sd "create a robot exploring ancient ruins"Full Changelog
66 commits from multiple contributors
Key PRs:
- #287 - Add Stable Diffusion Image Generation Support
- #296 - SD Agent enhancements: multi-modal capabilities, composable prompts, parameter passing
- #291 - Use lemonade CLI for model downloads
- #288 - Standardize playbook installation
- #286 - Contributing guide for documentation
- #284 - Update Lemonade to v9.2.0
- #283 - Fix missing gaia.agents.tools package
- #256 - Optimize merge queue
Full Changelog: v0.15.2...v0.15.3
v0.15.2
Overview
This release focuses on streamlined setup experience with improvements to gaia init, Lemonade 9.1.4 compatibility, expanded MCP ecosystem roadmap, and numerous documentation fixes based on manual testing.
What's New
Improved gaia init Command
Enhanced one-stop setup command for reliability and user experience:
- Simplified Download Flow: Downloads all required models directly instead of pre-checking availability
- Download Speed Display: Progress bar now shows download speed (e.g.,
@ 75 MB/s) - Remote Server Support: New
--remoteflag for remote Lemonade server setups - Graceful Shutdown:
gaia kill --lemonadenow uses gracefullemonade-server stop - Removed Redundancy:
gaia pullcommand removed (uselemonade-server pullinstead)
# Quick setup with speed display
gaia init
# For remote Lemonade server setups
gaia init --remoteLemonade 9.1.4 Support
Full compatibility with Lemonade Server 9.1.4:
- Health Check Updates: Updated health check format handling
- Version Display: Docs navbar shows
v0.15.2 Β· Lemonade 9.1.4
Computer Use Agent (CUA) Documentation
New documentation and roadmap for the Computer Use Agent:
- Technical Specification: GUI automation capabilities
- Roadmap: Screen capture, element detection, action execution
- Integration Patterns: Works with existing agent framework
MCP Ecosystem Roadmap
Expanded Model Context Protocol plans for Q1 2026:
- MCP Client Mixin: Plan for client-side MCP integration
- Ecosystem Roadmap: Comprehensive Q1 2026 timeline
- Documentation: Enhanced MCP documentation coverage
Release Branch Automation
GitHub Action automatically updates the release branch on tag push:
- Mintlify Integration: Seamless docs deployment on releases
- Version Tracking: Navbar displays current version automatically
β οΈ Breaking Change: Thegaia pullcommand has been removed. Uselemonade-server pulldirectly instead.
Improvements
Developer Experience
- Lint Script Improvements: Enhanced
--fixmode for better auto-formatting (#229) - uvx Auto-Download: Lint utilities now use uvx for automatic tool installation (#218)
- Import Validation: Fixed import inconsistencies and enhanced validation (#204)
- Max-Steps Warning: Now appears after final step completes, not before (#249)
Documentation
Based on manual testing, several guides were corrected:
- Chat SDK Guide: Fixed examples and workflows (#194)
- Blender Agent Guide: Corrected setup and usage instructions (#195)
- Hardware Advisor Playbook: Fixed structure and renamed to index.mdx (#217)
- Hardware Advisor Agent: Fixed 'No Plan Found' warning for simple queries (#216)
UI/UX
- Navbar Improvements: Added bottom border and improved tab visibility (#212)
Infrastructure
- Legacy Installer Removed: NSIS Windows Installer removed in favor of Python packages (#192)
- Dependabot: Set to monitor-only mode to reduce PR noise
- GitHub Actions: Bumped action versions across the repository (#198)
Bug Fixes
- #249: Max-steps warning timing - now appears after final step completes
- #221: Related max-steps warning timing issue
- #250: Model download flow reliability in
gaia init - #216: Hardware Advisor Agent 'No Plan Found' warning for simple queries
Breaking Changes
| Change | Migration |
|---|---|
gaia pull removed |
Use lemonade-server pull directly |
| Legacy NSIS installer removed | Use Python package installation (pip install amd-gaia) |
Full Changelog
18 commits from multiple contributors
Key PRs:
- #249 - Fix max-steps warning timing to appear after final step completes
- #219 - Add
gaia initcommand for one-stop setup - #229 - Improve
--fixmode for lint scripts - #228 - Update and support Lemonade 9.1.4 health check format
- #225 - Add Computer Use Agent (CUA) Documentation and Roadmap
- #218 - Update lint utilities to use uvx for auto-downloading tools
- #217 - Fix Hardware Advisor Playbook structure
- #216 - Fix Hardware Advisor Agent 'No Plan Found' warning
- #212 - Add navbar bottom border and improve tab visibility
- #206 - MCP Client Mixin Plan and Roadmap
- #204 - Fix Import Inconsistencies and Enhance Validation
- #202 - Q1 2026 MCP Ecosystem Roadmap
- #198 - Bump the github-actions group
- #195 - Fix Blender Agent guide based on manual testing
- #194 - Fix Chat SDK guide based on manual testing
- #192 - Remove Legacy NSIS Windows Installer
Full Changelog: v0.15.1...v0.15.2
v0.15.1
GAIA v0.15.1 Release Notes
Overview
This release introduces the Summarization Agent with MCP integration, refactors the LLM Client Architecture to a provider-based pattern, adds Claude AI Assistant automation for GitHub issues and PRs, and significantly improves developer tooling with automated release notes, simplified CLI, and new evaluation benchmarks.
Installation
# Install uv (ultra-fast Python package manager)
# Windows: irm https://astral.sh/uv/install.ps1 | iex
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/amd/gaia.git
cd gaia
uv venv .venv --python 3.12
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
uv pip install -e .
gaia -vOr install from PyPI:
uv pip install amd-gaiaWhat's New
π Summarization Agent
New agent for document summarization with MCP bridge integration:
- MCP Bridge Integration: Data sent as
multipart/form-dataleveraging OCR capabilities - Streaming Responses: Summarization results streamed in real time
- Iterative Summarization: Produced iteratively to minimize time-to-first-token (TTFT)
- PDF Text Caching: Extracted text cached for improved performance
- KV Cache Optimization: Reduced TTFT by leveraging KV cache properly
gaia summarize document.pdfπ§ LLM Client Factory
Complete refactor of LLM client architecture for better maintainability:
- Provider Pattern: New
LemonadeProvider,OpenAIProvider,ClaudeProviderimplementations - Factory Function: Easy instantiation with
create_client("lemonade") - Base Interface: Abstract
LLMClientclass for consistent behavior - Auto-Loading: Models automatically load before requests in
LemonadeClient - Default Temperature: 0.1 for deterministic responses
from gaia.llm import LLMClient, create_client
# New pattern
client = create_client("lemonade") # or "openai", "claude"
response = client.chat("Hello!")π€ Claude AI Assistant Workflow
Automated Claude assistance for GitHub issues and pull requests:
- PR Review: Automatic reviews on PR open/ready with security and AMD compliance checks
- Issue Handling: Intelligent triage and response to new issues
- @claude Mentions: Responds to mentions in PR comments and issues
- Documentation-Aware: References docs/docs.json for intelligent responses
- Cost-Optimized: Concurrency control and selective triggering
π Automated Release Notes Generation
Claude-powered release notes when GitHub releases are created:
- Dual Output:
RELEASE_NOTES.md(GitHub) +docs/releases/vX.Y.Z.mdx(website) - Iterative Diff Analysis: Splits diffs by component for large releases
- Auto Version Bump: Automatically bumps to next patch version after release
- MDX Validation: Validates frontmatter, required sections, and changelog links
- Self-Review: Claude verifies its generated output before committing
π» GAIA Code CLI Simplification
Streamlined CLI by removing unnecessary subcommands:
- Direct Invocation:
gaia-code "Build me an app"works directly - Auto-Initialization: Models load automatically on first use
- 176 Lines Removed: Cleaner, simpler codebase
- Working Help:
gaia-code --helpnow shows ALL arguments
# These all work directly now:
gaia-code "Build me a todo app"
gaia-code "Build me an app" --path ~/projects/myapp
gaia-code --interactiveBreaking Change: The run subcommand has been removed:
- β
gaia-code run "Build me an app"(no longer works) - β
gaia-code "Build me an app"(new syntax)
π§ͺ Fix-Code Microbenchmark
New evaluation framework for automated code fixes:
- CLI Helper:
gaia eval fix-codecommand - Prompt Engineering: Experiment with prompt designs for code fixes
- Multi-Model Support: Test with local models or Claude
- Sample Fixtures: Python and TypeScript bug examples included
- Diff Output: Shows patched output with diffs
gaia eval fix-code --model claude examples/sum.pyπ Performance Analysis Plotter
New CLI tool for analyzing LLM server performance:
- Log Analysis: Ingests llama.cpp server logs
- Token Charts: Generates prompt/input/output token count charts
- Performance Metrics: TTFT and TPS plots
- Prefill vs Decode: Pie charts showing time distribution
gaia perf-analysis --show server.logπΊοΈ Public Roadmap
New documentation section with transparent development plans:
- Roadmap Page: Timeline and upcoming priorities at amd-gaia.ai
- Technical Plans: Detailed specs for Chat UI and Installer
- Q1 2026 Timeline: Visual Mermaid diagram showing planned features
- Community Engagement: Email contact ([email protected]) for use cases
Improvements
Claude Framework Refresh
- Pruned Agents: 28 β 24 agents (removed redundant ones)
- Renamed Agents: Clearer naming (ai-engineer β gaia-agent-builder, etc.)
- New Agent:
sdk-architectfor SDK API design guidance - Pre-commit Hook: Auto-fixes code before commits
Documentation
- Mermaid Diagrams: Converted 56+ ASCII diagrams to Mermaid in specs
- Routing Agent: Updated diagram to Mermaid format
- CLAUDE.md: Comprehensive issue response guidelines
- Glossary: Updated with Claude Code integration guidance
Infrastructure
CI/CD Improvements
- Electron CI Tests: Validation for Dependabot PRs (#183)
- PyPI Wheel Uploads: Automated wheel publishing support (#93)
- uv Standardization: All workflows use uv for consistency (#179)
- Self-Hosted Runner Monitoring: New workflows to track CI runners (#178)
- GitHub Actions Updates: Bumped to latest versions across 15 files
Build & Dependencies
- Bumped
electronfrom 28.3.3 to 35.7.5 - Bumped
esbuildandvitein EMR dashboard frontend - Bumped
qsfrom 6.14.0 to 6.14.1 in docs - Bumped GitHub Actions group with 4 updates
Workflow Improvements
- Fork Support: Claude workflow now works correctly with forks
- Header Check Removal: Simplified workflows by removing header checks
- Outside Contributors: Skip copyright header check for external contributors
- Docs Validation: New workflow validates MDX syntax with Mintlify CLI
Bug Fixes
- #152: Summarization KV cache bypass causing high TTFT - now leverages cache properly
- #142: Security updates for esbuild and vite dependencies
- #143: Security update for qs dependency
- #144: Electron security update (28.3.3 β 35.7.5)
Breaking Changes
| Change | Migration |
|---|---|
gaia-code run removed |
Use gaia-code "prompt" directly |
| LLMClient import path | Use from gaia.llm import LLMClient, create_client |
Full Changelog
40 commits from 8 contributors
Key PRs:
- #170 - Summarization Agent with MCP bridge integration
- #150 - LLM Client Factory refactor with provider pattern
- #154 - Claude AI Assistant GitHub Actions Workflow
- #197 - Automated release notes generation with Claude
- #147 - GAIA Code CLI simplification
- #159 - Fix-Code Microbenchmark for evaluation
- #158 - Performance Analysis Plotter for LLM logs
- #166 - Public Roadmap and Technical Plans
- #149 - Claude framework refresh (24 agents)
- #152 - KV cache optimization for summarization
- #93 - PyPI wheel upload support
- #183 - Electron CI tests for Dependabot
- #179 - Standardize workflows to uv
Full Changelog: v0.15.0...v0.15.1
v0.15.0
GAIA v0.15.0 Release Notes
Overview
This release transforms GAIA into a full AI Agent Framework (SDK v1.0.0), introduces the Medical Intake Agent with Dashboard, adds the Database Module for SQLite-backed agents, and includes comprehensive documentation improvements with new playbooks.
Installation
# Install uv (ultra-fast Python package manager)
# Windows: irm https://astral.sh/uv/install.ps1 | iex
# macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/amd/gaia.git
cd gaia
uv venv .venv --python 3.12
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
uv pip install -e .
gaia -vOr install from PyPI:
uv pip install amd-gaiaWhat's New
π SDK v1.0.0 - AI Agent Framework
GAIA is now positioned as a pure framework/SDK for building AI PC agents:
- 900+ line API reference with 20+ components
- 60+ MDX documentation files organized into tabs
- 55+ interface validation tests
- Mintlify-powered documentation site at amd-gaia.ai
from gaia import Agent, tool
class MyAgent(Agent):
def _get_system_prompt(self) -> str:
return "You are a helpful assistant."
def _register_tools(self):
@tool
def greet(name: str) -> str:
"""Greet someone by name."""
return f"Hello, {name}!"π₯ Medical Intake Agent with Dashboard
Complete patient intake form processing system:
- Automatic file watching for intake forms (.png, .jpg, .pdf)
- VLM-powered data extraction (Qwen2.5-VL on NPU)
- SQLite database with 17 patient fields
- Real-time React dashboard with SSE updates
- Natural language patient queries
gaia-emr watch # Auto-process forms
gaia-emr dashboard # Launch web dashboard
gaia-emr query "Find patient John Smith"ποΈ Database Module
New gaia.database module with two usage patterns:
DatabaseAgent (prototyping):
from gaia import DatabaseAgent
class MyAgent(DatabaseAgent):
def __init__(self, **kwargs):
super().__init__(db_path="data/app.db", **kwargs)DatabaseMixin (production):
from gaia import Agent, DatabaseMixin, tool
class MyAgent(Agent, DatabaseMixin):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.init_db("data/app.db")π§ͺ Testing Utilities Module
New gaia.testing module for testing agents without real LLM/VLM services:
MockLLMProvider,MockVLMClient,MockToolExecutortemp_directory,temp_file,create_test_agentfixturesassert_llm_called,assert_tool_calledassertions- 51 unit tests with full coverage
from gaia.testing import MockLLMProvider, assert_llm_called
def test_my_agent():
mock_llm = MockLLMProvider(responses=["I found the data"])
agent = MyAgent(skip_lemonade=True)
agent.chat = mock_llm
result = agent.process_query("Find data")
assert_llm_called(mock_llm)π» Hardware Advisor Agent
New example agent with LemonadeClient APIs for dynamic model recommendations:
python examples/hardware_advisor_agent.pyπ GAIA Code Playbook
Complete 3-part playbook for the Code Agent:
- Part 1: Introduction and fundamentals
- Part 2: Application creation and development
- Part 3: Validation and building workflows
Improvements
Agent UX Enhancements
- Rich Panel Final Answers: Agent responses now appear with green-bordered panels and "β Final Answer" title
- Better Completion Messages: Removed confusing step counters, now shows clean "Processing complete!" message
- Enhanced Error Display: Shows execution trace with Query β Plan Step β Tool β Error, plus code context with line pointers
Code Agent
- Limited router to TypeScript only (other languages report helpful error)
- Fixed default path issue where
create-next-appwould fail on non-empty directories - Added dynamic timer scaffolding and artifact-aware planning
Lemonade Server Integration
- Centralized initialization in
LemonadeManagersingleton - Changed context size check from error to warning (agents continue running)
- Fixed VLM image processing breaking embeddings endpoint
Documentation
- New
setup.mdxwith step-by-step installation guide - New
glossary.mdxwith 50+ GAIA terms - Streamlined learning path: Quickstart β Hardware Advisor β Playbooks/Guides
- Applied
<CodeGroup>component across multiple docs for compact command examples - Standardized license headers across 90+ files
- Added source code links throughout documentation
PyPI Package
- Renamed from
gaiatoamd-gaia(import name remainsgaia) - Enhanced PyTorch CPU-only build support
Bug Fixes
- #1092: Agent receives empty response after tool execution - fixed duplicate message insertion
- #1088: Confusing agent completion messages showing incomplete steps
- #1087: Context size error now shows as warning instead of blocking
- #134: Blender MCP 'Namespace' object has no attribute 'stats'
- #1075: VLM image processing breaks embeddings endpoint
- #1083: Agent tool calling fixed with JSON format instructions in base class
- #1095: Windows npx command can't find TypeScript compiler
- #1137: Code agent default path fails on non-empty directories
- #1079: Authentication flow for documentation sub-pages
- #940: Empty LLM response when last message has
role==tool
Infrastructure
CI/CD
- All workflows now skip tests on draft PRs (unless
ready_for_cilabel added) - New
test_unit.ymlworkflow for fast unit/integration tests - Updated GitHub Actions:
actions/checkoutv5,actions/setup-pythonv6
Documentation Site
- Access code protection via Express.js proxy server
- Railway deployment with cookie-based authentication
- Open redirect and XSS vulnerability fixes
Breaking Changes
None. All changes are additive.
Full Changelog
40 commits from 8 contributors
Key PRs:
- #1063 - Transform GAIA into AI Agent Framework (SDK v1.0.0)
- #1101 - Medical Intake Agent with Dashboard
- #1093 - Add Database Module with DatabaseMixin and DatabaseAgent
- #1098 - Add Testing Utilities Module
- #1131 - GAIA Code Playbook
- #1113 - Hardware Advisor agent
- #1112 - Fix agent empty response after tool execution
- #1085 - Rename PyPI package to
amd-gaia - #1067 - Centralize Lemonade Server Initialization
Full Changelog: v0.14.2...v0.15.0