WKWebView, un
espacio de trabajo visual ligero para HTML/CSS/JS, A2UI y pequeñas superficies
de interfaz de usuario interactivas.
Dónde se encuentra Canvas
El estado de Canvas se almacena en 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 en la raíz, la app muestra una página de andamiaje integrada.
Comportamiento del panel
- Panel sin bordes y redimensionable anclado cerca de la barra de menús (o del cursor del mouse).
- Recuerda el tamaño y la posición por sesión.
- Se recarga automáticamente cuando cambian los archivos locales de Canvas.
- Solo un panel Canvas es visible a la vez (la sesión cambia según sea necesario).
CANVAS_DISABLED.
Superficie de API del agente
Canvas se expone mediante el WebSocket del Gateway, de modo que el agente puede mostrar/ocultar el panel, navegar a una ruta o URL, evaluar JavaScript y capturar una imagen instantánea:canvas.navigate acepta rutas locales de canvas, URL http(s) y URL file://.
Pasar "/" muestra el andamiaje local o index.html.
A2UI en Canvas
A2UI está alojado por el host de canvas del Gateway y se renderiza dentro del panel Canvas. Cuando el Gateway anuncia un host de Canvas, la app de macOS navega automáticamente a la página host de A2UI en la primera apertura. URL predeterminada del host de A2UI:http://<gateway-host>:18789/__openclaw__/a2ui/
Comandos de A2UI (v0.8)
Canvas acepta mensajes servidor-a-cliente de A2UI v0.8:beginRendering,
surfaceUpdate, dataModelUpdate, deleteSurface. createSurface (v0.9) aún
no es compatible.
Activar ejecuciones de agente desde Canvas
Canvas puede activar nuevas ejecuciones de agente mediante enlaces profundosopenclaw://agent?...:
| Parámetro | Significado |
|---|---|
message | Prompt del agente rellenado previamente. |
sessionKey | Identificador de sesión estable. |
thinking | Perfil de pensamiento opcional. |
deliver, to, channel | Destino de entrega. |
timeoutSeconds | Tiempo de espera de ejecución opcional. |
key | Token de seguridad generado por la app para llamadores locales de confianza. |
Notas de seguridad
- El esquema de Canvas bloquea el recorrido de directorios; los archivos deben residir bajo la raíz de la sesión.
- El contenido local de Canvas usa un esquema personalizado (no se requiere servidor loopback).
- Las URL externas
http(s)solo se permiten cuando se navega explícitamente a ellas.