跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.jsAI

OpenClaw 网关与子节点完整配对指南:构建分布式 AI 助手网络

OpenClaw 网关与子节点配对指南,介绍分布式 AI 助手网络架构。涵盖环境准备、SSH 隧道建立、安全审批机制及执行授权配置。通过 Robot01 节点实战演示了从连接、批准到命令执行的完整流程,解决了单机算力瓶颈与设备控制分散问题,实现了统一管理与资源扩展。

RustyLab发布于 2026/3/30更新于 2026/7/2353 浏览
OpenClaw 网关与子节点完整配对指南:构建分布式 AI 助手网络

1.前言:从单机助手到分布式 AI 助手

在过往的技术分享中,展示了单个 AI 助手的强大能力——它可以对话、推理、生成语音、识别图像,甚至可以控制浏览器执行复杂任务。

然而,随着使用场景的不断深入,不可避免地会遇到一个瓶颈:单机处理能力的局限。

想象以下场景:

  • 场景一:主电脑运行 GPT-SoVITS 进行语音合成,同时还要处理大量的文档分析任务,此时再让它执行浏览器自动化操作,会发现系统响应变得迟缓。
  • 场景二:希望在不同地点的设备上都能使用 AI 助手,但每个设备都独立运行一个完整的 OpenClaw 实例,导致数据不同步,体验碎片化。
  • 场景三:希望让 AI 助手控制家中的多台设备(如智能摄像头、NAS 存储、远程服务器),但这些设备本身无法运行完整的 OpenClaw。

面对这些挑战,OpenClaw 提供了子节点(Node)机制,允许将多台设备组织成一个分布式 AI 助手网络。在这个网络中:

  • 网关(Gateway) 是中央大脑,负责接收指令、协调任务、分发工作
  • 子节点(Node) 是分布式执行单元,各自承担特定功能

这种架构带来了诸多优势:

  1. 算力扩展:通过增加节点来分担计算负载
  2. 功能分布:不同节点可以专注于不同能力(如浏览器、文件系统、硬件控制)
  3. 地理分布:节点可以部署在不同地点,通过网络连接
  4. 容错备份:某个节点故障不影响整体系统运行
  5. 统一管理:所有节点通过单一网关进行协调

本文将详细记录为 OpenClaw 网关添加第一个子节点(Robot01)的完整过程,包括架构设计思路、配置步骤、常见问题以及优化经验。无论你是希望扩展现有 AI 助手能力,还是构建更复杂的自动化系统,本文都将提供详尽的操作指南。


2.概念解析:OpenClaw 网关与子节点

2.1 网关(Gateway)

在 OpenClaw 的架构中,网关(Gateway)是整个系统的核心组件。它不仅仅是一个 WebSocket 服务器,更是整个 AI 助手网络的大脑和协调中心。

网关的核心职责包括:

  1. 消息路由:接收来自各个渠道(WebChat、Telegram、飞书等)的用户消息,理解意图,并分发给相应的处理模块
  2. 任务编排:将复杂任务分解为子任务,分发给合适的执行单元
  3. 状态管理:维护整个网络的拓扑结构、节点状态、对话上下文
  4. 安全控制:验证身份、执行权限检查、管理节点配对
  5. 资源调度:协调各节点的计算资源,优化任务分配

在典型部署中,网关运行在以下环境:

  • 主机:Ubuntu 22.04 / 24.04
  • IP 地址:172.23.1.13
  • 端口:18789(默认 WebSocket 端口)
  • 绑定模式:loopback(本地绑定)
  • 版本:v2026.2.13
2.2 子节点(Node)

子节点是连接到网关的外部设备,它们可以是:

  • 树莓派:适合轻量级任务,如传感器数据采集、简单自动化
  • 旧电脑/服务器:可以承担中等负载,如文件处理、小规模推理
  • 高性能工作站:可以运行复杂的 AI 任务,如图像生成、大模型推理
  • 移动设备:iOS/Android 设备,通过配套应用连接

每个子节点可以暴露不同的能力(Capabilities),常见包括:

  • browser:浏览器控制能力,可以执行网页自动化
  • system:系统执行能力,可以在节点上运行 shell 命令
  • camera:摄像头捕获能力
  • canvas:画布截取能力
  • screen:屏幕录制能力

在网络中,Robot01 节点具备以下能力:

