Skip to content

Desktop App

The Acrobi Cortex Desktop App is an Electron-based application that provides a full-featured local environment for AI agent orchestration — with zero cloud costs for real-time events.

Why Desktop?

BenefitDescription
Zero real-time costsEmbedded WebSocket server runs locally — no cloud connections needed for self-monitoring
Offline capabilityLocal SQLite database stores events for replay when reconnecting
Local LLM supportBuilt-in proxy to Ollama and LM Studio for privacy-first AI
Cross-user syncLightweight webhook push from cloud — no persistent connections

Tech Stack

  • Framework: Electron 33 + Next.js 15
  • Language: TypeScript (strict mode)
  • Database: better-sqlite3 (local persistence)
  • WebSocket: ws library (embedded server)
  • LLM Proxy: HTTP bridge to Ollama (port 11434) and LM Studio (port 1234)

Port Allocation

PortService
3690Cortex API (Express, dev mode)
3691Next.js renderer (dev mode)
3692Ollama proxy (LLM bridge)
3693Local real-time server (WebSocket + event ingestion)

Services

The Electron main process runs several embedded services:

ServiceFilePurpose
OllamaProxyelectron/services/OllamaProxy.tsHTTP bridge to local LLMs
OllamaDetectorelectron/services/OllamaDetector.tsAuto-detects local LLM servers
ClaudeCodeBridgeelectron/services/ClaudeCodeBridge.tsClaude Code CLI integration
LocalRealtimeServerelectron/services/LocalRealtimeServer.tsEmbedded WebSocket + event ingestion
EventSyncBridgeelectron/services/EventSyncBridge.tsCross-user sync coordinator
CortexServiceelectron/services/CortexService.tsBackend lifecycle management

IPC Bridge

The renderer (Next.js) communicates with the Electron main process via IPC:

typescript
// In renderer (React component)
const status = await window.cortex.realtime.getStatus();
const events = await window.cortex.realtime.getEventLog({ limit: 50 });

// Subscribe to local real-time events
window.cortex.realtime.subscribe('agent:my-agent', (event) => {
  console.log('Agent event:', event);
});

Getting Started

  1. Download the desktop app from acrobi.com/download
  2. Sign in with your Acrobi account
  3. The local real-time server starts automatically
  4. Your dashboard receives events locally — no cloud WebSocket needed

Next Steps

Built by Acrobi