OpenClaw 集成

OpenClaw Nodes 接入指南:选设备、检查配对与完成一次能力调用

区分 Gateway、Node 与媒体理解,从设备选型到连接、能力检查和一次 system.which 调用,附验收表。

生态 预计 25 分钟 更新 2026/9/6 核验 2026/9/6
本页目录

完成结果

学完后你会留下什么

一份填写了设备、声明能力、调用结果和失败原因的节点验收表。

验证版本
2026.9.2
适合谁
Gateway 已经可用,希望连接另一台设备,而不清楚应该部署什么的人
开始前确认
  • 已能管理自己的 Gateway
  • 拥有目标设备并能查看其权限与版本
  • 首次练习使用不含私人资料的测试环境

假设 Gateway 在服务器上,而你想查询另一台 Mac 上是否装了 Git。你需要的是把那台 Mac 接为 Node,然后调用它声明的能力;不需要在 Mac 上再搭一套完整的消息机器人。

本页使用 v2026.9.2 官方文档作为基线。本站在同一台 Mac 上,用两个独立状态目录完成了 Gateway → headless Node → 能力批准 → 程序查找实验。**这不等于验证了远程网络、设置码连接、摄像头或定位。**先对照两端 openclaw --version,再开始连接。

1. 先决定是否真的需要 Node

你的目标应选择什么首次验证
在 Telegram 接收消息Gateway 上的渠道配置私聊收到回复
理解聊天中已经上传的图片媒体理解与可用模型能回答图片内容
在另一台电脑查找程序或执行命令headless Node,或已有桌面节点应用查看 system.which 等能力
使用 Mac 的相机、屏幕等原生能力macOS 节点应用及系统授权describe 中有对应命令
获取手机画面或位置对应移动端节点应用支持该能力、前台状态和权限满足

**Node 是设备能力入口,不是图片理解模型。**消息先到 Gateway,由它组织模型请求和调用;设备负责执行自己暴露的能力。设备没有声明的功能,不能靠在提示词里要求来补上。

2. 准备连接时,给两端命名

在自己的记录里写下:Gateway 在哪台机器、Node 是哪台机器、各自的版本、计划调用什么能力。本文使用显示名 Lab Node,它只是便于辨认,不是身份认证。

同一台 Mac 若已经通过菜单栏应用接入为节点,不要再启动一个 CLI Node 来“增强它”;官方说明中应用已有配套运行进程。先使用现有节点检查能力。

首次连接建议使用自己的测试 Gateway 和测试设备。Node 会扩展 Gateway 可控制的机器范围,因此不能把未知 Gateway 的配对命令粘到工作电脑执行。

3. 接入 headless Node

对于尚未接入的测试设备,可在 Gateway 的 Control UI Devices 页面创建 Node host setup link。复制界面给出的完整命令,在目标 Node 机器运行。对应形式是:

openclaw node run --pair "oc-pair://实际设置码"

引号里的文字是占位符,必须使用你自己界面生成的实际值。该版本的设置码用于一次性初始连接,有有效期,不应出现在公开截图或记录模板中。

这一方式把连接端点、初始凭据和可用的 TLS 信息一起传给 Node,适合首次练习。已有明确网络与认证配置时,也可按 Node CLI 原文 使用 --host--port 和 TLS 参数;不要把一条缺少认证信息的主机地址命令误当成完整安装流程。

保留 Node 终端运行。前台进程退出后,设备通常不再在线;首次验收不要求安装后台服务。

4. 查配对与连接,再查能力

在 Gateway 的终端执行:

openclaw devices list
openclaw nodes status

如果设备已通过设置码完成配对,不要重复审批。若存在待处理设备请求,核对来源、设备身份与声明角色后,使用你自己的实际请求 ID

openclaw devices approve "实际请求ID"

随后复制目标 Node 的完整 ID。不要仅凭重名的显示名选择设备:

openclaw nodes describe --node "实际节点ID"

记录连接状态、平台、命令能力和权限。pairedconnected 是两件事:前者表示有配对关系,后者表示当前在线。配对成功也不等于所有能力都可以调用。

如果需要批准新增命令能力,运行:

openclaw nodes pending

核对请求属于刚接入的设备,并查看完整能力列表。确认愿意授予这个范围后,用该请求的实际 ID:

