深入OpenClaw网关:架构、网络模型与运行机制全解析

简介: OpenClaw 不仅仅是一个聊天机器人工具,它是一套完整的、长期运行的AI Agent基础设施。其核心Gateway网关扮演着整个系统的“大脑”,统一管理所有即时通信渠道的连接,并协调Pi智能体、移动节点与应用之间的复杂交互。理解其进程模型与网络架构,是确保高权限智能体稳定、可控运行的关键。

image.png

OpenClaw 是一个用于将即时通信渠道与编程智能体连接起来的 Gateway 网关系统。 它本身不提供模型能力,而是作为 消息入口、控制平面与节点协调中心 存在。

它更接近一个长期运行的 Agent 基础设施组件。


一、系统组成与工作原理

OpenClaw 的整体工作结构可以抽象为一条清晰的控制与执行链路:

WhatsApp / Telegram / Discord / iMessage(+ 插件)
  ┌───────────────────────────┐
  │       Gateway 网关        │  ws://127.0.0.1:18789(仅 loopback)
  │      (单一来源)          │
  │                           │  http://<gateway-host>:18793
  │                           │    /__openclaw__/canvas/(Canvas 主机)
  └───────────┬───────────────┘
              ├─ Pi 智能体(RPC)
              ├─ CLI(openclaw …)
              ├─ 聊天 UI(SwiftUI)
              ├─ macOS 应用(OpenClaw.app)
              ├─ iOS 节点(Gateway WS + 配对)
              └─ Android 节点(Gateway WS + 配对)

所有消息首先进入 Gateway 网关,由其统一完成:

  • 渠道协议适配
  • 会话与上下文管理
  • RPC 调度至 Pi 智能体
  • 响应回传

Gateway 是系统中的单一事实源(Single Source of Truth)


二、Gateway 网关进程模型

openclaw gateway 是一个长期运行的单进程服务,承担以下职责:

  • 维护所有消息渠道连接
  • 暴露 WebSocket 控制平面
  • 管理节点、会话与 Canvas
  • 作为 CLI、UI、移动节点的统一入口

这意味着它在工程上同时是:

  • 状态中心
  • 调度中心
  • 安全边界集中点

任何系统级问题,最终都会回到 Gateway。


三、网络模型与连接策略

OpenClaw 官方推荐的部署模型是:

每台主机一个 Gateway 网关

原因非常明确:

  • WhatsApp Web 会话只能安全地被单一进程持有
  • Gateway 本身维护关键运行状态
  • 多 Gateway 场景必须做到强隔离

关键网络策略包括:

  • WebSocket 默认仅绑定 loopback
  • ws://127.0.0.1:18789
  • 向导默认生成 Gateway token(即便是 loopback)
  • 非 loopback 绑定(如 tailnet)必须显式携带 token
  • openclaw gateway --bind tailnet --token ...

节点(iOS / Android / UI)通过 WebSocket 连接 Gateway,可经由:

  • LAN
  • Tailnet
  • SSH 隧道

旧版 TCP 桥接已被弃用。


四、Canvas Host 与节点模型

Gateway 同时承担 Canvas Host 职责:

  • 默认端口:18793
  • 提供 HTTP 文件服务
  • 路径:/__openclaw__/canvas/

Canvas 用于为节点 WebView 提供界面能力:

  • WebChat
  • iOS 节点
  • Android 节点

节点并不直接暴露业务逻辑,而是通过 Gateway 统一调度。


五、功能能力概览(系统层面)

OpenClaw 提供的能力主要集中在“接入、路由、控制”层:

  • WhatsApp 集成(Baileys,WhatsApp Web 协议)
  • Telegram 机器人(grammY,私聊 + 群组)
  • Discord 机器人(channels.discord.js)
  • Mattermost 机器人(插件,Bot API + WebSocket)
  • iMessage(macOS 本地 imsg CLI)

在智能体侧:

  • Pi 智能体(RPC 模式,唯一编程智能体路径)
  • 支持工具调用与流式传输
  • 分块流式响应(含 Telegram 草稿流)

在会话与路由层:

  • 私聊折叠到共享 main 会话(默认)
  • 群聊默认隔离
  • 基于提及的群激活策略
  • 多智能体路由(工作区 + 每智能体会话)

在多端体验层:

  • WebChat
  • macOS 应用
  • iOS 节点(Canvas)
  • Android 节点(Canvas + 聊天 + 相机)

旧版 Claude / Codex / Gemini / Opencode 路径已移除,仅保留 Pi。


六、快速开始与运行方式

运行环境要求:

  • Node.js ≥ 22

推荐通过全局安装与新手引导完成部署:

