forked from Selig/openclaw-skill
6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# Canvas
|
|
|
|
## Overview
|
|
|
|
The Canvas feature in OpenClaw is a lightweight visual workspace for HTML/CSS/JS, A2UI, and small interactive UI surfaces embedded in the macOS app using `WKWebView`.
|
|
|
|
## Key Storage & Access
|
|
|
|
Canvas files are stored in `~/Library/Application Support/OpenClaw/canvas/<session>/` and served through a custom `openclaw-canvas://` URL scheme that prevents directory traversal attacks.
|
|
|
|
## Core Capabilities
|
|
|
|
The agent can control Canvas through several operations:
|
|
|
|
- Display or hide the panel
|
|
- Navigate to local paths or external URLs
|
|
- Execute JavaScript commands
|
|
- Generate snapshot images
|
|
|
|
## A2UI Integration
|
|
|
|
The system supports A2UI v0.8 server-to-client messages including `surfaceUpdate`, `dataModelUpdate`, and `deleteSurface`. The newer `createSurface` (v0.9) remains unsupported.
|
|
|
|
## Agent Triggering
|
|
|
|
Canvas content can initiate new agent runs using deep links formatted as `openclaw://agent?message=<text>`, with confirmation prompts unless a valid key is supplied.
|
|
|
|
## Security Features
|
|
|
|
Canvas scheme blocks directory traversal; files must live under the session root. External URLs require explicit navigation permissions.
|