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

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

为解决单机 AI 助手算力瓶颈,记录构建 OpenClaw 分布式网络的完整实践。通过网关协调多个子节点,利用 SSH 隧道建立安全连接,配置执行审批策略平衡安全与效率。实战展示了从环境准备、节点配对到远程命令执行的流程,并提供了故障排查与多节点扩展建议,帮助开发者搭建可扩展的本地 AI 基础设施。

LinuxPan发布于 2026/3/23更新于 2026/10/22124 浏览
OpenClaw 网关与子节点配对指南:构建分布式 AI 助手网络

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

前言:从单机到分布式

在单机运行 AI 助手时,我们常遇到算力瓶颈。比如语音合成占满 GPU 时,浏览器自动化就会卡顿;或者需要在不同地点的设备上同步控制,但独立实例导致数据碎片化。

OpenClaw 的子节点(Node)机制允许我们将多台设备组织成分布式 AI 助手网络。在这个架构中,网关(Gateway)是中央大脑,负责指令分发和协调;子节点则是执行单元,承担特定任务。这种设计带来了算力扩展、功能分布和统一管理等优势。

本文将详细记录为 OpenClaw 网关添加第一个子节点的完整过程,包括架构设计、配置步骤及优化经验。

概念解析:网关与子节点

网关(Gateway)

网关是整个系统的核心,不仅是 WebSocket 服务器,更是协调中心。它负责消息路由、任务编排、状态管理和安全控制。

在我的部署中,网关运行环境如下:

  • 主机:Ubuntu 22.04 / 24.04
  • IP 地址:172.23.1.13
  • 端口:18789(默认 WebSocket 端口)
  • 绑定模式:loopback(本地绑定)

子节点(Node)

子节点是连接到网关的外部设备,可以是树莓派、旧电脑或高性能工作站。每个节点暴露不同的能力(Capabilities),例如:

  • browser:浏览器控制
  • system:系统命令执行
  • camera:摄像头捕获

通信与安全

网关与子节点基于 WebSocket 建立持久双向通道,用于心跳检测、任务分发和结果回传。安全方面采用多层模型:身份认证(Token)、配对审批、命令过滤和执行审批。

准备工作:环境与工具

硬件与网络

确保网关和子节点在同一局域网内。需要记录以下信息以便配置:

项目网关节点
IP 地址172.23.1.13172.23.1.27
用户名xxxrobot01
Gateway Tokenxxxx-

软件依赖

网关端需已安装 OpenClaw CLI。节点端需要 Node.js 环境和 OpenClaw CLI。

# 检查 Node.js 版本
node --version

# 全局安装 OpenClaw(如果未安装)
npm install -g openclaw

网络配置

确保防火墙开放必要端口。网关的 WebSocket 端口(18789)和 SSH 隧道端口(如 18790)需在局域网内可访问。

# 检查并开放端口
sudo ufw allow 18789/tcp
sudo ufw allow 18790/tcp

网关配置详解

OpenClaw 的配置文件位于 ~/.openclaw/openclaw.json。关键配置项如下:

{
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "xxxxxxx"
    },
    "nodes": {
      "denyCommands": ["camera.snap", "screen.record"]
    }
  }
}

注意:当 bind 设置为 loopback 时,外部节点无法直接连接,必须通过 SSH 隧道转发流量。这是出于安全考虑,防止公网直接暴露 WebSocket 服务。

查看网关状态和节点列表:

openclaw gateway status
openclaw nodes status

子节点配置与连接

SSH 隧道建立

由于网关使用 loopback 绑定,子节点需要通过 SSH 反向隧道连接到网关。

在子节点设备上执行:

# 建立 SSH 反向隧道(后台运行)
ssh -N -L 18790:127.0.0.1:18789 [email protected] &

# 验证隧道是否建立
netstat -tln | grep 18790

这里 -L 参数表示将本地的 18790 端口转发到远程网关的 127.0.0.1:18789。这样节点连接本地 18790 实际上就是连到了网关。

启动节点

隧道建立后,设置环境变量并启动节点:

export OPENCLAW_GATEWAY_TOKEN="xxxxx"
openclaw node run --host 127.0.0.1 --port 18790 --display-name "Robot01"

启动成功后会看到类似提示:Node connected and awaiting approval。

生产环境中建议将其注册为系统服务,实现开机自启:

sudo openclaw node install --host 127.0.0.1 --port 18790 --display-name "Robot01"
sudo openclaw node start

审批与配对:安全机制

新节点连接后不会立即生效,需要经过网关管理员审批。

查看待批准请求

在网关上执行:

openclaw nodes pending

输出示例:

Pending nodes:
- requestId: abcxxx (Robot01)
  Platform: linux
  Version: 2026.2.14

批准或拒绝

确认无误后批准节点:

openclaw nodes approve abcxxx

批准后,节点状态变为 Paired: true。若发现异常请求,可使用 reject 命令拒绝。

执行授权:exec-approvals

默认情况下,节点上的命令执行需要人工审批。为了提升自动化效率,可以配置 exec-approvals 文件来设定自动执行策略。

配置文件位置

该文件位于节点设备的 ~/.openclaw/exec-approvals.json。

