How glaborie/aria works
ARIA is an autonomous research assistant: a user submits a query, the API starts a run, and an orchestrator plans and schedules agent tasks before returning a report. The sampled code supports the API/orchestration flow, researcher capabilities, Redis messaging, and Qdrant retrieval; paths for several other product subsystems are supported by the tree, but their internal wiring was not sampled. The OpenWebUI pipeline submits runs and polls for results. End-to-end task details and some integrations are therefore intentionally left out.
Main entry points: orchestrator.py Task orchestrator · routes.py Run and status routes · researcher.py Researcher agent · aria_pipeline.py WebUI pipeline
Components 23
API and sessions
- WebUI pipeline
pipelines/aria_pipeline.py - FastAPI app
api/main.py - Run and status routes
api/routes.py - Run session store
api/session_store.py
Agent coordination
- Task orchestrator
agents/orchestrator.py - Task DAG
agents/task_dag.py - Skill registry
skills/registry.py - Redis message broker
bus/broker.py - Agent messages
bus/messages.py
Research and memory
- Researcher agent
agents/researcher.py - Research skills
skills/researcher_skills.py - Web search
tools/search.py - RAG retrieval
tools/rag.py - Qdrant vector store
- Long-term memory
memory/longterm.py
Analysis and reporting
- Analyst agent
agents/analyst.py - Writer agent
agents/writer.py - Structured output
tools/structured_output.py
Safety and telemetry
- Guardrails
guardrails - Tracing
observability/tracing.py
Other components
- Research user
- OpenWebUI
- Tavily
Connections 22
- Research user → Run and status routes: submits query
- Run and status routes → Run session store: creates run
- Run and status routes → Task orchestrator: starts run
- Task orchestrator → Task DAG: plans tasks
- Task orchestrator → Researcher agent: runs tasks
- Task orchestrator → Analyst agent: runs tasks
- Task orchestrator → Writer agent: runs tasks
- Task orchestrator → Skill registry: reads skills
- FastAPI app → Task orchestrator: initializes
- FastAPI app → Redis message broker: connects
- Researcher agent → Research skills: registers skills
- Researcher agent → Web search: searches web
- Web search → Tavily: queries
- Researcher agent → RAG retrieval: retrieves passages
- RAG retrieval → Qdrant vector store: queries vectors
- Researcher agent → Long-term memory: recalls and stores
- Task orchestrator → Guardrails: unmasks report PII
- Run and status routes → Run session store: updates status and result
- Run and status routes → Research user: returns run status
- OpenWebUI → WebUI pipeline: sends message
- WebUI pipeline → Run and status routes: submits and polls
- Run and status routes → WebUI pipeline: returns result