Canvas

Polar Sponsor
爱发电 赞助
.NET 9.0

在网页画布上显示并控制已连接 Mac、iOS 或 Android 节点的 HTML 内容,支持实时重载和远程操作。

Canvas Skill.

功能概述

Canvas Skill.是一项面向实际任务的技能,主要用于Display HTML 内容在连接的 OpenClaw 节点(Mac app, iOS, Android)上.;Overview. cause 工具允许您在任何连接的节点的cause 视图上显示网页内容. . great for:.Displa。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Canvas 技能

在已连接的 OpenClaw 节点(Mac 应用、iOS、Android)上显示 HTML 内容。

概述

Canvas 工具允许你在任意已连接节点的 Canvas 视图中呈现网页内容。适用于以下场景:

  • 运行游戏、数据可视化、仪表盘
  • 展示动态生成的 HTML 内容
  • 交互式演示

工作原理

架构

┌─────────────────┐     ┌──────────────────┐     ┌─────────────┐
│  Canvas Host    │────▶│   Node Bridge    │────▶│  Node App   │
│  (HTTP Server)  │     │  (TCP Server)    │     │ (Mac/iOS/   │
│  Port 18793     │     │  Port 18790      │     │  Android)   │
└─────────────────┘     └──────────────────┘     └─────────────┘
  1. Canvas Host 服务器:从 canvasHost.root 目录提供静态 HTML/CSS/JS 文件
  2. Node Bridge:向已连接节点广播 Canvas URL
  3. Node 应用:在 WebView 中渲染内容

Tailscale 集成

Canvas Host 服务器根据 gateway.bind 配置项决定绑定地址:

绑定模式 服务器绑定地址 Canvas URL 使用地址
loopback 127.0.0.1 localhost(仅限本地访问)
lan 局域网接口 局域网 IP 地址
tailnet Tailscale 接口 Tailscale 主机名
auto 自动选择最优可用地址 Tailscale > LAN > loopback

关键说明:canvasHostHostForBridge 的值由 bridgeHost 推导得出。当服务器绑定至 Tailscale 时,节点接收到的 URL 形如:

http://:18793/__openclaw__/canvas/.html

因此 localhost 类 URL 无法正常工作——因为节点从 Bridge 收到的是 Tailscale 主机名!

操作指令

操作 说明
present 显示 Canvas,可选指定目标 URL
hide 隐藏 Canvas
navigate 跳转至新 URL
eval 在 Canvas 中执行 JavaScript
snapshot 截取 Canvas 屏幕截图

配置

位于 ~/.openclaw/openclaw.json 中:

{
  "canvasHost": {
    "enabled": true,
    "port": 18793,
    "root": "/Users/you/clawd/canvas",
    "liveReload": true
  },
  "gateway": {
    "bind": "auto"
  }
}

实时重载(Live Reload)

liveReload: true(默认启用)时,Canvas Host 将:

  • 通过 chokidar 监听根目录下的文件变更
  • 向 HTML 文件注入 WebSocket 客户端脚本
  • 在检测到文件变更时,自动刷新所有已连接的 Canvas

开发体验极佳!

使用流程

1. 创建 HTML 内容

将文件置于 Canvas 根目录(默认为 ~/clawd/canvas/):

cat > ~/clawd/canvas/my-game.html << 'HTML'


My Game

  

Hello Canvas!

HTML

2. 获取 Canvas Host URL

检查 gateway 当前绑定模式:

cat ~/.openclaw/openclaw.json | jq '.gateway.bind'

据此构造 URL:

  • loopback 模式http://127.0.0.1:18793/__openclaw__/canvas/.html
  • lan / tailnet / auto 模式http://:18793/__openclaw__/canvas/.html

获取你的 Tailscale 主机名:

tailscale status --json | jq -r '.Self.DNSName' | sed 's/.$//'

3. 查找已连接节点

openclaw nodes list

查找具备 Canvas 能力的 Mac/iOS/Android 节点。

4. 呈现内容

canvas action:present node: target:

示例:

canvas action:present node:mac-63599bc4-b54d-4392-9048-b97abd58343a target:http://peters-mac-studio-1.sheep-coho.ts.net:18793/__openclaw__/canvas/snake.html

5. 导航、截图或隐藏

canvas action:navigate node: url:
canvas action:snapshot node:
canvas action:hide node:

调试指南

白屏 / 内容未加载

原因:服务器实际绑定地址与节点预期的 URL 不匹配。

调试步骤:

  1. 检查服务器绑定模式:cat ~/.openclaw/openclaw.json | jq '.gateway.bind'
  2. 确认 Canvas 端口是否就绪:lsof -i :18793
  3. 直接测试 URL 可达性:curl http://:18793/__openclaw__/canvas/.html

解决方案:务必使用与绑定模式完全匹配的完整主机名,而非 localhost。

“node required” 错误

必须始终显式指定 node: 参数。

“node not connected” 错误

节点当前离线。请使用 openclaw nodes list 查询在线节点。

内容未更新

若实时重载(Live Reload)未生效,请检查:

  1. 配置中 liveReload: true 是否已启用
  2. 文件是否位于 Canvas 根目录下
  3. 日志中是否存在 watcher 相关错误

URL 路径结构

Canvas Host 服务路径以 /__openclaw__/canvas/ 为前缀:

http://:18793/__openclaw__/canvas/index.html  → ~/clawd/canvas/index.html
http://:18793/__openclaw__/canvas/games/snake.html → ~/clawd/canvas/games/snake.html

该前缀由常量 CANVAS_HOST_PATH 定义。

使用提示

  • 推荐 HTML 文件自包含(内联 CSS/JS),以获得最佳兼容性
  • 可使用默认 index.html 作为测试页(内置 Bridge 诊断功能)
  • Canvas 会持续显示,直至你主动执行 hide 或导航至其他页面
  • 实时重载极大提升开发效率——保存即更新!
  • A2UI JSON 推送功能仍在开发中,请暂用 HTML 文件

相关专题

更多
canva可画使用技巧汇总
canva可画使用技巧汇总

本专题汇集了PHP中文网精心整理的Canva可画新手使用技巧大全,专为零基础用户打造。无论你是想制作精美海报、PPT还是社交媒体配图,这里都有从注册登录、模板搜索到AI辅助设计、导出分享的全流程保姆级教程。通过深入浅出的图文指南,帮助你快速跨越设计门槛,轻松掌握Canva可画的实用操作,让每个人都能成为设计达人!

2026.05.19

164

21

canva可画硬件门槛与适配设备指南
canva可画硬件门槛与适配设备指南

本专题聚焦Canva可画的硬件门槛与适配设备指南,全面解析网页版与App在不同终端上的运行要求。结合PHP中文网提供的专业技术教程,帮助用户精准排查设备卡顿、白屏等问题,快速判断电脑、平板及手机是否满足流畅使用Canva可画的各项硬性指标。

2026.05.19

74

11

canva可画新手使用指南
canva可画新手使用指南

本专题专为零基础用户打造,系统讲解Canva可画的核心功能与实用技巧。从注册登录、模板选择到图文编辑、导出分享,手把手带你快速上手。涵盖海报、PPT、简历等高频场景,结合AI工具提升效率,让你5分钟做出专业级设计,轻松应对学习、工作与社交需求。

2026.05.06

360

25

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

0

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

0

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

0

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

0

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

0

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

0

28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Canva使用教程
Canva使用教程

共0课时 | 0人学习