配置格式

最简单的配置是允许所有执行(仅适用于受信任的内网环境):

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

更安全的做法是使用白名单模式,只允许特定命令:

{
  "version": 1,
  "defaults": {
    "security": "allowlist",
    "ask": "on-miss"
  },
  "allowlist": [
    { "id": "1", "pattern": "curl*" },
    { "id": "2", "pattern": "wget*" }
  ]
}

配置修改后需重启节点服务才能生效。

实战演练:完整配对流程

让我们快速回顾一下 Robot01 节点的完整接入步骤:

  1. 环境检查:确认网络连通性,测试 SSH 端口。
  2. SSH 隧道:在节点上建立反向隧道至网关。
  3. 启动节点:设置 Token 并运行 openclaw node run。
  4. 网关审批:在网关查看 pending 列表并批准。
  5. 权限配置:在节点创建 exec-approvals.json。
  6. 验证执行:通过网关远程运行命令测试。

测试命令执行:

openclaw nodes run --node Robot01 uname -a

节点操作与扩展

远程控制

使用 nodes 工具可以在网关上管理子节点:

# 查看状态
openclaw nodes status

# 执行命令
openclaw nodes run --node Robot01 ls -la

# 文件传输
openclaw nodes download --node Robot01 /remote/file /local/path

最自然的交互方式是直接通过 AI 助手发出指令,例如'让 Robot01 执行 curl --version',AI 会自动调用节点接口。

多节点扩展规划

未来可以进一步扩展网络规模:

  • 功能扩展:增加专门的文件处理节点或视觉识别节点。
  • 地理分布:利用 Tailscale 等工具实现跨互联网连接。
  • 命名规范:建议按功能命名,如 Robot-Cam01、Robot-Remote。

故障排除

常见问题及解决方案:

问题原因解决方案
连接被拒绝SSH 隧道未建立检查 SSH 隧道状态
超时网络不通检查防火墙和路由
认证失败Token 错误核对 Gateway Token
执行被拒绝exec-approvals 未配置配置自动执行策略

深度优化建议

  • 安全性:定期更换 Token,限制 SSH 密码登录,使用密钥认证。
  • 性能:尽量使用有线网络连接节点以减少延迟,批量合并命令执行。
  • 可维护性:标准化配置文件,使用 Ansible 等工具批量部署节点。

通过上述步骤,我们成功构建了基于 OpenClaw 的分布式 AI 助手网络。这不仅解决了单机算力瓶颈,还为未来的复杂自动化场景打下了坚实基础。

目录

  1. OpenClaw 网关与子节点配对指南:构建分布式 AI 助手网络
  2. 前言:从单机到分布式
  3. 概念解析:网关与子节点
  4. 网关(Gateway)
  5. 子节点(Node)
  6. 通信与安全
  7. 准备工作:环境与工具
  8. 硬件与网络
  9. 软件依赖
  10. 检查 Node.js 版本
  11. 全局安装 OpenClaw(如果未安装)
  12. 网络配置
  13. 检查并开放端口
  14. 网关配置详解
  15. 子节点配置与连接
  16. SSH 隧道建立
  17. 建立 SSH 反向隧道(后台运行)
  18. 验证隧道是否建立
  19. 启动节点
  20. 审批与配对:安全机制
  21. 查看待批准请求
  22. 批准或拒绝
  23. 执行授权:exec-approvals
  24. 配置文件位置
  25. 配置格式
  26. 实战演练:完整配对流程
  27. 节点操作与扩展
  28. 远程控制
  29. 查看状态
  30. 执行命令
  31. 文件传输
  32. 多节点扩展规划
  33. 故障排除
  34. 深度优化建议

更多推荐文章

查看全部
  • GitHub Copilot 安装配置与核心功能详解
  • Linux 进程优先级与 O(1) 调度算法解析
  • Java 线程池:核心原理、参数配置与实战应用
  • LLM Prompt 万能框架:多层次架构解析与实践
  • Ubuntu 下安装与配置 AMULE 客户端
  • Conda 环境 Python 版本升级实战指南
  • 当 Batch Size 增大时,学习率该如何随之变化?
  • 大模型后训练技术全解析:Llama3.1、DeepSeek-V3 等关键实践
  • C++反向迭代器实现、逆波兰表达式与计算器实现
  • OpenAI 集成 LangChain 实战使用详解
  • Android 15 新特性及开发者进阶技能解析
  • Vue 组件根元素样式失效原因及解决方案
  • 大模型在影视动漫行业的应用案例详解
  • cann-recipes-train 实战:昇腾平台 DeepSeek-R1 与 Qwen2.5 强化学习优化
  • C++ 入门:发展史、第一个程序、命名空间与输入输出
  • SpringBoot 整合 Neo4j 图数据库项目实战
  • 从零开始使用Airi:开源AI多模态数字桌面伴侣入门指南
  • 利用文心一言为智能体设计稳定的工作流提示词
  • 基于 Spring Boot 的流浪动物救助与管理系统的设计与实现
  • 2026 Web 开发趋势:性能即默认,少写代码多思考

相关免费在线工具

  • 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