{
  "nodeId": "xxxxxxxx",
  "displayName": "Robot01",
  "platform": "linux",
  "version": "2026.2.14",
  "caps": ["browser", "system"]
}
2.3 通信机制

网关与子节点之间的通信基于 WebSocket 协议。当节点连接到网关时,会建立一个持久的双向通信通道,用于:

  • 心跳检测:节点定期发送心跳包,报告自身状态
  • 任务分发:网关向节点发送执行指令
  • 结果回传:节点将执行结果返回给网关
  • 事件推送:节点主动向网关推送事件(如检测到移动物体)

这种设计确保了:

  • 低延迟:相比 HTTP 轮询,WebSocket 提供更低的通信延迟
  • 双向通信:节点不仅可以响应请求,还能主动推送信息
  • 连接保持:避免了频繁建立/断开连接的开销
2.4 安全模型

OpenClaw 采用了多层安全模型来保护整个系统:

  1. 身份认证:节点连接时需要提供有效的 Gateway Token
  2. 配对审批:新节点需要经过网关管理员审批才能加入
  3. 命令过滤:某些敏感命令(如 camera.snap)被默认禁止
  4. 执行审批:节点上的命令执行可以被配置为需要审批

这种安全模型在提供便利性(自动执行)和安全性(防止恶意控制)之间取得了平衡。


3.架构设计:为什么要使用子节点

3.1 场景驱动:从需求到架构

在深入技术细节之前,让我们先理解为什么需要子节点架构。以下是实际使用中遇到的具体场景:

场景一:计算资源隔离

GPT-SoVITS 是一个计算密集型应用,需要大量的 GPU 显存。当使用 GPT-SoVITS 进行语音合成时,GPU 几乎满负荷运行。此时,如果再让 OpenClaw 执行其他 AI 任务(如浏览器自动化),系统响应会变得非常缓慢。

通过将 GPT-SoVITS 部署在独立的子节点上,我们可以:

  • 将计算密集型任务与 IO 密集型任务分离
  • 避免单点瓶颈,提高整体系统响应速度
  • 允许不同任务独立扩展
场景二:物理设备控制

希望在不同地点都能控制家中的智能设备。这些设备包括:

  • NAS 存储:用于存放和同步文件
  • 智能摄像头:用于家庭安防监控
  • 远程服务器:用于后台数据处理

传统方式是在每台设备上安装完整的 OpenClaw,但这会导致:

  • 配置不一致,每个实例需要单独配置
  • 数据不同步,对话历史、记忆无法共享
  • 管理复杂,维护多个独立系统

通过子节点架构,我们可以:

  • 保持单一的网关作为控制平面
  • 将具体的设备控制委托给各子节点
  • 统一数据存储和上下文管理
场景三:能力扩展

不同的子节点可以暴露不同的硬件能力:

  • 带有摄像头的设备:可以执行视觉识别任务
  • 配备麦克风的设备:可以接收语音输入
  • 连接显示器的设备:可以展示图像和视频

这种模块化设计使得系统可以灵活地适应各种使用场景。

3.2 拓扑结构

基于上述需求,设计了一个分层分布式架构:

┌─────────────────────────────────────────┐
│ OpenClaw Gateway                        │
│ (172.23.1.13:18789)                     │
│ • 消息路由                              │
│ • 任务编排                              │
│ • 状态管理                              │
│ • 安全控制                              │
└────────────────┬────────────────────────┘
                 │
    ┌────────────┼────────────┐
    ▼            ▼            ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Robot01   │ │ (未来节点 2)│ │ (未来节点 3)│
│ 172.23.1.27│ │ IP: TBD   │ │ IP: TBD   │
│           │ │           │ │           │
│ • browser │ │ • system  │ │ • camera  │
│ • system  │ │ • 文件处理│ │ • 视觉识别│
└───────────┘ └───────────┘ └───────────┘

在这个架构中:

  • Gateway 是唯一的入口点,处理所有外部通信
  • Robot01 节点目前承担浏览器自动化和系统命令执行
  • 未来的节点将被添加到网络中,各自承担特定功能
  • 所有节点通过内网连接,保证低延迟和安全性
3.3 数据流设计

