Architecture
Technical architecture of Ember desktop and Ember Cloud
Architecture
Ember desktop (open source)
┌─────────────────────────────────────────┐
│ Electron main / renderer │
│ UI · tasks · context · providers │
├─────────────────────────────────────────┤
│ App Server (Rust) · local API / automation│
├─────────────────────────────────────────┤
│ Mobile drivers · ADB / iOS / HarmonyOS │
└─────────────────────────────────────────┘
│ HTTPS (bring your own)
▼
Third-party AI providersStack
- Shell: Electron
- Local services: Rust App Server
- UI: modern web stack (see repo)
- License: GPLv3
Data stays on device by default; keys and project context are not sent to Ember release infrastructure unless you use Cloud features.
Ember Cloud (proprietary)
┌──────────┐ ┌─────────────┐ ┌──────────────┐
│ lmweb │────▶│ API gateway │────▶│ Workspace │
└──────────┘ └──────┬──────┘ └──────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Device scheduler UI-Genie/uiagent Jobs / queue
│
▼
Cloud device pool| Component | Role |
|---|---|
| lmweb | Console, instructions, monitoring |
| uiagent | Multimodal UI orchestration |
| Device service | Allocate devices, screen stream |
| ember-mcp | IDE MCP adapter |
Private deployments containerize services on customer K8s/VM with customer storage and DB.
Working together
- Design cases in Ember desktop
- Promote NL instructions to Cloud instruction repo
- CI triggers UI-Genie via AccessToken
- Cursor uses ember-mcp for debug and status