Skip to main content

Aria - AI Assistant with web UI, CLI management, and local LLM support

Project description

๐Ÿง  Aria

Your local AI assistant with a unified tool-driven architecture

Python 3.12+ CI PyPI Docker License Code style: ruff

Run a local AI assistant with a web UI, CLI, and desktop GUI

Aria Screenshot

โœจ Features

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

๐Ÿš€ Quick Start

Option A โ€” Run from source

git clone git@github.com:malvavisc0/aria-ai.git
cd aria-ai
uv sync
aria server run
# โ†’ Open http://localhost:9876

Option B โ€” Install from PyPI

pip install aria-ai
aria server run
# โ†’ Open http://localhost:9876

Option C โ€” Docker (GPU required)

docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria-ai-cuda:latest
# โ†’ Open http://localhost:9876

Option D โ€” Desktop GUI

pip install aria-ai[gui]
aria-gui

Or 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

๐Ÿค– Agent System

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.

How It Works

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

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.


๐Ÿ“ฆ Installation

Prerequisites

  • GPU with 8 GB+ VRAM (minimum; 12 GB+ recommended)
  • 16 GB+ system RAM
  • Python 3.12 or higher
  • uv package manager (recommended)
  • Git

See docs/memory-requirements.md for detailed VRAM/RAM breakdown per model.

Install

# 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 gui

First Run

On first launch, Aria automatically:

  • Creates .env configuration with generated auth secrets
  • Sets up the SQLite database
  • Creates required directories
ax check preflight    # Verify installation
aria server run       # Start the web server

๐Ÿ’ป CLI Commands

Aria 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

aria โ€” Management CLI

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 endpoints

ax โ€” Agent Experience CLI

Agent-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 installation

๐Ÿ–ฅ๏ธ GUI Application

aria-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

๐ŸŒ Web UI

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.


๐Ÿณ Docker

Quick start

# 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

Docker Compose

# 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

โš™๏ธ Configuration

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

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

Development Setup

# 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/

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with โค๏ธ by malvavisc0

Report Bug ยท Request Feature

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aria_ai-0.1.5.tar.gz (549.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aria_ai-0.1.5-py3-none-any.whl (651.5 kB view details)

Uploaded Python 3

File details

Details for the file aria_ai-0.1.5.tar.gz.

File metadata

  • Download URL: aria_ai-0.1.5.tar.gz
  • Upload date:
  • Size: 549.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aria_ai-0.1.5.tar.gz
Algorithm Hash digest
SHA256 2c03ed835a4c7596240fd986edec5254e78a3a71f53e493e2788e2b5aa19371f
MD5 a845b2278e7cf40b213aaa5283e61354
BLAKE2b-256 ac25c20ea1355826e0bb9c45b7735d37d337b559995d5d49ceac66e7f10c1056

See more details on using hashes here.

Provenance

The following attestation bundles were made for aria_ai-0.1.5.tar.gz:

Publisher: release.yml on malvavisc0/aria-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aria_ai-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: aria_ai-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 651.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aria_ai-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 21f99098c9cd267b702bab2a816fd238757a8373bf51e79b6c8c80cefef11c89
MD5 a20b0dd21158d5b4b9dd293fb2752460
BLAKE2b-256 74fa3aa8edb4323bb2313d5cae698cee0e19d9190a7299fa5fa5a4ef2c763650

See more details on using hashes here.

Provenance

The following attestation bundles were made for aria_ai-0.1.5-py3-none-any.whl:

Publisher: release.yml on malvavisc0/aria-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page