Beacon

The desktop surface of your AI operating system.

A native Electron cockpit for the Prometheus daemon. It bundles no backend and no model keys — pair it with a one-time 6-digit code and it becomes the window into everything the daemon does, on localhost or across your tailnet.

The Cockpit Prometheus

macOS + Linux · Electron · 13 views · MIT

Status: v0.2 — moves fast alongside the daemon.

Prometheus Live

The agent harness. Stands alone on your hardware.

Beacon Live

The desktop cockpit. Sits on Prometheus.

Cognition In Development

Catch and organize thought before it becomes work — voice in, spoken answers out, an idea engine for ADHD brains. OAra Voice ships first.

Beacon's Mission home — the Armilla telemetry sphere, Mission Control HUD, and a chat composer, connected to a running Prometheus daemon

Mission home — the Armilla, Mission Control, and a composer. The default landing view.

The Cockpit

Chat, with the work visible

Replies stream as markdown while every tool call renders inline — consecutive calls merge into a single activity strip with live durations, and parallel dispatches show up as batches. The composer carries a per-session model switcher with auth-mode badges, an Agent | Chat toggle for tools-on or plain replies, and a one-shot 🔍 force-search that arms the next send to open with a web search. While a turn runs, the activity line animates only on real daemon frames — movement means liveness, not decoration — and artifacts the agent produces show up as download chips right in the transcript.

A finished reply in Beacon — the tool timeline above the answer, with the model switcher, Agent|Chat toggle, and force-search control in the composer

A finished turn — tool timeline above the answer.

Coding runs & the Loop Manager

Fire a sandboxed iterate-to-green run — repo, task, acceptance command, caps — and watch rounds stream live: outcome, tokens, duration, with a Stop button. The Loop Manager turns runs into a PM cockpit: registered repos, a TASKS.md board, a LOOP.md contract editor, a compiled-run preview. Every run ends as a reviewable branch with copy-able git commands. Beacon is review-only — it never merges and never pushes.

Live coding rounds streaming into Beacon — per-round outcome, tokens, and duration, with a Stop button

Rounds streaming live.

A finished coding run in Beacon — acceptance command exit 0 and the reviewable diff

The artifact — iterated to green, yours to merge.

Documents with AI redlines

A calm writing surface over the daemon's documents folder. Type an instruction — "tighten the intro" — and proposed edits come back as inline tracked-changes, each with its own Accept/Reject plus an Accept all. Nothing touches disk until you accept.

AI redlines pending in the Documents editor — each proposed edit shown inline with Accept and Reject controls

Redlines pending — accepting is what applies them.

Models & keys

Paste a provider key once — it saves to the daemon, takes effect immediately, and is never shown again. Auth-mode badges say whether a provider runs on an API key or a subscription, and "Sign in with SuperGrok" is a full OAuth device-code flow for xAI — your subscription powers it, no key at all.

Beacon's Models tab — per-provider API keys, auth-mode badges, and SuperGrok subscription sign-in

The Models tab — paste-once keys and SuperGrok sign-in.

The Skin Codex

Eight named theme plates — NOX, LVX, AVRVM, VMBRA, AERVGO, CAERVLA, RVBEDO, AETHER — each a complete design-token set with a live preview tile. Your pick persists across launches.

The Skin Codex theme picker — eight named theme plates with live preview tiles

The Skin Codex.

Pairing

Boot the daemon bare and it starts in setup mode, printing a one-time 6-digit code. Beacon's wizard takes it from there: connect → model → identity → gateways → a smoke test that runs one real chat round-trip before letting you in. It works over Tailscale as well as it does at home. The token lands in the OS keychain and never reaches the renderer — the UI knows a token exists, never its value.

Beacon's setup wizard pairing with a daemon using a 6-digit code

The wizard's connect step — six digits and you're paired.

Mission Control HUD Armilla Sessions tree Kanban board → dispatch to coding run Files + preview pane Activity / Tool feeds ⌘K palette Quick Capture ⌘⇧Space exec-approval overlay tray + notifications offline outbox 401-honest connection indicator Memory editor with conflict rebase Attention inbox — approvals + stalled turns + failed sends readable session source chips + Automated-run folding

Thirteen views in a grouped nav rail. The connection dot at its foot turns an amber lock when the daemon rejects your token — a 401 is reported as a 401, not disguised as "offline." Half-open sockets are detected and re-dialed too, so "Connected" can never point at a dead socket.

Get Beacon

The Beacon repo is private while it hardens. Public builds — a macOS dmg and a Linux AppImage/deb — arrive with the public release. Until then, Beacon ships to early users from draft releases.

Public builds — coming with the public release.

Follow along at oara.ai or github.com/OAraLabs. The daemon it pairs with is open today — Prometheus.

Known Limits

The things Beacon does not do yet, so you're not surprised mid-task: