Skip to content

Architecture (Load-Bearing Facts)

These are not user features — they are the facts that anything reasoning about Orbit (including an AI agent) needs to hold true. The narrative version is in Architecture Overview.

The Orbit Server is a separate sidecar process managed by Electron over HTTP on localhost:4853 — it is not a child of Electron’s main process. The Electron app loads and runs without the server.

All system state lives under ~/.orbit/: config.json, vault.json, queue.db, and the global/, locks/, logs/, and memory/ directories. Path constants are centralized in src/paths.js.

The prompt queue is SQLite at ~/.orbit/queue.db, replacing the older flat ORCHESTRATOR.md approach. Rows left running when the server restarts reset to pending.

Remote access runs over a Cloudflare Tunnel as an independent Windows Service, paired with a Wake Receiver service (port 4854) and SSE keep-alive pings. Mobile authenticates with a Vault shared secret.

For anyone (or any agent) editing Orbit itself: the server modules live under src/; the dashboard is src/dashboard.html, src/dashboard.css, and src/modules/. Large files (server.js, dashboard.html) should be navigated by symbol, not by line number. Changes to server.js must be sequential — concurrent prompts touching it cause cherry-pick collisions. The sandbox server runs on port 4856 with its own config directory.