Guides
Cloud Canvas & companion packages
Build, test, sign and ship packs from the browser — no local toolchain.
The Canvas in [Edge Studio](/studio) is fully cloud-based: designing, validation, the eval gate, Try-it simulation, publisher keygen, pack signing and OTA publishing all run on LyboAI Cloud. Nothing to install — no Rust, no CLI. (Connecting a self-hosted runtime remains an optional override via the *runtime* button.)
Projects & workspaces
Each project is one companion package for one use case — the canvas draft (workflows, skill, knowledge, evals) plus its policies and prompts — grouped under a workspace and saved to your account (Firestore, owner-only). Create one in *Studio → Projects & Workspaces*, seeded from a blank canvas or one of the demo-app templates (beauty salon, tradie, restaurant, education, accountant, retail, real estate). Changes on the Canvas sync automatically.
The node palette
| Group | Nodes |
|---|---|
| Input | Ask user · Voice → text (STT, audio.transcribe) · Photo → text (OCR) · Camera capture |
| AI · on-device model | Classify · Extract · Summarise — these run on the device model |
| RAG · vector store | Retrieve (RAG) · Answer from docs · pack documents (Knowledge tab) |
| Agents | Delegate → cloud · Tag @agent (A2A) · Call webhook (webhook.post) |
| Output | Speak (TTS, speech.tts) · Send email · Export summary · Progress · Confirm |
| Tools / Flow | Web search, records, notes, reminders, custom tool_call · Set data, Checkpoint, End |
tool_call steps — every tool id shown is one your host app registers on the runtime, so everything on the palette actually executes. A fresh canvas pre-loads the Voice FAQ starter (STT → RAG → answer → TTS) so you start from a working example.Server-side work: cloud nodes and webhooks
Everything in a pack is a LYBO workflow — the same step primitives run on the phone, on a desktop node or on a cloud runtime. When a step needs more power than the device has, use Delegate → cloud (hands the task to a LYBO workflow on a cloud or desktop node, with an offline fallback via tool_failed) or Tag @agent (A2A). To hand off to any external automation platform, use the Call webhook tool (webhook.post) — it is governed like every other step: permission, policy, confirmation and audit trail.
AI Builder
Describe the workflow in plain English and the AI drafts it as a workflow (steps, skill and evals) loaded straight onto the canvas — validated, with a self-repair pass. Uses the site's LLM config (ANTHROPIC_API_KEY, with an OpenAI-compatible fallback).
Prove, sign, run
- 1
Validate + Evals
Structural checks, then your eval cases run on the cloud simulator — the gate must be green before signing.
- 2
Register & try
The Try-it runner executes your draft on the cloud simulator with a step-by-step trace.
- 3
Sign & download
Compose → keygen (save the secret once, in a vault) → sign. No licence = dev channel (watermarked); a
lybo_live_licence stamps a production pack. - 4
Run it
Cloud simulator (zero install) · your own Expo app +
.lybopackon an emulator or phone · the planned LyboAI Core playground app (Google Play) that installs packs directly.npm i @lyboai/runtime expo-lyboai npx expo run:android
Observability, prompts & sandbox runtimes
Observability (Canvas → Govern): every Try-it and eval run on the cloud simulator is recorded with its full step trace — inputs, transitions taken, outputs, final result — viewable and exportable as JSON, and saved with the project. Traces from packs running on devices stay on the device by design (observability: local_only in the manifest). Prompts (Canvas → Build): author the pack's prompt templates and test them against the live model (the site's LLM config) with {{variables}} filled in — real prompt engineering before anything ships.
Sandbox runtime — to exercise the *real* Rust runtime (real on-device models, real tool execution, its own trace inspector) without touching a phone, run it yourself in a container or VM and point the Canvas at it (*runtime* button → self-hosted):
# inside the cloned runtime repo cargo build -p lybo-cli --release ./target/release/lybo serve --http --port 4242 --token <token> # expose it (Cloud Run / Fly / your VM), set LYBO_STUDIO_CORS_ORIGIN to the site, # then Canvas → runtime → Self-hosted → paste URL + token