追踪一个典型的任务执行流程:

  1. 用户发起请求:用户通过 WebChat 发送消息:"让 Robot01 执行 uname -a"
  2. 网关接收:Gateway 的 WebSocket 服务器接收消息
  3. 意图理解:AI 模型解析请求,识别需要远程执行
  4. 节点选择:根据请求中的节点标识(Robot01)选择目标节点
  5. 命令封装:将请求封装为节点可执行的指令格式
  6. 指令发送:通过 WebSocket 将指令发送给 Robot01 节点
  7. 本地执行:Robot01 收到指令,在本地操作系统上执行
  8. 结果回传:执行结果通过 WebSocket 返回给 Gateway
  9. 结果处理:Gateway 将结果格式化,返回给用户

整个过程对用户是透明的,用户只需要在消息中指定目标节点即可。


4.准备工作:环境与工具清单

4.1 硬件准备
网关设备(已配置)
  • 主机:台式机/服务器
  • 操作系统:Ubuntu 22.04 或更高版本
  • 网络:连接到局域网(例如 172.23.1.13)
  • OpenClaw 版本:v2026.2.13
子节点设备(Robot01)
  • 主机:PC 主机(华硕主板)
  • 操作系统:Ubuntu 24.04
  • IP 地址:172.23.1.27
  • 网络:与网关同一局域网
  • OpenClaw 版本:v2026.2.14
4.2 软件准备
网关端

确保 Gateway 上已安装 OpenClaw:

# 检查 OpenClaw 版本
openclaw --version
# 查看网关状态
openclaw gateway status
# 查看节点状态
openclaw nodes status
节点端

在子节点上需要安装:

  1. Node.js:OpenClaw 基于 Node.js 运行
  2. OpenClaw CLI:用于启动节点
  3. 基础工具:curl, wget, git 等
# 检查 Node.js 版本
node --version
# 检查 npm 版本
npm --version
# 安装 OpenClaw(如果未安装)
npm install -g openclaw
4.3 网络配置
端口要求
端口用途说明
18789Gateway WebSocket节点连接网关使用
18790隧道转发端口SSH 隧道本地端口
防火墙配置

确保以下端口在局域网内可访问:

# 检查端口状态
sudo ufw status
# 如果需要,开放端口
sudo ufw allow 18789/tcp
sudo ufw allow 18790/tcp
SSH 访问

节点需要能通过 SSH 连接到网关(用于建立反向隧道):

# 在节点上测试 SSH 连接
ssh -p 22 [email protected]
4.4 信息记录

在开始配置之前,建议记录以下信息:

项目网关节点
主机名xxx-System-Product-Namerobot01-All-Series
IP 地址172.23.1.13172.23.1.27
用户名xxxrobot01
Gateway Tokenxxxx-
SSH 端口2222

5.网关配置:主节点设置详解

5.1 Gateway 配置文件

OpenClaw 的配置文件位于 ~/.openclaw/openclaw.json。以下是与网络配置相关的关键部分:

{
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "xxxxxxx"
    },
    "tailscale": {
      "mode": "off"
    },
    "nodes": {
      "denyCommands": [
        "camera.snap",
        "camera.clip",
        "screen.record",
        "calendar.add",
        "contacts.add",
        "reminders.add"
      ]
    }
  },
  "tools": {
    "exec": {
      "host": "sandbox"
    }
  }
}
5.2 关键配置项解析
5.2.1 bind 模式
"bind": "loopback"
  • loopback:只绑定 127.0.0.1,只能本地连接
  • lan:绑定 0.0.0.0,允许局域网连接
  • 其他值:可以绑定特定网卡

重要:当设置为 loopback 时(默认模式),外部节点无法直接连接。这是因为 WebSocket 服务器只在本地回环接口上监听。此时需要使用SSH 隧道来解决连接问题。

5.2.2 auth.token
"token": "xxxxx"

这是节点连接时需要提供的认证令牌。它相当于网关的"密码",确保只有授权的设备才能加入网络。

安全建议:

  • 使用足够长的随机字符串
  • 定期更换 token
  • 不要将 token 分享给不信任的人
5.2.3 nodes.denyCommands
"denyCommands": [
  "camera.snap",
  "camera.clip",
  "screen.record",
  "calendar.add",
  "contacts.add",
  "reminders.add"
]

这些命令在任何节点上都被禁止执行,即使节点已经获得执行权限。这是一个额外的安全层,防止恶意软件利用节点进行隐私侵犯。

5.3 查看 Gateway 状态

配置完成后,可以查看 Gateway 的运行状态:

# 启动 Gateway(如果未运行)
openclaw gateway start
# 查看 Gateway 状态
openclaw gateway status
# 查看已连接的节点
openclaw nodes status

输出示例:

Gateway: running on http://127.0.0.1:18789
Version: v2026.2.13
Nodes:
- Robot01 (connected)
Platform: linux
Caps: browser, system
Connected: 2026-02-15T17:54:28Z
5.4 节点管理命令

OpenClaw 提供了丰富的节点管理命令:

# 查看所有节点(包括未连接的)
openclaw nodes list
# 查看待批准的节点请求
openclaw nodes pending
# 批准节点配对
openclaw nodes approve <requestId>
# 拒绝节点配对
openclaw nodes reject <requestId>
# 查看节点详细信息
openclaw nodes describe --node Robot01

6.子节点配置:从设备准备到连接

6.1 节点系统准备

在 Robot01 上,首先确保系统满足基本要求:

# 检查操作系统
uname -a
# 输出:Linux robot01-All-Series 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

# 检查网络连接
hostname -I
# 输出:172.23.1.27
6.2 安装 OpenClaw 节点

在节点设备上安装 OpenClaw:

# 全局安装 OpenClaw
npm install -g openclaw
# 检查安装
openclaw --version
6.3 SSH 隧道建立

由于 Gateway 使用 loopback 绑定模式,节点需要通过 SSH 隧道连接到网关。

6.3.1 理解 SSH 隧道

SSH 隧道的工作原理如下:

节点 (172.23.1.27)          网关 (172.23.1.13)
|                          |
| 1. SSH 连接到网关         |
| -----------------------> |
|                          |
| 2. 建立本地端口转发       |
| 18790 -> 127.0.0.1:18789 |
|                          |
| 3. 节点连接到本地 18790   |
| (实际通过隧道到达网关 18789)|
| -----------------------> |
6.3.2 建立 SSH 隧道

在节点设备上执行:

# 建立 SSH 反向隧道(后台运行)
ssh -N -L 18790:127.0.0.1:18789 [email protected] &
# 验证隧道是否建立
netstat -tln | grep 18790

或者使用更简单的方式,节点直接连接(如果网络允许):

# 直接连接到网关(如果网关绑定到 lan 模式)
ssh -N -R 18789:127.0.0.1:18789 [email protected] &
6.4 启动节点

SSH 隧道建立后,可以启动 OpenClaw 节点:

# 设置 Gateway Token 环境变量
export OPENCLAW_GATEWAY_TOKEN="xxx"
# 启动节点(前台运行测试)
openclaw node run --host 127.0.0.1 --port 18790 --display-name "Robot01"

启动成功的输出类似:

🔗 Node connecting to ws://127.0.0.1:18790...
✅ Node connected and awaiting approval
6.5 作为服务运行(生产环境)

生产环境中,建议将节点作为系统服务运行,以便在系统启动时自动启动:

# 安装为系统服务
sudo openclaw node install --host 127.0.0.1 --port 18790 --display-name "Robot01"
# 启动服务
sudo openclaw node start
# 查看服务状态
sudo openclaw node status
# 查看日志
sudo openclaw node logs

7.审批与配对:安全机制的深度理解

7.1 配对流程概述

OpenClaw 的节点配对是一个两阶段过程:

  1. 节点连接阶段:节点尝试连接到网关,提供身份信息
  2. 网关审批阶段:网关管理员批准或拒绝节点加入

这种设计确保了:

  • 未经授权的设备无法加入网络
  • 管理员可以控制网络的规模
  • 可以在批准前验证节点的身份
7.2 查看待批准的请求

在网关上,可以查看等待批准的节点请求:

openclaw nodes pending

输出示例:

Pending nodes:
- requestId: abcxxx (Robot01)
Platform: linux
Version: 2026.2.14
Caps: browser, system
Connection: 2026-02-15T17:54:28Z
7.3 批准节点

批准节点非常简单:

# 批准节点
openclaw nodes approve abcxxx

或者使用完整 ID:

openclaw nodes approve xxx

批准后,节点状态会变为"已配对":

Nodes:
- Robot01 (connected)
Platform: linux
Caps: browser, system
Paired: true
Connected: 2026-02-15T17:54:28Z
7.4 拒绝节点

如果发现可疑的节点请求,可以拒绝:

