Concept — not yet scheduled. Captures a research session's findings so this can be picked up.
Goal
Make the omadia-ui desktop app self-contained: bundle the omadia backend so a non-technical user can double-click an installer and get a working local omadia — no Docker, no separate server to run. This is the "native installer" path (Path a) of the onboarding effort tracked in byte5ai/omadia#337.
Today omadia-ui is a canvas client that connects to a separately-running omadia server (app/src/main/discovery.ts / auth.ts; default ws://127.0.0.1:8181/omadia-ui/canvas). This issue is about shipping a build variant that brings its own backend.
What already exists (reusable foundation)
- Electron shell, electron-vite, electron-builder, auto-release pipeline for macOS (dmg arm64/x64), Windows (NSIS), Linux (AppImage).
- Signing capability — not a blocker (byte5 has an Apple Developer account; current ad-hoc signing is a deferred config choice, not an inability).
- Lume renderer, server discovery + login.
What needs building
| Building block |
Status |
Note |
| middleware sidecar |
new |
lifecycle manager in app/src/main (spawn/kill); PLATFORM_DATA_DIR → OS app-data dir |
| embedded Postgres + pgvector |
new |
e.g. @boomship/postgres-vector-embedded; per-OS/arch binary |
web-ui as a bundled, interim admin surface |
new |
see "two-UI reality" below |
| seed first admin on first boot |
new |
the client cannot create an admin — call kernel /api/v1/auth/setup on first run |
| local-default discovery |
small |
point VITE_OMADIA_WS_URL at the co-bundled backend |
The two-UI reality (verified against both repos)
The canvas client and the operator UI are distinct front-ends, not redundant:
| Flow needed for a real trial |
canvas (omadia-ui) |
web-ui (Next.js, in byte5ai/omadia) |
| first-admin setup + LLM key / provider |
✗ |
✓ /setup, /admin/providers |
| Agent Builder (elementary — omadia isn't really usable without it) |
✗ |
✓ /admin/builder |
| run an agent + chat |
✓ |
✓ |
| audit-receipt / run trace |
✗ |
✓ /routines/.../runs |
The canvas channel exposes only discovery + the WS canvas protocol; Setup/Builder/Audit are web-ui/kernel routes. So the self-contained app must bundle web-ui as an interim admin layer alongside the canvas, until the canvas covers Setup/Builder/Audit itself (planned, but not soon — capacity-bound). Bundle = canvas (host UI) + web-ui (interim admin) + middleware + embedded Postgres.
Engine / key
API key via the Setup wizard today. byte5ai/omadia#309 (subscription via the official CLI) makes it key-free later — caveat: in a double-click app the Claude CLI would have to be bundled/required, whereas the setup-prompt path (Path b) gets it for free since the installing agent already runs on the subscription.
Cross-platform note
The hard part is not the shell or signing (both already exist for 3 OSes) — it's the native backend deps (argon2, better-sqlite3) + the Postgres binary per OS/arch. Open scope question: mac-first (use the existing Apple setup, Mac-leaning evaluator base) vs. all 3 OSes at once.
Related
Status
Concept. A hands-on dry-run of the non-Docker install (to measure real robustness + produce the build steps) is the next step.
Concept — not yet scheduled. Captures a research session's findings so this can be picked up.
Goal
Make the omadia-ui desktop app self-contained: bundle the omadia backend so a non-technical user can double-click an installer and get a working local omadia — no Docker, no separate server to run. This is the "native installer" path (Path a) of the onboarding effort tracked in byte5ai/omadia#337.
Today omadia-ui is a canvas client that connects to a separately-running omadia server (
app/src/main/discovery.ts/auth.ts; defaultws://127.0.0.1:8181/omadia-ui/canvas). This issue is about shipping a build variant that brings its own backend.What already exists (reusable foundation)
What needs building
app/src/main(spawn/kill);PLATFORM_DATA_DIR→ OS app-data dir@boomship/postgres-vector-embedded; per-OS/arch binaryweb-uias a bundled, interim admin surface/api/v1/auth/setupon first runVITE_OMADIA_WS_URLat the co-bundled backendThe two-UI reality (verified against both repos)
The canvas client and the operator UI are distinct front-ends, not redundant:
web-ui(Next.js, in byte5ai/omadia)/setup,/admin/providers/admin/builder/routines/.../runsThe canvas channel exposes only discovery + the WS canvas protocol; Setup/Builder/Audit are web-ui/kernel routes. So the self-contained app must bundle
web-uias an interim admin layer alongside the canvas, until the canvas covers Setup/Builder/Audit itself (planned, but not soon — capacity-bound). Bundle = canvas (host UI) + web-ui (interim admin) + middleware + embedded Postgres.Engine / key
API key via the Setup wizard today. byte5ai/omadia#309 (subscription via the official CLI) makes it key-free later — caveat: in a double-click app the Claude CLI would have to be bundled/required, whereas the setup-prompt path (Path b) gets it for free since the installing agent already runs on the subscription.
Cross-platform note
The hard part is not the shell or signing (both already exist for 3 OSes) — it's the native backend deps (
argon2,better-sqlite3) + the Postgres binary per OS/arch. Open scope question: mac-first (use the existing Apple setup, Mac-leaning evaluator base) vs. all 3 OSes at once.Related
Status
Concept. A hands-on dry-run of the non-Docker install (to measure real robustness + produce the build steps) is the next step.