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 any attached n8n automations — 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) · Trigger n8n flow (n8n.trigger) |
| 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.Mixing n8n automations into a pack
A companion package can carry both on-device intents and n8n-type workflows. Attach them in the Canvas' *Automations (n8n)* tab — from the built-in n8n Library (community templates stored in Firestore), the AI Builder (natural language → n8n JSON), or a JSON import. They ship inside the pack as content.automations, deployable to your n8n instance, and the canvas bridges to them with the Trigger n8n flow node.
node scripts/import-n8n-templates.mjs --from-kit # local ai-n8n-kit corpus node scripts/import-n8n-templates.mjs --from-n8n-api 200 # top up from n8n.io (attribution kept)
AI Builder
Describe the workflow in plain English and the AI drafts it — as an Edge pack draft loaded straight onto the canvas (validated, with a self-repair pass) or as an importable n8n workflow JSON. 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