openclaw nodes approve "实际能力请求ID"
openclaw nodes describe --node "实际节点ID"

这是批准该设备声明的能力范围,不是仅允许下一次 Git 查询。若范围大于你愿意授予的权限,停止并调整设备配置,不要为了完成练习全部接受。设备请求 ID、能力请求 ID 和节点 ID 不能混用。

5. 用一次程序查找验证调用链

在已声明并允许 system.which 的 macOS/Linux 测试节点上,查询 Git 是否存在。在 Gateway 终端运行下面命令,替换节点 ID;JSON 参数的单引号写法面向 macOS/Linux shell:

openclaw nodes invoke --node "实际节点ID" --command system.which --params '{"bins":["git"]}'

这一步查找程序路径,不是执行 Git,更不会自动安装它。

结果应怎样判断
返回 Git 的路径节点完成了查找;记录路径,但尚未验证 shell 执行
返回未找到或空结果调用可能成功,只是节点环境没有 Git;不能当成配对失败
超时或设备离线回到 nodes status,查看前台进程与连接
命令不允许或能力不存在核对 describe 的声明和批准范围

不要把 system.which 改成 system.run 继续尝试。该版本的通用 nodes invoke 会阻止 system.run / system.run.prepare;shell 执行应走 Agent 的 exec 工具、host=node 和目标主机审批。这也是 执行审批教程 与本页分开的原因。

本站实际遇到的一次失败

在 macOS / Node 24.15.0 / OpenClaw 2026.9.2 实验中,节点已经返回 connected: truepaired: true,但 commands 仍为空,approvalStatepending-approval。这时调用返回:

node pairing changed while invocation was active

等待并重试没有解决问题。重新检查 describe 后,我们找到待批准的能力请求;批准并再次 describe 后,状态变为 approved,命令列表才包含 system.which。随后同一查找返回:

{
  "ok": true,
  "command": "system.which",
  "payload": { "bins": { "git": "/usr/bin/git" } }
}

这是实际响应的字段节选,不是所有设备的标准输出。下载前后状态记录。这次定位的关键是检查已批准的能力,而不是重复重启、重新安装 Git 或放开执行策略。

6. 相机与位置属于另一组验收

完成连接不代表已取得相机、录屏或位置权限。如果你的任务确实需要这些能力,再用自己的测试设备选择其中一项:

openclaw nodes camera list --node "实际节点ID"
openclaw nodes camera snap --node "实际节点ID"

拍摄前让画面只包含测试物体。检查命令返回的保存位置,打开实际图片,确认不是旧文件;返回一段文字描述不能代替图片验收。移动端相机调用还可能要求应用在前台,后台时可能返回 NODE_BACKGROUND_UNAVAILABLE

位置调用的形式是 openclaw nodes location get --node "实际节点ID"。它会访问设备位置,不是普通网络探测。只在任务需要且设备主人同意时使用,并核对权限、数据时效与精度;不在公开验收表记录真实坐标。

7. 完成记录并安全停止

下载节点验收表。至少填写一次 status、describe 和实际调用结果,明确自己验证的是哪项能力。

临时 Node 完成后可在运行终端按 Ctrl+C,再从 Gateway 检查设备已离线。停止进程不等于撤销配对;若不再信任该连接,按当前设备管理页面撤销对应节点。撤销前核对 ID,避免影响另一台设备的任务。

继续使用浏览器能力可阅读 Browser 工具;准备处理真实文件前,先核对 安全加固与权限边界

官方资料

版本和参数,以这些来源为准

本文按实际任务重写,快速变化的信息仍应在操作前回到官方页面核对。

常见问题

继续操作前,先确认这些边界

只想让模型看一张已上传图片,需要 Node 吗?

通常不需要。媒体理解处理已有输入;Node 用于调用设备暴露的能力,例如从某台设备采集相机画面。

配对成功但命令失败,是配对没做好吗?

不一定。还要检查连接状态、声明和批准的能力、Gateway 调用策略、执行审批以及设备系统权限。

安装 headless Node 后就能使用摄像头吗?

不能这样推断。无界面的 Node 主要提供主机执行等能力;实际能力必须通过 describe 和对应平台说明核对。

继续学习

按当前任务继续推进