openclaw node
运行一个无头节点主机,连接到 Gateway WebSocket 并在本机暴露
system.run / system.which 能力。
为什么要用节点主机?
当你需要让 agent 在网络中的其他机器上执行命令,但又不想在那些机器上安装完整的 macOS 伴侣应用时,节点主机就派上用场了。
常见场景:
- 在远程 Linux / Windows 机器上执行命令(构建服务器、实验室机器、NAS)。
- 让 gateway 端的执行保持沙箱隔离,但把经过审批的命令委托给其他主机。
- 为自动化或 CI 节点提供一个轻量的无头执行目标。
执行仍然受到执行审批和节点主机上 per-agent 允许列表的保护,所以命令访问权限是可以精确控制的。
浏览器代理(零配置)
节点主机会自动广播浏览器代理能力(除非在节点上禁用了 browser.enabled)。这样 agent 就可以直接在该节点上使用浏览器自动化,无需额外配置。
如果需要在节点上禁用:
{
nodeHost: {
browserProxy: {
enabled: false,
},
},
}
前台运行
openclaw node run --host <gateway-host> --port 18789
参数:
--host <host>:Gateway WebSocket 主机(默认:127.0.0.1)--port <port>:Gateway WebSocket 端口(默认:18789)--tls:使用 TLS 连接 gateway--tls-fingerprint <sha256>:预期的 TLS 证书指纹(sha256)--node-id <id>:覆盖节点 id(会清除配对 token)--display-name <name>:覆盖节点显示名称
节点主机的 Gateway 认证
openclaw node run 和 openclaw node install 从配置 / 环境变量解析 gateway 认证(节点命令没有 --token / --password 参数):
- 优先检查
OPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD。 - 然后是本地配置回退:
gateway.auth.token/gateway.auth.password。 - 本地模式下,节点主机不会继承
gateway.remote.token/gateway.remote.password。 - 如果
gateway.auth.token/gateway.auth.password通过 SecretRef 显式配置但未解析,节点认证会直接失败(不会回退到远程)。 - 在
gateway.mode=remote模式下,远程客户端字段(gateway.remote.token/gateway.remote.password)按照远程优先级规则也可用。 - 遗留的
CLAWDBOT_GATEWAY_*环境变量在节点主机认证解析中会被忽略。
后台服务
把无头节点主机安装为用户服务。
openclaw node install --host <gateway-host> --port 18789
参数:
--host <host>:Gateway WebSocket 主机(默认:127.0.0.1)--port <port>:Gateway WebSocket 端口(默认:18789)--tls:使用 TLS 连接 gateway--tls-fingerprint <sha256>:预期的 TLS 证书指纹(sha256)--node-id <id>:覆盖节点 id(会清除配对 token)--display-name <name>:覆盖节点显示名称--runtime <runtime>:服务运行时(node或bun)--force:已安装时强制重新安装 / 覆盖
管理服务:
openclaw node status
openclaw node stop
openclaw node restart
openclaw node uninstall
用 openclaw node run 进行前台运行(不使用服务)。
服务命令支持 --json 输出机器可读格式。
配对
首次连接时会在 Gateway 上创建一个待审批的设备配对请求(role: node)。
通过以下命令审批:
openclaw devices list
openclaw devices approve <requestId>
节点主机会把自己的 node id、token、显示名称和 gateway 连接信息存储在
~/.openclaw/node.json 中。
执行审批
system.run 受本地执行审批机制控制:
~/.openclaw/exec-approvals.json- Exec approvals
openclaw approvals --node <id|name|ip>(从 Gateway 端编辑)