Skip to main content

◉ ARIA

Autonomous Reasoning and Intelligent Agent

Your project-aware coding partner. Reason before action.

ARIA is an open-source CLI agent that works inside your project boundaries like a senior engineer — it plans before acting, validates its work, remembers context across sessions, and never silently modifies your system.


Website: https://lonerider007.github.io/aria-landing/

ARIA Demo

Benchmark — ARIA vs Aider

Tested on: autonomous production backend build (Node.js + Express + SQLite + JWT + RBAC)

Capability ARIA Aider
Runtime grounding Excellent Weak
Autonomous debugging Excellent Poor
Recovery behavior Excellent Poor
Runtime validation Successful Incomplete
Convergence stability Strong Fragile
Production readiness Near-complete Incomplete

Verdict: ARIA completed the full backend autonomously. Aider got stuck in edit-format desynchronization loops before reaching runtime execution.

Tested on nemotron-3-super:cloud. Both agents given identical task from scratch.


Install

pipx install aria-x

Note: Use pipx (not pip) on Ubuntu/Debian/macOS. pip install will fail with "externally-managed-environment" error on modern systems. If pipx is not installed: pip install pipx --break-system-packages

aria --model nemotron-3-super:cloud

Requirements: Python 3.10+, Ollama

Minimum Model Requirements

Use case Minimum model
Local (free) qwen2.5-coder:7b or llama3.2:8bminimum 7B params
Cloud (recommended) nemotron-3-super:cloud via Ollama
Not supported Models under 7B (3B models cannot tool-call reliably)

Demo

◉ aria(my-project) › Build a REST API with FastAPI and test it

─────────────────── Plan ───────────────────
  Goal: Build FastAPI REST API

  1. Scaffold project with venv + git
  2. Write endpoints
  3. Install dependencies in .venv
  4. Run server and test with curl

Proceed? (yes / no / modify): yes

  ◉ Scaffolding 'fastapi-api'...  step 1
  1. new_project  'fastapi-api'

  ◉ Writing main.py...  step 2
  2. write_file  'main.py'

  ◉ Installing fastapi uvicorn...  step 3
  3. run_command  '.venv/bin/pip install -r requirements.txt'
     │ Successfully installed fastapi uvicorn

  ◉ Running tests...  step 4
  4. run_command  'curl http://localhost:8000/health'
     │ {"status":"ok"}

─────────────────── Report ─────────────────
API built and tested. Run: uvicorn main:app --reload

What's New in v1.6.0 — The Comeback Release

"Agent that writes code AND proves it works — verified end-to-end."

Most coding agents (Aider, Cursor, even Claude Code) mark tasks done on structural completion. ARIA v1.6 enforces three gates at the code level — before any task is marked done:

  1. fetch_api_spec — for any HTTP integration, the real API docs must be fetched first. No more hardcoded params from training-era memory.
  2. verify_goal — concrete evidence (files exist, commands exited 0, expected output present) must back every completion claim.
  3. acceptance_test — a small runnable script proves the goal works end-to-end before "done".

If ARIA says it works, it actually works.

Architecture upgrades (all code-level, not prompt rules)

  • Mode router — conversational vs task classification at the input layer; skips tool schema entirely for greetings/questions (saves ~600 tokens/turn).
  • Plan/Approval FSM — mutating tools (write/edit/run) blocked at runtime until plan is approved. Bypass-proof.
  • Delta context memory — duplicate tool outputs replaced with short references; long sessions stay flat in tokens.
  • Adaptive recall — TF-IDF + relation-graph proximity; old irrelevant messages pruned first when over budget, not FIFO.
  • Tool guards — bare pip install, rm -rf /, multiple delete_file/turn, HTTP code without spec — all blocked deterministically.
  • Loop guard — error fingerprints; 3 identical errors → automatic pivot; 2 failed pivots → honest "I can't" report.
  • Runtime validator — hallucinated file paths blocked; "task complete" claims rejected when recent results contain errors; stale-belief catch when the same factual claim repeats across 3+ turns.
  • Time awareness — system prompt refreshed every turn with real wall-clock; LLM forbidden to quote versions from training memory without search_web.
  • Relation graph — SQLite at ~/.aria/relations.db recording file edits, project switches, verified tasks. Foundation for semantic recall.

New commands

  • /undo — reverses the most recent write_file/edit_file/delete_file. /undo list shows recent mutations.

Bug fixes

  • git_commit shell injection (subprocess list form now)
  • git_create_branch rejects unsafe branch names
  • Web bridge no longer hardcodes stale version string
  • Onboarding fast-path no longer re-triggers full TnC on saved configs
  • list_files recursive: caps at 500 entries, skips .git/node_modules/__pycache__/.venv/...
  • read_file, search_in_files: output capped at 16KB
  • /clear now also resets the FSM, loop guard, and validator state

Prompt economy

  • System prompt: 153 lines → 77 lines. Behaviors that used to be prompt rules ("never run bare pip install", "use Pydantic V2") are now enforced in code.

