概述


一、一句话理解 Gateway

Gateway = 交通枢纽

所有的消息都必须经过它:

  • 消息从渠道进来,先到 Gateway
  • AI 的回复从 Gateway 发出去
  • 工具调用的请求经过 Gateway
  • 工具的结果通过 Gateway 返回

没有 Gateway = 消息无法流通 = AI 无法响应


二、生活类比:快递中转站

想象你寄一个快递:

你(飞书消息)
    ↓ 寄出
快递中转站(Gateway)
    ↓ 分拣
目的城市(AI 大脑 / 工具)
    ↓ 处理
快递中转站(Gateway)
    ↓ 返回
你(飞书回复)

Gateway 就是一个中转站,它不负责"想"(那是 AI 大脑的事),它只负责"传":

  • 接收消息 → 传给大脑
  • 接收大脑回复 → 传给用户

三、Gateway 在技术架构中的位置

┌──────────────────────────────────────────────────────┐
│                                                       │
│   飞书 ──┐                                           │
│   钉钉 ──┼──→ Gateway ──→ AI 大脑 ──→ 工具 ──→ 执行  │
│   微信 ──┘                                           │
│                                                       │
└──────────────────────────────────────────────────────┘

Gateway 处于所有流量的必经之地,是 OpenClaw 系统的"高速公路收费站"。


四、Gateway 负责哪些具体工作

工作内容说明
消息路由决定消息该发给哪个 Agent 处理
会话管理为每个用户维护独立的对话上下文
认证授权验证发送者身份,确认是否有权限
格式转换把各渠道的格式统一,回复时再转回去
错误处理AI 出错时,Gateway 决定如何响应
日志记录记录所有经过的消息,方便排查问题

五、你系统中的 Gateway

在你当前的 OpenClaw 系统里,Gateway 就是运行在后台的一个进程

进程名称:openclaw-gateway
端口:18789
运行位置:你自己的电脑(或服务器)

可以通过命令查看状态:

openclaw gateway status

六、Gateway 的配置

Gateway 的配置在 ~/.openclaw/openclaw.json 中,比如:

{
  "gateway": {
    "port": 18789,        // Gateway 监听端口
    "mode": "local",      // 运行模式:本地
    "bind": "loopback"    // 只允许本机访问(安全)
  }
}

七、常见问题

Q: Gateway 挂了会怎样?
A: 所有消息都无法收发,AI 无法响应。所以 Gateway 要保持运行状态。
Q: 可以同时运行多个 Gateway 吗?
A: 可以,但通常一个 Gateway 服务所有渠道就够了。
Q: Gateway 和 Agent 是什么关系?
A: Gateway 是消息的"交通枢纽",Agent 是实际处理消息的"AI 大脑"。消息经过 Gateway 后,由 Agent 处理。
Q: Gateway 报错 'port already in use'?
A: 端口被占用。检查是否有其他程序占用了相同端口,或修改 Gateway 端口配置。
Q: Gateway 如何开机自启?
A: 使用 systemd 或 pm2 配置服务自启。Linux: sudo systemctl enable openclaw-gateway
Q: Gateway 日志在哪里?
A: 默认在 ~/.openclaw/logs/ 目录下,可以配置日志级别和输出位置。

八、下一步学什么

  • 1.5 核心概念二:Agent(智能体)是什么 → 理解 Gateway 处理消息后由谁来"思考"
  • 1.6 核心概念三:Channel(渠道)是什么 → 理解消息是从哪些入口进来的

如有疑问,欢迎在群内提问!