# 拒绝节点
openclaw nodes reject <requestId>

拒绝后,节点会收到连接被拒绝的消息,并在一段时间内无法再次请求连接。

7.5 配对信息的持久化

批准节点后,配对信息会持久化到网关的配置中。即使网关重启,已配对的节点可以重新连接,无需再次审批。


8.执行授权:exec-approvals 配置完全指南

8.1 为什么需要 exec-approvals

当节点连接到网关后,默认情况下,节点上的命令执行需要审批。这是 OpenClaw 的安全特性之一,防止 AI 模型在没有用户同意的情况下在节点上执行任意命令。

然而,在实际使用中,频繁的审批请求会严重影响使用体验。特别是对于自动化任务,每次执行都需要人工批准是不现实的。

exec-approvals 机制允许我们配置自动执行的策略,在安全性和便利性之间取得平衡。

8.2 配置文件位置

exec-approvals 配置文件位于节点的 home 目录下:

~/.openclaw/exec-approvals.json

注意:这个文件必须在节点设备上创建,不是在网关上。

8.3 配置格式
8.3.1 最简单的配置(允许所有)

如果完全信任 AI 助手,可以配置为允许所有执行:

{
  "version": 1,
  "defaults": {
    "security": "full",
    "ask": "off"
  }
}

配置项说明:

  • security:
    • deny:拒绝所有执行
    • allowlist:仅允许白名单中的命令
    • full:允许所有执行
  • ask:
    • off:从不询问,直接执行
    • on-miss:当命令不在白名单时询问
    • always:每次执行都询问
8.3.2 白名单模式

如果希望更安全,可以只允许特定命令:

{
  "version": 1,
  "defaults": {
    "security": "allowlist",
    "ask": "on-miss",
    "askFallback": "deny"
  },
  "allowlist": [
    { "id": "1", "pattern": "curl*" },
    { "id": "2", "pattern": "wget*" },
    { "id": "3", "pattern": "ls*" }
  ]
}
8.4 在 Robot01 上配置

在 Robot01 节点上执行:

# 创建配置目录
mkdir -p ~/.openclaw
# 创建配置文件
cat > ~/.openclaw/exec-approvals.json << 'EOF'
{
  "version": 1,
  "defaults": {
    "security": "full",
    "ask": "off"
  }
}
EOF
# 验证配置
cat ~/.openclaw/exec-approvals.json
8.5 配置生效

配置修改后,需要重启节点才能生效:

# 停止当前运行的节点
pkill -f "openclaw node"
# 重新启动节点
export OPENCLAW_GATEWAY_TOKEN="xxxxxx"
openclaw node run --host 127.0.0.1 --port 18790 --display-name "Robot01"
8.6 验证配置

配置生效后,可以尝试在网关上执行节点命令:

openclaw nodes run --node Robot01 uname -a

9.实战演练:Robot01 节点完整配对过程

9.1 背景回顾

本次配对的背景是:

  • 网关:运行在 Ubuntu 22.04 主机上,IP 172.23.1.13
  • 节点:Robot01,运行在 Ubuntu 24.04 主机上,IP 172.23.1.27
  • 目标:让 Robot01 能够执行浏览器自动化和系统命令
9.2 步骤一:准备工作检查

首先确认网络连通性:

# 从节点测试到网关的连接
ping -c 3 172.23.1.13
# 测试 SSH 端口
nc -zv 172.23.1.13 22
9.3 步骤二:创建 SSH 隧道

在 Robot01 上执行:

# 建立 SSH 反向隧道
# 这里使用的是从节点主动连接到网关的方式
# 注意:需要网关有 SSH 账号
ssh -N -R 18789:127.0.0.1:18789 [email protected] &
9.4 步骤三:启动节点

在 Robot01 上执行:

# 设置 Token
export OPENCLAW_GATEWAY_TOKEN="xxxxxx"
# 启动节点
openclaw node run --host 127.0.0.1 --port 18790 --display-name "Robot01"
9.5 步骤四:批准配对

在网关上执行:

# 查看待批准列表
openclaw nodes pending
# 批准节点(使用实际获得的 requestId)
openclaw nodes approve xxxxxx
9.6 步骤五:配置自动执行

在 Robot01 上执行:

