Omadia UI is the desktop surface for the omadia agentic OS: agents synthesise real UI — tables, forms, charts, wizards, editor regions — over a wire protocol, and the host renders it instantly in one coherent material system. Persistent, multi-canvas, stateful. The interface is no longer a chat log; it is a workspace the agent composes for the task at hand.
Website · Quickstart · Concept · Protocol · Visual spec
Chat is the "DOS era" of LLM interaction: powerful but linear and text-only. Omadia UI is the next layer — a desktop application where the agent materialises live UI as it orchestrates a request across source systems (Jira, ERP, HR, …):
- 🧱 24 primitives, one protocol. The wire format
(
omadia-canvas-protocol/1.0) composes anything from a TUI-style list to a Photoshop-class workspace — all rendered against a single validated, CSP-safe whitelist. - ⚡ Deterministic where it matters. Known flows get known UI: plugins publish fixed canvas trees, navigation and refresh run LLM-free, and the static app menu survives error states — the user is never stranded.
- 💡 One material: Lume. Light-as-material design system with hard rules (surface-nesting ladder, chrome budget, three user-bindable palettes) — enforced by the renderer for every tree, no per-plugin skinning.
- 🗂️ A real workspace. Multiple live canvases with their own server sessions, tiling split panes, named desktops, a canvas library — all synced through the omadia registry and restored on restart.
Download: grab the installer for your OS from the latest release — macOS (dmg, arm64/x64), Windows (NSIS) and Linux (AppImage) are built and attached automatically for every release.
Build from source:
git clone https://github.com/byte5ai/omadia-ui.git
cd omadia-ui/app
npm ci
npm run dev # electron-vite dev against your omadia server
npm run dist # packaged installers into app/distOn first start, point the app at your running omadia server (WebSocket URL + login).
Three tiers, split across client × server:
| Tier | Latency | What lives there |
|---|---|---|
| 1 — deterministic | instant | This host app + omadia-ui-channel: rendering, validation, local operations, deterministic actions |
| 2 — small LLM | sub-second | omadia-ui-orchestrator: composition, style inference, action routing |
| 3 — heavy LLM + tools | seconds+ | omadia plugins: data, AI services, long-running operations |
See docs/architecture-3tier.svg and
CONCEPT.md for the full architecture, security surface and
forward-compatibility constraints (shared canvases land in v2 without a wire
refactor).
| File | Purpose |
|---|---|
CONCEPT.md |
Architecture, primitives, protocol, security, identity, SDK extension plan |
docs/visual-spec.md |
Lume material system — tokens, rules, composition idioms (v0.4) |
docs/protocol/1.0.md |
Protocol specification + machine-validatable JSON Schemas |
docs/walkthroughs.md |
Use-case walkthroughs — multi-source comparison + editor micro-task |
docs/tech-stack.md |
Tech-stack decision for the host app (Electron), with reasoning |
app/ |
The host application — Electron, strict TypeScript, vitest |
Omadia UI rides on byte5ai/omadia. The
protocol contract (@omadia/canvas-core: schemas + canonical fixtures) is
synced from the monorepo at build time — no vendored copy, no drift; a parity
test validates every canonical fixture against this renderer.
The host app is implemented and in active development: full 24-primitive
renderer, Lume v0.4 as renderer law, multi-canvas workspace (tiling, desktops,
library), deterministic refresh/actions/navigation, native login, streaming
plugin UI (X Studio as reference). Releases are cut automatically — every PR
merged to main produces a semantic version with generated notes and
installers for macOS, Windows and Linux.
macOS signing/notarization is intentionally deferred to the GA pipeline.
MIT — Copyright © 2026 byte5 GmbH.
Maintained by byte5 GmbH under the GitHub organisation
byte5ai.