What's New in v1.4.3

  • aria web — access ARIA from any browser on your local network, including phone
  • WebSocket streaming — real-time token streaming in browser, same as terminal
  • Plan approval in browser — approve/reject plans via buttons, no terminal needed
  • Mobile-first UI — dark terminal theme, responsive, works on phone screen
  • Session timeline — live history panel in browser
  • Auto-reconnect — browser reconnects automatically if connection drops
  • Install: pip install aria-x[web]aria web

What's New in v1.4.2

  • Personalized greeting — ARIA shows your last session context on every startup
  • Python 3.14 AST compatibility — detects removed node types (ast.Str, ast.Bytes, ast.Num, ast.NameConstant) before execution
  • Test suite — 9 unit tests for AST validator, all passing
  • Updated dependencies — latest floors for openai, rich, prompt_toolkit, ddgs

What's New in v1.4.1

  • Sandbox mode — isolated workspace for experiments (/sandbox)
  • Web searchsearch_web tool searches DuckDuckGo in real time
  • 8 security & stability bugs fixed — code audit pass
  • Rate limit & 500 error handling — clean messages, auto-retry

What's New in v1.4.0

  • Humanized tool display◉ Writing auth.py... instead of raw tool names
  • Persistent token counter — bottom bar shows ↑ 1.2k tokens · 3 turns · 2m 30s
  • Internet accesssearch_web tool for real-time information
  • Config system — first run saves settings, next run is instant
  • /history, /init, /tokens — new slash commands
  • --quiet mode — hide tool details, show only final report
  • Context auto-trim — prevents context overflow crashes
  • English-only responses — consistent regardless of input language
  • Frozen header — ARIA info stays visible at startup

Features

  • Plan before action — shows what it will do, waits for your approval
  • AST pre-validation — catches errors before running code (no hallucination at this layer)
  • RAG with web search — searches real docs when stuck, not model memory
  • Loop detection — detects repeated failures, pivots to alternative approach
  • Project isolation — all packages go in .venv only, never touches system Python
  • Project memory — remembers stack, decisions, and context across sessions
  • Approval system — asks before dangerous operations
  • Beautiful diffs — shows exactly what changed in every file
  • Live status bar — always know what ARIA is doing

Slash Commands

Command Description
/help Show all commands
/fix Fix bugs in current project
/test Run tests, fix failures
/explain <file> Explain code
/commit Smart git commit
/review Code review
/status Session info
/model <name> Switch model
/memory Show project memory
/projects List all ARIA projects
/undo Undo last file write/edit/delete (/undo list to view)
/exit Exit

Models

aria --model nemotron-3-super:cloud   # Ollama cloud
aria --model devstral-2:123b          # Coding specialist
aria --model llama3.3                 # Local via Ollama
aria --model qwen2.5-coder:32b        # Local coding model

How it works

Clarify → Plan → Approve → Execute → Validate → Remember → Report
  • AST Validator catches errors before execution
  • RAG injects real documentation on errors
  • Loop detector pivots approach after 3 repeated failures
  • Memory persists decisions across sessions

Project Memory

~/.aria/
├── user_memory.json
└── projects/
    └── my-project/
        ├── meta.json      # Stack, status, path
        ├── memory.json    # Key decisions
        └── progress.md   # Milestone history

Built by

Sumit — independent developer
GitHub: Lonerider007
Email: samsungsumitv461@gmail.com


License

ARIA Source by Sumit @ samsungsumitv461@gmail.com

Download files

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

Source Distribution

aria_x-1.6.1.tar.gz (85.7 kB view details)

Uploaded Source

Built Distribution

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

aria_x-1.6.1-py3-none-any.whl (98.6 kB view details)

Uploaded Python 3

File details

Details for the file aria_x-1.6.1.tar.gz.

File metadata

  • Download URL: aria_x-1.6.1.tar.gz
  • Upload date:
  • Size: 85.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aria_x-1.6.1.tar.gz
Algorithm Hash digest
SHA256 d88cd9941740030c0114c5824305869dac91b01445774c1ed90a414f1fd8e61f
MD5 a8ebd8b1ded8261b38b810645221e3a1
BLAKE2b-256 4f40fa6ffe8a24b63e213c2abbe8b88cece1b4b1fce6202826ec8223d2b38c20

See more details on using hashes here.

File details

Details for the file aria_x-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: aria_x-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 98.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aria_x-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 87260baa7e8e2427050a81c3a90780b576c472c073cd32c8cf1bdeacdb962de8
MD5 1ddca6723f2b7a40a75374b293fdd550
BLAKE2b-256 3bbd54a7870b81ccd094e384c0267e746f569e8ecd98e157913c81a439ffeb5c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.6.1 This release

2 files

1.6.0

2 files

1.5.5

2 files

1.5.4

2 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.8

2 files

1.4.6

2 files

1.4.5

2 files

1.4.4

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.1

2 files

1.2.0

2 files

Supported by

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