Your local AI assistant with a unified tool-driven architecture
Run a local AI assistant with a web UI, CLI, and desktop GUI
| Feature | Description | |
|---|---|---|
| π― | Unified Tool Architecture | 7 categories, 33 tools managed by a centralized registry |
| π₯οΈ | Multiple Interfaces | Web UI, CLI, and native PySide6 desktop GUI |
| π€ | Local LLM Support | Run models locally with vLLM (GPU-accelerated inference with GPTQ/AWQ quantization) |
| π | Browser Automation | Lightpanda headless browser with CDP/Playwright support |
| π | Privacy First | Your data stays on your machine |
| π | Web Research | Search, weather, finance, and more |
| π» | Code Execution | Safe Python sandbox and shell commands |
| π | Knowledge & Planning | Persistent knowledge store, structured reasoning, task planning |
| π· | Worker Agents | Background workers for heavy tasks (research, code generation, analysis) |
| π§ | CLI Tool Commands | Domain-specific CLI commands for search, finance, IMDb, and more |
| π¬ | Model Fine-Tuning | LoRA/QLoRA fine-tuning with CLI-driven workflows |
git clone git@github.com:malvavisc0/aria-ai.git
cd aria-ai
uv sync
aria server run
# β Open http://localhost:9876pip install aria-ai
aria server run
# β Open http://localhost:9876docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria-ai-cuda:latest
# β Open http://localhost:9876pip install aria-ai[gui]
aria-guiOr download the standalone binary for your platform from the latest release:
| Platform | File |
|---|---|
| π§ Linux | Aria-x86_64.AppImage |
| πͺ Windows | Aria-Windows-x86_64.zip |
| π macOS (Apple Silicon) | Aria-macOS-arm64.zip |
Aria uses a tool-first architecture centered around one primary agent with a centralized tool registry. Tools are organized into always-loaded core capabilities and on-demand domain tools that load when needed. Heavy tasks are delegated to background worker agents.
User Request β Aria β Registry-selected tools β Response
β (heavy tasks)
Worker Agent β Background execution β Result file
Aria evaluates each request, keeps core capabilities available by default, and pulls in domain-specific tools only when the task requires them. Tasks requiring 5+ tool calls are automatically delegated to worker agents that run in the background.
Tools are organized into 7 categories (33 tools) managed by a centralized registry. Core and file tools are always available; domain tools load on demand.
| Category | Loading | Tools |
|---|---|---|
| π§ Core | Always | reasoning, plan, knowledge, scratchpad, web_search, download, weather, shell |
| π Files | Always | read_file, write_file, edit_file, file_info, list_files, search_files, copy_file, delete_file, rename_file |
| π Browser | On-demand | open_url, browser_click |
| π Development | On-demand | python |
| π Finance | On-demand | fetch_current_stock_price, fetch_company_information, fetch_ticker_news |
| π¬ Entertainment | On-demand | search_imdb_titles, get_movie_details, get_person_details, get_person_filmography, get_all_series_episodes, get_movie_reviews, get_movie_trivia, get_youtube_video_transcription |
| π₯οΈ System | On-demand | http_request, process |
Domain tools are also accessible via CLI commands through ax (e.g., ax web search, ax knowledge store, ax dev run).
For the full inventory with parameter reference, see docs/tools-inventory.md.
- GPU with 8 GB+ VRAM (minimum; 12 GB+ recommended)
- 16 GB+ system RAM
- Python 3.12 or higher
uvpackage manager (recommended)- Git
See
docs/memory-requirements.mdfor detailed VRAM/RAM breakdown per model.
# Clone the repository
git clone git@github.com:malvavisc0/aria-ai.git
cd aria-ai
# Install dependencies
uv sync
# Or with GUI support
uv sync --extra guiOn first launch, Aria automatically:
- Creates
.envconfiguration with generated auth secrets - Sets up the SQLite database
- Creates required directories
ax check preflight # Verify installation
aria server run # Start the web serverAria ships with two CLI entry points:
| CLI | Purpose | Commands |
|---|---|---|
aria |
Management CLI | Server, users, models, vLLM, config, system, Lightpanda |
ax |
Agent Experience CLI | Web, knowledge, dev, worker, processes, check |
Human-facing commands for infrastructure and system management.
# Server management
aria server run # Run in foreground
aria server start # Start in background
aria server stop # Stop the server
aria server status # Check status
# Inference engine
aria vllm install # Install vLLM with auto-detected hardware target
aria vllm status # Check vLLM installation status and version
aria vllm info # Show vLLM configuration details
# Browser
aria lightpanda download # Download Lightpanda headless browser
aria lightpanda status # Check Lightpanda installation
# Model management
aria models download # Download a model from Hugging Face
aria models list # List downloaded models
aria models memory # Show model memory requirements
# User management
aria users list # List users
aria users add # Add new user
aria users reset-password # Reset user password
aria users update # Update user details
aria users delete # Delete a user
# System info
aria system info # Full system overview
aria system gpu # GPU information
aria system vram # VRAM details
aria system context # Calculate max context size
# Configuration
aria config show # Show current config
aria config paths # Show configured paths
aria config database # Show database info
aria config api # Show API endpointsAgent-facing commands for research, knowledge, code execution, and workflow management.
# Web & research
ax web search "query" # Web search
ax web fetch "url" # Fetch URL content
ax web weather "city" # Weather forecast
# Knowledge
ax knowledge store "key" "v" # Store a fact
ax knowledge recall "key" # Retrieve a fact
ax knowledge search "query" # Search stored facts
# Development
ax dev run "code" # Execute Python code
# Workers
ax worker spawn --prompt "..." # Launch background worker
ax worker list # List workers
# Processes & checks
ax processes list # List background processes
ax check preflight # Verify installationaria-gui # Launch desktop application (requires: uv sync --extra gui)The native PySide6 desktop GUI provides:
| Tab | Features |
|---|---|
| Overview | System status, database info, API endpoints, debug log viewer |
| Setup | Install vLLM, download models from Hugging Face, and manage Lightpanda browser β with real-time output and cancel support |
| Users | Create, edit, delete users with password strength validation |
| Settings | Configure model paths, API URLs, and service parameters |
| Logs | View application logs with search, level filtering, and auto-refresh |
Additional features:
- System tray β minimizes to tray on close; force-quit via menu or Ctrl+Q
- First-run wizard β guided setup on first launch
- Responsive layout β adapts to window size
- Preflight checks β validates configuration on tab switch
After starting the server, access the web interface at http://localhost:9876
The web UI is powered by Chainlit and provides a chat interface to interact with Aria.
# NVIDIA / CUDA
docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria-ai-cuda:latest
# AMD / ROCm
docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria-ai-rocm:latest# Copy and configure environment
cp .env.example .env
# NVIDIA / CUDA
docker compose up -d
# AMD / ROCm
docker compose --profile rocm up -d aria-rocm| Image | Base | GPU |
|---|---|---|
ghcr.io/malvavisc0/aria-ai-cuda:latest |
vLLM (CUDA/CPU) | NVIDIA |
ghcr.io/malvavisc0/aria-ai-rocm:latest |
vLLM (ROCm) | AMD |
Aria uses environment variables stored in .env:
# Runtime data lives under ~/.aria (override with ARIA_HOME)
#ARIA_HOME=~/.aria
CHAINLIT_AUTH_SECRET=<auto-generated>
# Chat model (served by vLLM)
CHAT_MODEL = Granite-4.1-8B
CHAT_MODEL_PATH = ethanhunt3/Granite-4.1-8B-GPTQ-INT4
CHAT_CONTEXT_SIZE = 32768
# Embeddings model (loaded in-process via HuggingFace)
EMBEDDINGS_MODEL = granite-embedding-311m-multilingual-r2
EMBED_MODEL_PATH = ibm-granite/granite-embedding-311m-multilingual-r2
# vLLM engine
ARIA_VLLM_QUANT = gptq_marlin
ARIA_VLLM_GPU_MEMORY_UTILIZATION = 0.85π Directory Structure
~/.aria/ # Runtime data root (ARIA_HOME)
βββ workspace/ # Agent-facing workspace (file tools)
βββ bin/ # Downloaded binaries (lightpanda, etc.)
βββ db/ # SQLite (aria.db, tools.db) and ChromaDB
βββ models/ # Downloaded model files
βββ logs/ # Runtime logs
βββ storage/ # Chainlit file storage
βββ uploads/ # User-uploaded files
βββ workers/ # Worker agent state
<project>/.env # Configuration
Contributions are welcome! Please feel free to submit issues and pull requests.
# Install dev dependencies
uv sync --group dev
# Run tests
uv run pytest
# Lint and format code
uv run ruff check src/
uv run ruff format src/This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by malvavisc0
