πŸͺ Aria

May 31, 2026 Β· View on GitHub

πŸͺ Aria

The AI operating system in your browser

Aria is an open-source, macOS-style web desktop with a built-in multi-agent brain. Talk to it. Hand it a goal. Watch a team of seven specialist agents plan, build, and review it β€” live.

β–ΆοΈŽ Try the live demo β†’ sumanthkm.com/aria

Live demo CI Next.js React TypeScript Tailwind CSS License: Apache 2.0

Aria desktop


✨ What is Aria?

Most "AI agent" demos are a chat box. Aria is a whole operating system β€” a windowed desktop you can actually live in, with a real agent runtime underneath.

Give Aria a mission like "research and compare the best AI coding assistants" and she doesn't just reply β€” she dispatches a team: Atlas decomposes the plan, the specialists do the work in parallel, Echo reviews it, and every artifact is saved to your Files. You watch it all stream in real time across draggable windows.

And it works the moment you clone it β€” no API key required. A believable simulated engine drives the agents offline. Want real answers? Paste your own OpenAI or Anthropic key in Settings and the exact same UI lights up with a live LLM.


🎬 Highlights

🧠 Live multi-agent missionsA real orchestrator decomposes goals and routes work to 7 specialists, streaming their output, agent-to-agent chatter, and a flowing pipeline.
🌐 Real tools, real effectsAgents use a real tool framework β€” web_search fetches live data with sources (keyless, via DuckDuckGo + Wikipedia), and produce real downloadable artifacts. Not scripted text.
▢️ Live code executionA built-in Code Runner executes real Python (CPython on WASM) and JavaScript (sandboxed Worker) in your browser. Forge even runs the code it writes during a mission.
πŸ•ΈοΈ Live agent graphWatch the whole team in a real-time graph β€” nodes light up by status, edges flow on handoff, and tool calls (web_search, run_js) surface right on the agents. Plus one-click mission replay.
πŸ–ΌοΈ Real image generationIris generates actual concept images from a prompt β€” keyless (works on a fresh clone), proxied same-origin, saved to Files.
πŸ–₯️ A genuine desktopAnimated boot β†’ wallpaper β†’ menu bar β†’ magnifying dock β†’ draggable, resizable windows with traffic lights, minimize & maximize.
πŸ” Spotlight (⌘K)Fuzzy-search apps, run system commands, or ask Aria anything β€” dispatching a full mission from one keystroke.
πŸ—£οΈ Voice ModeA hands-free JARVIS-style orb that listens continuously, transcribes you live, speaks back, and auto re-listens for natural back-and-forth.
🧩 Real memoryAria remembers your name and your last mission, and threads conversation history into every reply β€” in both simulated and real-LLM modes.
πŸ”’ Clear data storyA visible badge everywhere: on-device (nothing leaves your browser) vs live (sent to your provider with your key, never to us).
πŸ“Š Live dashboardReal-time throughput charts, agent utilization, success ring, token usage β€” all wired to your actual session.
πŸ–§ Agent shellA real terminal (run, ask, agents, cat, neofetch…) that drives the same engine.
🧠 A real LLM in your browser"Download a brain" β€” a small Llama/Qwen runs entirely on your machine via WebGPU (WebLLM). No server, no key, fully private. Plus simulated + bring-your-own-key brains, all behind one interface.
πŸŒ‘ Crafted dark UIGlassmorphism, spring physics, custom SVG charts, five wallpapers, accent theming β€” zero heavyweight UI libs.

πŸ‘₯ Meet the team

Aria is the face and voice of the OS. Under the hood she delegates to seven specialists:

AgentRoleWhat they do
🜨 AtlasOrchestratorBreaks a mission into a plan and routes work to the right agents
πŸ”­ SageResearcherGathers facts, compares options, flags uncertainty
βš™οΈ ForgeEngineerDesigns systems and writes clean, working code
βœ’οΈ QuillWriterTurns raw ideas into clear, persuasive prose
🎨 IrisDesignerShapes interfaces, palettes, and the feel of things
πŸ“Š LedgerAnalystCrunches numbers and surfaces the signal
πŸ›‘οΈ EchoCritic / QAStress-tests the work and catches what others missed

πŸ“Έ Screenshots

Boot sequence

Boot

Agents β€” live mission control

Watch the plan stream in: Atlas briefs the team, specialists work in parallel, Echo reviews. Agents running

Mission control β€” the live agent graph

Atlas routes the plan, specialists work in parallel, Echo reviews β€” nodes light up by status, edges flow on handoff, and each agent shows the tool it's using. Agent graph

Real research β€” live web data with sources

Sage calls the web_search tool mid-mission and grounds its findings in real, cited sources. Live research

Real image generation β€” Iris designs concept art

Keyless and proxied same-origin; the generated image is saved to Files. Generated image

Code Runner β€” real Python & JavaScript, in the browser

CPython on WASM and a sandboxed JS worker. Agents use the same engine to run what they write.

