WKWebView, uno
spazio di lavoro visivo leggero per HTML/CSS/JS, A2UI e piccole superfici
di interfaccia utente interattive.
Dove si trova Canvas
Lo stato di Canvas viene archiviato in Application Support:~/Library/Application Support/OpenClaw/canvas/<session>/...
openclaw-canvas://<session>/<path>:
openclaw-canvas://main/-><canvasRoot>/main/index.htmlopenclaw-canvas://main/assets/app.css-><canvasRoot>/main/assets/app.cssopenclaw-canvas://main/widgets/todo/-><canvasRoot>/main/widgets/todo/index.html
index.html, l’app mostra una pagina di base integrata.
Comportamento del pannello
- Pannello senza bordi e ridimensionabile, ancorato vicino alla barra dei menu (o al cursore del mouse).
- Memorizza dimensioni e posizione per ogni sessione.
- Si ricarica automaticamente quando cambiano i file Canvas locali.
- È visibile un solo pannello Canvas alla volta (la sessione cambia secondo necessità).
CANVAS_DISABLED.
Superficie API dell’agente
Canvas è esposto tramite il WebSocket del Gateway, consentendo all’agente di mostrare o nascondere il pannello, passare a un percorso o URL, valutare JavaScript e acquisire un’immagine istantanea:canvas.navigate accetta percorsi Canvas locali, URL http(s) e URL file://.
Passando "/" viene mostrata la pagina di base locale o index.html.
Le destinazioni ospitate dal Gateway in /__openclaw__/canvas/ e
/__openclaw__/a2ui/ vengono risolte mediante l’URL Canvas con ambito corrente della sessione
del nodo. L’app aggiorna questa funzionalità di breve durata prima della navigazione;
non è necessario creare o copiare manualmente un URL di funzionalità.
A2UI in Canvas
A2UI è ospitato dall’host Canvas del Gateway e visualizzato all’interno del pannello Canvas. Quando il Gateway annuncia un host Canvas, al primo avvio l’app macOS passa automaticamente alla pagina dell’host A2UI. L’URL annunciato è limitato all’ambito della funzionalità, ad esempiohttp://<gateway-host>:18789/__openclaw__/cap/<token>/__openclaw__/a2ui/?platform=macos.
Deve essere trattato come credenziale temporanea, non come collegamento stabile.
Comandi A2UI (v0.8)
Canvas accetta i messaggi A2UI v0.8 dal server al client:beginRendering,
surfaceUpdate, dataModelUpdate, deleteSurface. createSurface (v0.9) non è
ancora supportato.
Avvio delle esecuzioni dell’agente da Canvas
Canvas può avviare nuove esecuzioni dell’agente mediante i deep linkopenclaw://agent?...:
L’app richiede una conferma, a meno che non venga fornita una chiave valida. I collegamenti
senza chiave mostrano il messaggio e l’URL prima dell’approvazione e ignorano i campi
di instradamento del recapito; i collegamenti con chiave utilizzano il normale percorso di esecuzione del Gateway.
Note sulla sicurezza
- Lo schema Canvas blocca l’attraversamento delle directory; i file devono trovarsi nella radice della sessione.
- I contenuti Canvas locali usano uno schema personalizzato (non è necessario un server di loopback).
- Gli URL
http(s)esterni sono consentiti solo quando vi si accede esplicitamente. - Le normali pagine web consentono solo la visualizzazione. Le azioni dell’agente vengono accettate solo dallo schema Canvas di proprietà dell’app o dallo specifico documento A2UI del Gateway con ambito di funzionalità selezionato dall’app; i sottoframe, i reindirizzamenti, le funzionalità scadute e le query modificate non possono inviare azioni.