# 创建 exec-approvals 配置
mkdir -p ~/.openclaw
cat > ~/.openclaw/exec-approvals.json << 'EOF'
{
  "version": 1,
  "defaults": {
    "security": "full",
    "ask": "off"
  }
}
EOF
9.7 步骤六:重启节点使配置生效

在 Robot01 上执行:

# 停止节点
pkill -f "openclaw node"
# 重新启动
export OPENCLAW_GATEWAY_TOKEN="xxxxx"
openclaw node run --host 127.0.0.1 --port 18790 --display-name "Robot01"
9.8 步骤七:验证连接

在网关上执行:

# 查看节点状态
openclaw nodes status

输出:

Nodes:
- Robot01
Platform: linux
Version: 2026.2.14
Caps: ["browser", "system"]
Paired: true
Connected: true
ConnectedAt: 2026-02-15T17:54:28Z
9.9 步骤八:测试执行

在网关上测试节点命令执行:

# 测试基本命令
openclaw nodes run --node Robot01 uname -a

输出:

Linux robot01-All-Series 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

10.节点操作:通过网关远程控制子节点

10.1 使用 nodes 工具

OpenClaw 提供了 nodes 工具来管理子节点。以下是常用操作:

10.1.1 查看节点状态
# 查看所有节点状态
openclaw nodes status
# 查看特定节点详情
openclaw nodes describe --node Robot01
10.1.2 在节点上执行命令
# 在节点上执行单个命令
openclaw nodes run --node Robot01 ls -la
# 在节点上执行多个命令
openclaw nodes run --node Robot01 "uname -a && hostname"
10.1.3 节点文件操作
# 从节点下载文件
openclaw nodes download --node Robot01 /path/to/remote/file /local/path
# 上传文件到节点
openclaw nodes upload --node Robot01 /local/file /path/to/remote
10.2 通过 AI 助手交互

最自然的交互方式是直接告诉 AI 助手你想在节点上执行什么:

用户:让 Robot01 执行 curl --version
助手:(自动调用节点接口,返回结果)

AI 助手会理解你的意图,自动选择合适的节点,并执行相应的命令。


11.MCP 集成:节点与文件服务器交互

11.1 MCP 文件服务器概述

除了节点控制,还部署了一个MCP 文件服务器用于文件存储和共享。这个服务器提供了:

  • MCP 协议接口:支持标准协议
  • REST API 接口:
  • 认证方式:Bearer Token
11.2 在节点上配置访问

为了让 Robot01 能够访问 MCP 服务器,在文件服务器上为 Robot01 创建了专属目录,并上传了访问指南。


12.多节点扩展:未来规划与最佳实践

12.1 扩展路线图
阶段一:单节点验证(已完成)
  • ✅ Robot01 节点配置完成
  • ✅ 基本的执行和文件传输功能
  • ✅ MCP 服务器集成
阶段二:功能扩展(规划中)
  • 添加第二个 Linux 节点,承担文件处理任务
  • 添加摄像头节点,实现家庭安防监控
  • 集成更多 MCP 服务
阶段三:地理分布(规划中)
  • 在远程服务器上部署节点
  • 配置 Tailscale 实现跨互联网连接
  • 实现多地域容灾
12.2 节点命名规范
节点名类型功能位置
Robot01Linux PCbrowser, system本地机房
Robot02Linux Server文件处理本地机房
Robot-Cam01Raspberry Picamera客厅
Robot-RemoteVPS远程接入云端

13.故障排除:常见问题与解决方案

13.1 节点无法连接
问题原因解决方案
连接被拒绝SSH 隧道未建立检查 SSH 隧道状态
超时网络不通检查防火墙和路由
认证失败Token 错误核对 Gateway Token
13.2 执行被拒绝
问题原因解决方案
审批超时exec-approvals 未配置配置自动执行策略
权限不足安全级别设置过低调整为 full 模式
13.3 命令执行失败
问题原因解决方案
命令不存在路径问题使用完整路径
权限被拒文件权限检查文件权限

14.深度优化:安全、性能与可维护性

14.1 安全建议
  1. 定期更换 Token:每隔一段时间更换 Gateway Token
  2. 限制 SSH 访问:使用密钥认证,禁用密码登录
  3. 网络隔离:将节点放在独立的 VLAN 中
  4. 监控日志:定期审查节点执行日志
14.2 性能优化
  1. 减少延迟:使用有线网络连接节点
  2. 批量操作:将多个命令合并执行
  3. 缓存结果:对于频繁访问的数据使用缓存