Python execution JavaScript execution

Dashboard β€” your agent runtime, live

Dashboard

Terminal β€” drive the agents from a shell

Terminal

Voice Mode β€” talk to Aria hands-free

A continuous listen β†’ transcribe β†’ speak loop. Tap the orb (or ⌘K β†’ "Voice Mode"). Voice Mode

Memory β€” Aria remembers you

Memory

Spotlight β€” search, command, or ask Aria

Spotlight

Files & Settings

Files Settings


πŸš€ Quick start

git clone https://github.com/skmdroid/aria.git
cd aria
npm install
npm run dev

Open http://localhost:3000 β€” Aria boots, the team comes online, and you can give it a mission immediately. No configuration, no key.

Voice features use the browser's Web Speech API and work best in Chrome / Edge.

Build for production

npm run build
npm start

Deploys cleanly to Vercel (or any Node host) out of the box.


🧠 Three brains, one interface

Aria's agents are brain-agnostic β€” written once, they run on whichever intelligence source you pick in Settings β†’ AI Engine:

  1. Simulated (default) β€” a deterministic offline engine. Works the instant you clone, no key, no cost. It still uses the real tools, so missions produce real research, real code output, and real files.
  2. Local β€” download a brain: a small Llama 3.2 / Qwen 2.5 model runs entirely in your browser via WebGPU (WebLLM). No server, no key, nothing leaves your machine. Downloaded once and cached. (Needs Chrome/Edge desktop with WebGPU.)
  3. API key β€” bring your own OpenAI or Anthropic key for maximum capability. The key is stored only in your browser and forwarded per-request through a thin proxy (/api/chat) β€” Aria's servers never persist it.

The Assistant always shows which brain is active and what that means for your data.


πŸ—οΈ How it works

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ api/chat/route.ts     # BYO-key proxy β†’ OpenAI / Anthropic
β”‚   β”œβ”€β”€ layout.tsx Β· page.tsx Β· globals.css
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ agents.ts             # the 7-agent roster + personas + system prompts
β”‚   β”œβ”€β”€ simEngine.ts          # offline planner + believable per-agent output
β”‚   β”œβ”€β”€ realEngine.ts         # client wrapper for the live LLM path
β”‚   β”œβ”€β”€ voice.ts              # Web Speech STT + TTS
β”‚   β”œβ”€β”€ apps.ts Β· types.ts Β· cn.ts
β”œβ”€β”€ store/
β”‚   β”œβ”€β”€ useOS.ts              # window manager, dock, notifications, settings
β”‚   └── useAria.ts            # chat + the streaming mission runner + files
└── components/
    β”œβ”€β”€ os/                   # Boot, Desktop, MenuBar, Dock, Window,
    β”‚                         # WindowManager, Spotlight, ControlCenter, …
    β”œβ”€β”€ apps/                 # Assistant, Agents, Dashboard, Terminal,
    β”‚                         # Files, Notes, Settings + registry
    └── ui/                   # Icon, AgentAvatar, Charts, Markdown

See ARCHITECTURE.md for the full design β€” the brain-agnostic engine, the tool framework, and the event-sourced UI.

The mission runner (store/useAria.ts) is the heart of it: it plans a mission into a dependency-aware subtask graph, runs Atlas first, fans the specialists out in parallel, streams each agent's output token-by-token into the UI, posts agent-to-agent messages to the activity bus, saves artifacts to Files, and finishes with Aria's synthesis. The same loop powers both the simulated and the real-LLM paths β€” only the text source changes.


🧰 Tech stack

  • Next.js 16 (App Router) Β· React 19 Β· TypeScript 5
  • Tailwind CSS v4 (CSS-first config)
  • Zustand for state (with localStorage persistence)
  • Framer Motion for window physics & transitions
  • lucide-react icons Β· hand-rolled SVG charts (no chart lib)
  • Web Speech API for voice β€” no external service

πŸ—ΊοΈ Roadmap

  • Window snapping & tiling
  • More apps (Browser, Music, a real code editor)
  • Streaming responses from the LLM proxy (SSE)
  • Pluggable custom agents & tools
  • Persisted, replayable mission history
  • Shareable mission permalinks

βœ… Quality

  • Typed end-to-end (strict TypeScript).
  • Tested β€” unit tests (Vitest) for the planner, memory, and tool layer: npm test.
  • CI β€” GitHub Actions runs lint + test + build on every push and PR.
  • Documented β€” ARCHITECTURE.md + decision records in docs/adr/.

🀝 Contributing

PRs welcome! Adding an app is a two-step job: drop a component in components/apps/, register it in lib/apps.ts + components/apps/registry.tsx. Adding an agent is one entry in lib/agents.ts.


πŸ“„ License

Apache License 2.0 β€” free to use, modify, and distribute, with an explicit patent grant and attribution requirements. Keep the notices.


Built with care. If Aria made you smile, drop a ⭐.