第7课 移动设备 (Nodes)#
为什么需要了解这个#
想象一下:你的 OpenClaw 助手运行在服务器或家用电脑上。而你想让它能通过手机摄像头拍照、在手机屏幕上显示交互面板,或者获取你的位置信息。为此存在 Nodes(节点)——连接的设备,扩展助手的能力。
Node(节点)是一部手机、平板电脑或另一台电脑,连接到你的 OpenClaw。通过节点,助手在物理世界中获得了"眼睛"、“耳朵"和"双手”。
节点能做什么#
| 功能 | 说明 | 示例 |
|---|---|---|
| 📷 摄像头 | 从设备摄像头拍照和录像 | “拍一下你面前有什么” |
| 🖥️ Canvas | 在设备屏幕上显示网页或界面 | “在屏幕上显示销售图表” |
| 📍 地理定位 | 获取当前位置 | “我现在在哪里?” |
| 🔔 通知 | 向设备发送通知 | “到超市附近时提醒我” |
| 💻 执行命令 | 在设备上运行程序 | “在 Mac 上运行脚本” |
| 📱 短信 (Android) | 发送短信 | “给妈妈发条短信” |
连接设备#
第1步:安装 OpenClaw 应用#
- iPhone/iPad:从 App Store 下载 OpenClaw
- Android:从 Google Play 下载 OpenClaw
- Mac:使用 macOS 版 OpenClaw 应用(菜单栏应用)
第2步:连接到 Gateway#
在应用中输入你的 Gateway 服务器地址:
- 地址:你服务器的 IP 或域名
- 端口:18789(默认)
应用会发送连接请求。
第3步:批准连接#
在服务器上(Gateway 运行的地方)执行:
# 查看等待批准的连接
openclaw devices list
# 批准设备
openclaw devices approve <请求ID>第4步:检查连接#
# 已连接设备列表
openclaw nodes status
# 设备详细信息
openclaw nodes describe --node <名称或ID>给设备起个容易记的名字#
openclaw nodes rename --node <ID> --name "我的iPhone"摄像头#
拍照#
# 用两个摄像头拍照
openclaw nodes camera snap --node "我的iPhone"
# 用前置摄像头拍照
openclaw nodes camera snap --node "我的iPhone" --facing front
# 用后置摄像头拍照
openclaw nodes camera snap --node "我的iPhone" --facing back在与助手的聊天中可以直接说:“用手机拍张照”。
录像#
# 10秒视频
openclaw nodes camera clip --node "我的iPhone" --duration 10s
# 无声视频
openclaw nodes camera clip --node "我的iPhone" --duration 5s --no-audio限制:视频最长60秒。应用必须在屏幕前台打开(不能在后台)。
录屏#
openclaw nodes screen record --node "我的iPhone" --duration 10sCanvas —— 在屏幕上展示#
Canvas 是移动设备上的展示屏幕。助手可以在上面展示网页、图表、仪表盘或任何 HTML 内容。
展示网页#
# 在设备屏幕上打开网站
openclaw nodes canvas present --node "我的iPhone" --target https://example.com
# 隐藏 Canvas
openclaw nodes canvas hide --node "我的iPhone"
# 跳转到另一个页面
openclaw nodes canvas navigate https://weather.com --node "我的iPhone"截取 Canvas 快照#
openclaw nodes canvas snapshot --node "我的iPhone" --format png在 Canvas 上执行 JavaScript#
openclaw nodes canvas eval --node "我的iPhone" --js "document.title"在聊天中你可以说:“在手机上显示当前天气”,助手会通过 Canvas 打开相应的页面。
地理定位#
获取当前位置#
openclaw nodes location get --node "我的iPhone"结果包括坐标(纬度/经度)、精度(米)和时间。
精度参数#
# 精确位置(GPS)
openclaw nodes location get --node "我的iPhone" --accuracy precise
# 大致位置(更快,省电)
openclaw nodes location get --node "我的iPhone" --accuracy coarse重要:地理定位默认是关闭的。需要在设备上的 OpenClaw 应用设置中开启,并授予位置访问权限。
通知#
向设备发送推送通知:
openclaw nodes notify --node "我的iPhone" \
--title "提醒" \
--body "15分钟后有团队会议"通知优先级#
passive—— 静默通知active—— 普通通知(默认)timeSensitive—— 紧急通知(可穿透"勿扰"模式)
openclaw nodes notify --node "我的iPhone" \
--title "紧急" \
--body "服务器不可用!" \
--priority timeSensitive在设备上执行命令#
在 Mac 节点上可以运行程序:
openclaw nodes run --node "我的Mac" -- echo "来自Mac的问候!"安全性:命令执行受批准系统(exec approvals)保护。需要事先指定允许哪些命令:
openclaw approvals allowlist add --node "我的Mac" "/usr/bin/say"
短信(仅限 Android)#
在有短信权限的 Android 设备上:
openclaw nodes invoke --node "我的Android" \
--command sms.send \
--params '{"to": "+8613800138000", "message": "你好!"}'实际案例#
你在 Telegram 中给助手发消息:
“用手机拍一下桌上有什么,告诉我你看到了什么”
助手会:
- 使用
nodes→camera_snap工具通过手机拍照 - 获取照片
- 通过 AI 模型分析图片
- 回复:“桌上有一台笔记本电脑、一杯咖啡和一个笔记本”
这一切都是自动完成的——你只需描述任务。
使用建议#
- 保持应用在前台打开 —— 摄像头和 Canvas 只在应用处于前台时工作
- 给设备起个好记的名字 —— 这样更方便使用
- 只在需要时开启地理定位 —— 省电
- 提前设置权限 —— 摄像头、位置、通知
- 远程连接时使用 SSH 隧道或 VPN,如果 Gateway 不能直接访问
本课总结#
- Node 是一个连接的设备(手机、平板、Mac),扩展助手的能力
- 通过节点可以使用:摄像头、Canvas(屏幕展示)、地理定位、通知、命令执行
- 连接方式:安装应用 → 连接到 Gateway → 在服务器上批准
- 摄像头:前置或后置摄像头拍照和录像
- Canvas:在设备屏幕上展示网页和界面
- 地理定位:设备坐标(默认关闭)
- 摄像头和 Canvas 需要应用在前台运行
- 助手会自动选择需要的设备和操作——你只需描述任务
🎉 恭喜!你已经完成了 OpenClaw 课程的第二级。现在你学会了配置助手、选择模型、管理记忆、使用工具和技能、设置自动化以及连接移动设备。