14.3 可维护性
  1. 标准化配置:使用配置模板
  2. 文档记录:记录每个节点的功能和配置
  3. 自动化部署:使用 Ansible 等工具批量部署

15.总结与展望

本文详细记录了为 OpenClaw 网关添加第一个子节点(Robot01)的完整过程。通过这个过程,实现了:

  1. 理解了分布式架构:从单机助手扩展为分布式 AI 网络
  2. 掌握了配置技能:学会了 Gateway 和 Node 的配置方法
  3. 建立了安全意识:深入理解了认证、审批、执行授权机制
  4. 实践了集成能力:实现了节点与 MCP 文件服务器的交互

未来规划包括:

  1. 添加更多子节点,扩展网络规模
  2. 集成更多 MCP 服务,丰富功能生态
  3. 实现跨互联网连接,支持远程访问
  4. 探索更复杂的自动化场景

目录

  1. 1.前言:从单机助手到分布式 AI 助手
  2. 2.概念解析:OpenClaw 网关与子节点
  3. 2.1 网关(Gateway)
  4. 2.2 子节点(Node)
  5. 2.3 通信机制
  6. 2.4 安全模型
  7. 3.架构设计:为什么要使用子节点
  8. 3.1 场景驱动:从需求到架构
  9. 场景一:计算资源隔离
  10. 场景二:物理设备控制
  11. 场景三:能力扩展
  12. 3.2 拓扑结构
  13. 3.3 数据流设计
  14. 4.准备工作:环境与工具清单
  15. 4.1 硬件准备
  16. 网关设备(已配置)
  17. 子节点设备(Robot01)
  18. 4.2 软件准备
  19. 网关端
  20. 检查 OpenClaw 版本
  21. 查看网关状态
  22. 查看节点状态
  23. 节点端
  24. 检查 Node.js 版本
  25. 检查 npm 版本
  26. 安装 OpenClaw(如果未安装)
  27. 4.3 网络配置
  28. 端口要求
  29. 防火墙配置
  30. 检查端口状态
  31. 如果需要,开放端口
  32. SSH 访问
  33. 在节点上测试 SSH 连接
  34. 4.4 信息记录
  35. 5.网关配置:主节点设置详解
  36. 5.1 Gateway 配置文件
  37. 5.2 关键配置项解析
  38. 5.2.1 bind 模式
  39. 5.2.2 auth.token
  40. 5.2.3 nodes.denyCommands
  41. 5.3 查看 Gateway 状态
  42. 启动 Gateway(如果未运行)
  43. 查看 Gateway 状态
  44. 查看已连接的节点
  45. 5.4 节点管理命令
  46. 查看所有节点(包括未连接的)
  47. 查看待批准的节点请求
  48. 批准节点配对
  49. 拒绝节点配对
  50. 查看节点详细信息
  51. 6.子节点配置:从设备准备到连接
  52. 6.1 节点系统准备
  53. 检查操作系统
  54. 输出:Linux robot01-All-Series 6.8.0-100-generic #100-Ubuntu SMP PREEMPTDYNAMIC Tue Jan 13 16:40:06 UTC 2026 x8664 x8664 x8664 GNU/Linux
  55. 检查网络连接
  56. 输出:172.23.1.27
  57. 6.2 安装 OpenClaw 节点
  58. 全局安装 OpenClaw
  59. 检查安装
  60. 6.3 SSH 隧道建立
  61. 6.3.1 理解 SSH 隧道
  62. 6.3.2 建立 SSH 隧道
  63. 建立 SSH 反向隧道(后台运行)
  64. 验证隧道是否建立
  65. 直接连接到网关(如果网关绑定到 lan 模式)
  66. 6.4 启动节点
  67. 设置 Gateway Token 环境变量
  68. 启动节点(前台运行测试)
  69. 6.5 作为服务运行(生产环境)
  70. 安装为系统服务
  71. 启动服务
  72. 查看服务状态
  73. 查看日志
  74. 7.审批与配对:安全机制的深度理解
  75. 7.1 配对流程概述
  76. 7.2 查看待批准的请求
  77. 7.3 批准节点
  78. 批准节点
  79. 7.4 拒绝节点
  80. 拒绝节点
  81. 7.5 配对信息的持久化
  82. 8.执行授权:exec-approvals 配置完全指南
  83. 8.1 为什么需要 exec-approvals
  84. 8.2 配置文件位置
  85. 8.3 配置格式
  86. 8.3.1 最简单的配置(允许所有)
  87. 8.3.2 白名单模式
  88. 8.4 在 Robot01 上配置
  89. 创建配置目录
  90. 创建配置文件
  91. 验证配置
  92. 8.5 配置生效
  93. 停止当前运行的节点
  94. 重新启动节点
  95. 8.6 验证配置
  96. 9.实战演练:Robot01 节点完整配对过程
  97. 9.1 背景回顾
  98. 9.2 步骤一:准备工作检查
  99. 从节点测试到网关的连接
  100. 测试 SSH 端口
  101. 9.3 步骤二:创建 SSH 隧道
  102. 建立 SSH 反向隧道
  103. 这里使用的是从节点主动连接到网关的方式
  104. 注意:需要网关有 SSH 账号
  105. 9.4 步骤三:启动节点
  106. 设置 Token
  107. 启动节点
  108. 9.5 步骤四:批准配对
  109. 查看待批准列表
  110. 批准节点(使用实际获得的 requestId)
  111. 9.6 步骤五:配置自动执行
  112. 创建 exec-approvals 配置
  113. 9.7 步骤六:重启节点使配置生效
  114. 停止节点
  115. 重新启动
  116. 9.8 步骤七:验证连接
  117. 查看节点状态
  118. 9.9 步骤八:测试执行
  119. 测试基本命令
  120. 10.节点操作:通过网关远程控制子节点
  121. 10.1 使用 nodes 工具
  122. 10.1.1 查看节点状态
  123. 查看所有节点状态
  124. 查看特定节点详情
  125. 10.1.2 在节点上执行命令
  126. 在节点上执行单个命令
  127. 在节点上执行多个命令
  128. 10.1.3 节点文件操作
  129. 从节点下载文件
  130. 上传文件到节点
  131. 10.2 通过 AI 助手交互
  132. 11.MCP 集成:节点与文件服务器交互
  133. 11.1 MCP 文件服务器概述
  134. 11.2 在节点上配置访问
  135. 12.多节点扩展:未来规划与最佳实践
  136. 12.1 扩展路线图
  137. 阶段一:单节点验证(已完成)
  138. 阶段二:功能扩展(规划中)
  139. 阶段三:地理分布(规划中)
  140. 12.2 节点命名规范
  141. 13.故障排除:常见问题与解决方案
  142. 13.1 节点无法连接
  143. 13.2 执行被拒绝
  144. 13.3 命令执行失败
  145. 14.深度优化:安全、性能与可维护性
  146. 14.1 安全建议
  147. 14.2 性能优化
  148. 14.3 可维护性
  149. 15.总结与展望
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Node.js 最新安装教程及环境变量配置
  • CentOS 系统上实现 Python 定时邮件任务的五种方案
  • 基于 LLaMA-Factory 和 LoRA 在 AutoDL 上微调 GPT-OSS-20B 模型
  • tksheet完整指南:Python Tkinter表格组件的终极解决方案
  • 相干伊辛机在医疗与医疗 AI 领域的应用前景
  • OpenClaw 框架深度解析:AI Agent 的安全挑战与演进路径
  • 基于开源工具快速搭建商用级 AI 教育平台方案
  • HarmonyOS 蓝牙权限申请与处理实战指南
  • 内网渗透实战:SSH 隧道搭建与 Web 代码审计漏洞利用
  • Layui 集成 Unity WebGL 时 Tab 切换黑屏的修复方案
  • C++ 开发基础:STL 核心组件与字符编码避坑指南
  • OpenClaw 龙虾机器人部署及进阶配置教程
  • Mac 本地部署 OpenClaw 并接入飞书打造 AI 助手
  • DeepSeek R1 开源模型引发全球复现热潮与技术解析
  • C++ 二叉搜索树详解:增删查改与 key/value 场景实现
  • Docker Compose 部署 OpenClaw 并接入飞书机器人
  • 基于 Windows 服务器部署微信接入 DeepSeek AI 聊天机器人
  • Antigravity 工具实测:集成 Gemini 3 与 Claude 4.5 的 AI 编程 IDE
  • Rust Web 开发实战:Axum 框架从路由到数据库
  • 深入解析 VR 与 AR:从技术原理到未来图景

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online