Community코딩 & 개발github.com

캔버스

연결된 OpenClaw 노드의 캔버스에 HTML을 표시하고, 탐색/평가/스냅샷 기능을 제공하며 캔버스 호스트 URL을 디버깅합니다.

캔버스란 무엇인가요?

Canvas 스킬은 OpenClaw 에이전트가 연결된 Mac, iOS, Android 노드의 WebView 기반 캔버스에 HTML 콘텐츠를 표시할 수 있게 해주는 플러그인입니다. 이 스킬은 로컬 개발 환경이나 Tailscale, LAN을 통해 연결된 원격 노드에서도 작동하며, Gateway HTTP 포트를 통해 파일을 제공합니다. 주요 기능으로는 캔버스 표시/숨기기(present/hide), URL 탐색(navigate), JavaScript 코드 실행(eval), 스크린샷 캡처(snapshot) 등이 있어 대화형 UI 테스트나 프레젠테이션에 유용합니다. 설정 파일인 openclaw.json을 통해 캔버스 파일이 위치할 루트 디렉토리와 라이브 리로드 여부를 구성할 수 있습니다. 사용자는 자체 HTML/JS 파일을 호스팅하거나 기본 제공되는 경로를 통해 파일을 제공받을 수 있으며, 문제 해결 가이드에는 네트워크 설정, 방화벽, Tailscale 상태 확인 등의 디버깅 팁이 포함되어 있습니다. 이 스킬은 OpenClaw 시스템의 Gateway, Node Bridge, Capability URL 구조와 밀접하게 통합되어 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/skills/canvas

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

캔버스은(는) 무엇을 하나요?

캔버스를 사용하여 연결된 Mac/iOS/Android 노드에 HTML을 표시합니다.

모델

  • 캔버스 호스트는 plugins.entries.canvas.config.host.root에서 파일을 제공합니다.
  • 캔버스 경로는 Gateway HTTP 포트(gateway.port, 기본값 18789)에 위치합니다.
  • 노드 브리지는 캔버스 URL을 연결된 노드 앱으로 전송합니다.
  • 노드 앱은 WebView에서 URL을 렌더링합니다.
  • 호스트 이름은 gateway.bind를 따릅니다: 루프백은 로컬 전용, LAN IP는 LAN용, Tailscale 호스트는 tailnet용이며 최적의 경로를 자동 선택합니다.
  • Localhost URL은 동일 머신의 노드에서만 작동합니다.
  • 페어링된 노드는 일반적으로 노드 범위의 pluginSurfaceUrls.canvas 기능 URL을 수신하며, 가능하면 이 URL을 우선 사용합니다.

설정

활성 설정: $OPENCLAW_CONFIG_PATH 또는 ~/.openclaw/openclaw.json.

{
  "plugins": {
    "entries": {
      "canvas": {
        "config": {
          "host": {
            "enabled": true,
            "root": "~/.openclaw/canvas",
            "liveReload": true
          }
        }
      }
    }
  },
  "gateway": { "bind": "auto" }
}

액션

  • present: 캔버스 표시, 선택적 URL.
  • hide: 캔버스 숨기기.
  • navigate: 새 URL 열기.
  • eval: 현재 캔버스에서 JavaScript 실행.
  • snapshot: 스크린샷 캡처.

워크플로우

  1. Canvas 플러그인 호스트가 활성화되어 있는지 확인합니다.
  2. HTML/CSS/JS 파일을 plugins.entries.canvas.config.host.root 또는 기본 상태 캔버스 디렉토리에 배치합니다.
  3. 대상 노드가 접근 가능한 경로를 사용합니다.
  4. 호스팅된 URL을 표시합니다: /__openclaw__/canvas/<file>.html.
  5. 사용자에게 증거가 필요할 때 snapshot을 사용합니다.

URL 형태

http://<gateway-host>:<gateway.port>/__openclaw__/canvas/index.html
http://<gateway-host>:<gateway.port>/__openclaw__/canvas/games/snake.html

경로 매핑:

  • /__openclaw__/canvas/index.html -> <canvas host root>/index.html
  • /__openclaw__/canvas/games/snake.html -> <canvas host root>/games/snake.html

문제 해결

  • 노드가 localhost를 보지만 원격인 경우: gateway.bind 또는 공개 URL을 수정하고 URL을 재생성하세요.
  • LAN 노드가 로드되지 않음: 동일 네트워크, 방화벽, Gateway 포트 및 인증/기능 URL을 확인하세요.
  • Tailnet 노드가 로드되지 않음: Tailscale 상태와 광고된 호스트를 확인하세요.
  • 빈 페이지: URL을 로컬에서 열고 브라우저 콘솔을 확인한 후 노드 스냅샷을 찍으세요.
  • 라이브 리로드가 작동하지 않음: liveReload 설정과 파일이 루트 아래에 기록되는지 확인하세요.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills and agent Templates when requested; add Templates; install, verify, update, uninstall, publish, or sync skills.

claw-score

Audit or refresh OpenClaw maturity scorecard docs from root taxonomy, maturity scores, and QA evidence artifacts without using maintainer discrawl data or committed inventory reports.

관련 스킬