iOS App (Node)
状态:内部预览。iOS app 目前尚未公开分发。功能
- 通过 WebSocket 连接 Gateway(LAN 或 tailnet)。
- 暴露 node 能力:Canvas、屏幕截图、相机采集、定位、Talk 模式、Voice wake。
- 接收
node.invoke命令并上报 node 状态事件。
要求
- Gateway 运行在另一台设备上(macOS、Linux 或通过 WSL2 的 Windows)。
- 网络路径:
- 同一 LAN(Bonjour),或
- Tailnet(单播 DNS‑SD;示例域名:
openclaw.internal.),或 - 手动 host/port(兜底)。
快速开始(配对 + 连接)
- 启动 Gateway:
- 在 iOS app 中打开 Settings,选择已发现的 gateway(或启用 Manual Host 并填写 host/port)。
- 在 gateway 主机上批准配对请求:
- 验证连接:
发现路径
Bonjour(LAN)
Gateway 会在local. 上广播 _openclaw-gw._tcp。iOS app 会自动列出。
Tailnet(跨网络)
如果 mDNS 被阻断,可使用单播 DNS‑SD 区(选一个域名;例如openclaw.internal.)并配置 Tailscale split DNS。
CoreDNS 示例见 Bonjour。
手动 host/port
在 Settings 中启用 Manual Host 并输入 gateway host + 端口(默认18789)。
Canvas + A2UI
iOS node 渲染 WKWebView canvas。用node.invoke 驱动:
- Gateway canvas host 提供
/__openclaw__/canvas/与/__openclaw__/a2ui/。 - 当广播了 canvas host URL 时,iOS node 连接后会自动导航到 A2UI。
- 通过
canvas.navigate+{"url":""}可回到内置 scaffold。
Canvas eval / snapshot
Voice wake + talk mode
- Voice wake 与 talk mode 在 Settings 中可用。
- iOS 可能暂停后台音频;当应用不在前台时,语音功能只能 best‑effort。
常见错误
NODE_BACKGROUND_UNAVAILABLE:把 iOS app 切到前台(canvas/camera/screen 命令需要前台)。A2UI_HOST_NOT_CONFIGURED:Gateway 未广播 canvas host URL;检查 Gateway configuration 中的canvasHost。- 配对提示未出现:运行
openclaw nodes pending并手动批准。 - 重装后无法重连:Keychain 中的配对 token 被清除;重新配对 node。