WKWebView. È
uno spazio di lavoro visivo leggero per HTML/CSS/JS, A2UI e piccole superfici
UI interattive.
Dove vive Canvas
Lo stato di Canvas è 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 nella root, l’app mostra una pagina scaffold integrata.
Comportamento del pannello
- Pannello senza bordi e ridimensionabile, ancorato vicino alla barra dei menu (o al cursore del mouse).
- Ricorda dimensione/posizione per sessione.
- Si ricarica automaticamente quando i file Canvas locali cambiano.
- È visibile un solo pannello Canvas alla volta (la sessione viene cambiata secondo necessità).
CANVAS_DISABLED.
Superficie API dell’agente
Canvas è esposto tramite il Gateway WebSocket, quindi l’agente può:- mostrare/nascondere il pannello
- navigare verso un percorso o URL
- valutare JavaScript
- acquisire un’immagine snapshot
canvas.navigateaccetta percorsi canvas locali, URLhttp(s)e URLfile://.- Se passi
"/", Canvas mostra lo scaffold locale oindex.html.
A2UI in Canvas
A2UI è ospitato dall’host canvas del Gateway e renderizzato dentro il pannello Canvas. Quando il Gateway annuncia un host Canvas, l’app macOS naviga automaticamente alla pagina host A2UI alla prima apertura. URL predefinito dell’host A2UI:Comandi A2UI (v0.8)
Canvas attualmente accetta messaggi server→client A2UI v0.8:beginRenderingsurfaceUpdatedataModelUpdatedeleteSurface
createSurface (v0.9) non è supportato.
Esempio CLI:
Attivazione di esecuzioni dell’agente da Canvas
Canvas può attivare nuove esecuzioni dell’agente tramite deep link:openclaw://agent?...
message: prompt dell’agente precompilato.sessionKey: identificatore stabile della sessione.thinking: profilo di ragionamento opzionale.deliver,toochannel: destinazione di consegna.timeoutSeconds: timeout di esecuzione opzionale.key: token di sicurezza generato dall’app per chiamanti locali attendibili.
Note sulla sicurezza
- Lo schema Canvas blocca l’attraversamento delle directory; i file devono trovarsi sotto la root della sessione.
- Il contenuto Canvas locale usa uno schema personalizzato (non è richiesto alcun server local loopback).
- Gli URL esterni
http(s)sono consentiti solo quando vengono navigati esplicitamente.