← All posts
About LyboAI

One Agent, Every On-Device AI Stack: A Grounded Look at LyboAI Edge

LyboAI· 2026-07-19· 5 min read
One Agent, Every On-Device AI Stack: A Grounded Look at LyboAI Edge

The real problem isn't the model — it's the fragmentation

On-device AI has quietly stopped being one thing. Android ships Gemini Nano, iOS exposes Apple's on-device foundation models, Windows runs Phi Silica on the NPU, and a large share of hardware in the field has none of the above. The usual result is that a team writes the same assistant three or four times, once per platform, and still has nothing for the offline case.

LyboAI Edge starts from the opposite premise: one governed agent that runs across every OS-native AI stack. Each platform's model is treated as a routing tier, not a rewrite — the runtime uses the native engine where it exists (zero download, NPU-fast, private) and falls back to its own built-in inference where it doesn't. Everything below is grounded in our developer docs at lyboai.app/developers/docs — the stack, the routing model, the trust model, and how you'd build one yourself.

The stack: a Rust core behind a tiny C ABI

Under every companion sits a layered runtime. Your app — Expo, React Native or native — talks to thin platform bindings (expo-lyboai, Swift, Kotlin), which cross into the core through lybo-ffi: a deliberately small four-function C ABI that speaks a JSON protocol. Behind that ABI is lybo-core, a Rust engine that holds the agents, workflows, middleware, model router, RAG and memory, policy-gated tools, pack management and encrypted storage.

The whole runtime executes on-device, per app instance. A request flows through middleware, intent routing, skill execution, policy-gated tools, then memory and trace persistence — and the host receives progress as a stream of events (agent.token, tool.awaitingApproval, checkpoint.created). An optional server, lybo-plane, handles the pack catalogue and entitlements, but the agent itself never depends on it to think.

Your app
Expo · React Native · native
Platform bindings
expo-lyboai · Swift · Kotlin
lybo-ffi
4-function C ABI · JSON protocol
lybo-core (Rust)
agents · workflows · model router · RAG · policy · encrypted store
lybo-plane (optional)
pack catalogue · entitlements
The LyboAI Edge stack — everything above lybo-plane runs on the device
The layered runtime: your app and platform bindings sit above a four-function C ABI into the Rust core; the plane is optional.

Models as a routing tier, not a dependency

Lybo OS is the layer that makes one agent portable. It treats each platform model as a normal routing tier — leveraging the OS engine where it exists, augmenting what the OS API lacks, and degrading gracefully where there's nothing. On Android that's os.android.nano (Gemini Nano, with structured output and prefix caching); on iOS, os.apple.afm (guided generation, tool calling, a Spotlight search tool); on Windows, os.windows.phi (Phi Silica on the NPU, with LoRA fine-tuning); and with no native engine at all, lybo.builtin runs full GGUF inference locally.

Selection happens through a cascade: deterministic rules for low-end or offline devices, a tiny intent classifier, small quantised models (1–8B), larger local models on capable hardware, and only then — privacy permitting — a cloud fallback. The point of the design is stated plainly in the docs: agents, skills, workflows and packs never change when models do. You can even attach any engine that speaks one JSON object per line — llama.cpp, Ollama, or a custom bridge — via --model-cmd, and model downloads are resumable, SHA256-checked and storage-pressure gated.

Agent orchestration in the LyboAI platform — one governed agent coordinating across models and tools.
Agent orchestration in the LyboAI platform — one governed agent coordinating across models and tools.
One governed agentlybo-core · same skills, workflows & packs
Android
os.android.nano
Gemini Nano · NPU
iOS
os.apple.afm
Apple foundation models
Windows
os.windows.phi
Phi Silica on NPU
Offline
lybo.builtin
built-in GGUF inference
Same skills, workflows and packs on every tier — only the underlying engine changes
Lybo OS maps one agent onto each platform's native AI engine, with a built-in GGUF fallback for offline devices.

Why nothing you install can run code

Capabilities ship as packs: a pack is one signed JSON document that can add skills, workflows, knowledge, prompts, policies and eval suites — and, critically, packs never contain executable code. That single constraint is what makes over-the-air updates safe. Each pack's content is hashed with SHA256 and the manifest signed with ed25519; a device installs it only if the publisher's key is already trusted, and verifies the hash and signature locally before anything registers.

The rest of the safety model is similarly concrete. Storage is encrypted with ChaCha20-Poly1305 using keys drawn from the device keychain. Every tool call runs a fixed pipeline — permission, policy, schema, confirmation, execute, audit — and human approvals are single-use, survive app restarts, and never let a call skip the checks it would otherwise face. Workflows carry step budgets and agent loops carry iteration caps, so a runaway process fails safely rather than spinning. And every routing decision, tool call and repair is written to a glass-box trace chain you can verify (verify_trace_chain).

The security and governance view — signed packs, encrypted storage and verifiable traces.
The security and governance view — signed packs, encrypted storage and verifiable traces.

From one handset to a whole fleet

The same building blocks scale past a single phone. Lybo OS describes three tiers that share one agent definition. Edge devices — handhelds running OS-native or tiny models under roughly 1.5B — handle voice-to-text, form filling, urgency flagging and structuring messy input into clean JSON. Node machines — a site or vehicle PC running quantised 3–14B models with a local vector database — do regional RAG over manuals and assets, plus aggregation, dedupe and summarisation. Core — a cloud hub with frontier models behind adapters — handles cross-fleet reasoning, anomaly detection and compliance.

Between tiers, data moves by store-and-forward: structured deltas queue locally and trickle up when bandwidth allows, with redaction at every egress boundary. Media crosses boundaries by reference — a content-hash id and path, never inlined base64 — with EXIF scrubbed before hashing.

Edge
handhelds · OS-native / <1.5B
voice→text, forms, urgency, clean JSON
Node
site / vehicle PC · 3–14B + vector DB
regional RAG, aggregate, dedupe, summarise
Core
cloud hub · frontier LLM
cross-fleet reasoning, anomalies, compliance
Store-and-forward between tiers — structured deltas trickle up, redacted at every boundary
The Edge / Node / Core model: the same agent definition spread across handhelds, on-site machines and a cloud hub.

Building one takes about five minutes

None of this requires a GPU, an API key or a network to try. The quickstart runs ./scripts/try.sh and opens Studio — the same runtime that ships in production apps — on 127.0.0.1:4242; add --with-llm and it ships a small Qwen model for real inference. A first agent is a handful of declarative calls: install some knowledge, register a skill that binds trigger phrases to one of six execution patterns (from simple_chat and retrieval to a policy-gated react_tool_use), and define a workflow as a JSON state graph with a confirm step for human approval.

For teams who'd rather not touch Rust, the Cloud Canvas in Edge Studio does design, validation, the eval gate, Try-it simulation, signing and OTA publishing in the browser — and the eval gate has to be green before a pack can be signed. SDKs cover TypeScript, Python and Expo, so the same agent you prototype in the browser is the one that ships to the device.

Build your first on-device AI companion

Start free in LyboAI Edge Studio — from a blank project to a signed pack on a device.

Open lyboai.app →