Canvas (app macOS)
L’app macOS intègre un panneau Canvas contrôlé par l’agent viaWKWebView. Il
s’agit d’un espace de travail visuel léger pour HTML/CSS/JS, A2UI et de petites
surfaces d’interface interactives.
Où se trouve Canvas
L’état Canvas est stocké sous 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 n’existe à la racine, l’app affiche une page d’échafaudage intégrée.
Comportement du panneau
- Panneau sans bordure, redimensionnable, ancré près de la barre de menus (ou du curseur de la souris).
- Mémorise la taille/la position par session.
- Se recharge automatiquement lorsque les fichiers canvas locaux changent.
- Un seul panneau Canvas est visible à la fois (la session est changée si nécessaire).
CANVAS_DISABLED.
Surface API d’agent
Canvas est exposé via le WebSocket de la passerelle, de sorte que l’agent peut :- afficher/masquer le panneau
- naviguer vers un chemin ou une URL
- évaluer du JavaScript
- capturer une image instantanée
canvas.navigateaccepte des chemins canvas locaux, des URLhttp(s)et des URLfile://.- Si vous passez
"/", Canvas affiche l’échafaudage local ouindex.html.
A2UI dans Canvas
A2UI est hébergé par l’hôte canvas de la passerelle et rendu à l’intérieur du panneau Canvas. Lorsque la passerelle annonce un hôte Canvas, l’app macOS navigue automatiquement vers la page d’hôte A2UI lors de la première ouverture. URL d’hôte A2UI par défaut :Commandes A2UI (v0.8)
Canvas accepte actuellement les messages serveur→client A2UI v0.8 suivants :beginRenderingsurfaceUpdatedataModelUpdatedeleteSurface
createSurface (v0.9) n’est pas pris en charge.
Exemple CLI :
Déclencher des exécutions d’agent depuis Canvas
Canvas peut déclencher de nouvelles exécutions d’agent via des liens profonds :openclaw://agent?...
Remarques de sécurité
- Le schéma Canvas bloque la traversée de répertoires ; les fichiers doivent se trouver sous la racine de session.
- Le contenu Canvas local utilise un schéma personnalisé (aucun serveur loopback requis).
- Les URL
http(s)externes ne sont autorisées que lorsqu’elles sont explicitement visitées.