npm install -g openclaw@latest
# 或
pnpm add -g openclaw@latest
openclaw onboard --install-daemon

向导会完成:

  • Gateway 服务注册(launchd / systemd)
  • 基础配置初始化
  • token 与端口设置

WhatsApp Web 配对:

openclaw channels login

如需手动运行 Gateway:

openclaw gateway --port 18789

七、多实例与测试运行

在需要隔离或多 Gateway 场景下,可通过环境变量启动多个实例:

OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
OPENCLAW_STATE_DIR=~/.openclaw-a \
openclaw gateway --port 19001

发送测试消息(需 Gateway 运行中):

openclaw message send \
  --target +15555550123 \
  --message "Hello from OpenClaw"

八、配置模型与访问控制

默认配置文件位于:

~/.openclaw/openclaw.json

如果不做任何配置,系统将:

  • 使用内置 Pi 二进制
  • 按发送者维度维护会话

更常见的工程实践是先限制入口,例如 WhatsApp 来源控制:

{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+15555550123"],
      "groups": { "*": { "requireMention": true } }
    }
  },
  "messages": {
    "groupChat": {
      "mentionPatterns": ["@openclaw"]
    }
  }
}

这些配置本质上是访问控制与风险收敛策略,而不是功能开关。


九、系统性质与工程含义

OpenClaw 的设计目标并不是构建一个“更聪明的聊天工具”,而是提供一套:

  • 明确的 Gateway 架构
  • 可控的网络模型
  • 可运维的 Agent 控制平面

它更接近一个 消息驱动的自动化系统入口

对于测试、测开、平台工程团队来说,这类系统的关键不在模型能力,而在于:

  • 如何控制入口
  • 如何隔离会话
  • 如何限制执行边界

这些问题,才是真正落到工程现场时需要面对的部分。

相关文章
|
网络协议 网络架构
深入理解IP地址、子网掩码、网关的概念
深入理解IP地址、子网掩码、网关的概念
6869 0
深入理解IP地址、子网掩码、网关的概念
|
2月前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
4796 20
|
监控 Java 应用服务中间件
网关大解密:探索Spring Cloud Alibaba中Gateway的奥秘
网关大解密:探索Spring Cloud Alibaba中Gateway的奥秘
846 1
|
存储 人工智能 架构师
ChatGPT 与软件架构 (4) - 架构师提示工程指南
ChatGPT 与软件架构 (4) - 架构师提示工程指南
494 0
|
2月前
|
SQL 自然语言处理 数据挖掘
ChatBI 选型必看:为什么说“准确率”是评估智能问数工具的第一基石?
当 ChatBI 的准确率不断提升,其价值将从“效率工具”升级为“决策中枢”
|
8月前
|
数据安全/隐私保护 Windows
电脑文件夹加密全攻略:Anvi Folder Locker 工具详解(附下载),一键实现锁定、只读、隐藏三重保护
Anvi Folder Locker是由Anvsoft Corporation开发的免费文件夹和文件加密工具,适用于Windows系统。它提供多种保护方式,如隐藏、密码保护、锁定和只读等,确保敏感数据安全。软件功能强大,集成在Windows资源管理器中,支持24/7免费技术支持。用户可自定义权限,防止文件被修改、复制或删除。初次使用需设置主密码,安装后即可快速保护文件夹。
3897 2
|
JavaScript 前端开发
JavaScript 中的自定义事件
【10月更文挑战第1天】
378 137
|
存储 人工智能 缓存
AI 提示词模板相关的架构设计
现在很多企业纷纷研发大语言模型以解决业务问题。提示词在与模型交互中起到关键作用。为优化提示词模板的修改、提高渲染效率及确保安全性,架构设计注重可修改性、安全性、可靠性和性能。设计包括:将提示词存储在OSS以方便修改和版本控制;使用本地缓存提升读取性能;模板引擎增强灵活性;秘钥安全存储在加密系统中;并通过配置中心动态调整。此设计旨在提供高效、安全且可靠的AI交互体验等。
1387 78
AI 提示词模板相关的架构设计
|
JavaScript 前端开发 C#
从入门到放弃,我们为何从 Blazor 回到 Vue
【10月更文挑战第29天】在前端开发中,许多开发者从尝试新技术 Blazor 最终回到熟悉的 Vue。主要原因包括:1) Blazor 学习曲线陡峭,Vue 上手容易;2) Vue 开发工具成熟,开发效率高;3) Vue 性能优异,优化简单;4) Vue 社区庞大,生态丰富;5) 项目需求和团队协作更适配 Vue。选择技术栈需综合考虑多方面因素。
1415 0