Canvas

🖼️ 跨节点 HTML 投屏与实时开发

在 OpenClaw 节点上远程展示 HTML 内容,支持游戏、可视化大屏、实时重载,适合跨设备投屏开发。

收藏
7.1k
安装
3.5k
版本
1.0.0
CLS 安全性认证2026-06-03
点击查看完整报告 >

使用说明

核心功能

Canvas Skill 是 OpenClaw 生态中的远程投屏工具,允许用户在连接的 Mac、iOS、Android 节点上展示自定义 HTML 内容。通过本地 HTTP 服务器(默认端口 18793)托管静态文件,结合 Node Bridge 的 TCP 通信(端口 18790),实现跨网络的内容推送与实时交互。

显著优点

1. 跨平台投屏:支持 Tailscale 组网,可在局域网或虚拟专网内的任意设备展示内容,突破 localhost 限制
2. 实时开发体验:内置 Live Reload 功能,保存文件后自动刷新所有连接的 Canvas,大幅提升开发效率

3. 灵活的网络绑定:四种绑定模式(loopback/lan/tailnet/auto)自动适配网络环境,Tailscale 集成确保远程访问稳定

4. 丰富的交互能力:支持 present/hide/navigate/eval/snapshot 五种操作,可执行 JavaScript、截图、动态导航

5. 零客户端配置:节点端通过 WebView 渲染,无需额外安装,开箱即用

潜在局限

  • 网络依赖性强:依赖 Tailscale 或局域网连通性,纯离线场景需手动配置绑定模式
  • URL 构造复杂:需根据绑定模式选择正确的主机名,localhost 在远程节点上不可用,新手易踩坑
  • 无原生 A2UI 支持:JSON 数据推送仍处于开发阶段,当前只能通过 HTML 文件承载内容
  • 安全边界模糊:HTTP 服务默认暴露,虽可通过 Tailscale 限制访问,但缺乏内置鉴权机制
  • 调试门槛:白屏问题需排查网络绑定、端口占用、路径匹配等多层因素

适合人群

  • 需要在大屏/移动设备上实时预览前端项目的开发者
  • 构建数据可视化仪表盘、交互式游戏展示的技术团队
  • 已部署 Tailscale 组网、追求内网穿透便捷性的用户
  • 熟悉 OpenClaw 节点体系、具备网络调试经验的进阶用户

常规风险

  • 暴露面风险:HTTP 服务默认监听可访问接口,误配置 lanauto 模式可能意外暴露服务
  • 内容注入eval 操作允许执行任意 JavaScript,若节点端存在敏感权限需警惕
  • 路径遍历:虽通过 /__openclaw__/canvas/ 前缀隔离,但需确认 root 目录权限设置合理
  • Tailscale 依赖:若 Tailscale 服务异常,自动降级逻辑可能不如预期透明

总体评价

Canvas Skill 是 OpenClaw 生态中极具特色的远程渲染能力,将本地开发服务器与分布式节点无缝桥接。适合已打通网络层的用户快速构建跨屏应用,但需仔细处理 URL 构造和网络绑定配置以避免连接失败。

安全解读

核心用法

Canvas Skill 是 OpenClaw 生态中的内容展示工具,用于在连接的 Mac、iOS、Android 节点上渲染 HTML 内容。其工作流程为:

1. 启动本地服务器:通过 canvasHost 配置在指定端口(默认 18793)启动 HTTP 服务器,从根目录(默认 ~/clawd/canvas/)提供静态文件
2. 配置网络绑定:支持四种绑定模式——loopback(仅限本地)、lan(局域网)、tailnet(Tailscale 虚拟网络)、auto(自动选择最优)

3. 推送至节点:使用 canvas action:present node:<id> target:<url> 将内容投送到指定设备的 WebView 中

4. 开发迭代:开启 liveReload 后,文件变更自动触发所有连接节点的实时刷新

支持五种核心动作:present(展示)、hide(隐藏)、navigate(导航)、eval(执行 JS)、snapshot(截图)。

显著优点

  • 零依赖纯文档:仅包含配置说明文档,无可执行代码,安全审计通过率 100%
  • 跨平台投屏:一套配置即可同时驱动桌面端与移动端
  • Tailscale 原生集成:自动识别虚拟网络主机名,实现异地安全访问
  • 开发体验优化:Live Reload 消除手动刷新,HTML/CSS/JS 变更即时同步
  • 灵活的网络拓扑:从单机调试到分布式展示,四种绑定模式覆盖全场景

潜在局限

  • 功能边界明确:仅为内容展示通道,不涉及 A2UI JSON 推送(标注为 WIP)
  • 网络配置门槛:需理解 gateway.bindcanvasHostHostForBridge 的映射关系,误配导致白屏
  • 无内置模板:需自行准备 HTML 文件,不提供现成可视化组件
  • 节点状态依赖:目标设备必须在线且完成 OpenClaw 配对

适合人群

  • 需要在大屏/移动端实时展示数据可视化、游戏或仪表板的开发者
  • 已部署 Tailscale 网络、追求安全远程协作的技术团队
  • 偏好"保存即刷新"轻量工作流的快速原型设计者

常规风险

| 风险场景 | 说明与缓解 |
|---------|-----------|
| URL 不匹配导致内容无法加载 | 绑定模式与 URL 主机名必须一致,如 Tailscale 绑定需使用 Tailscale 主机名而非 `localhost` |
| 端口冲突 | 18793 被占用时服务启动失败,需检查 `lsof -i :18793` |
| 文件路径暴露 | 所有 `canvas/root` 下文件均可通过 HTTP 访问,避免存放敏感数据 |
| 节点离线 | 操作前执行 `openclaw nodes list` 确认目标在线状态 |

安全认证显示:零外部依赖、零敏感信息硬编码、零危险函数,GDPR/CCPA 全合规。

Canvas 内容

手动下载zip · 2.5 kB
SKILL.mdtext/markdown
请选择文件