Gateway

一句话概括

Gateway 是运行一切的单 Node.js 进程 — WebSocket/HTTP 服务器、渠道插件、agent 运行时、定时任务、记忆和控制 UI — 是 OpenClaw 的中央编排点。

职责

  • 引导和管理所有子系统的生命周期(channels、agents、cron、memory、canvas)
  • 为控制 UI 和 CLI 提供 WebSocket 实时通信
  • 处理 HTTP 请求:webhooks、OpenAI 兼容端点、canvas、Slack 集成
  • 管理认证、速率限制和受信代理解析
  • 协调配置迁移、插件加载和健康监控

架构图

关键源码文件

文件行数角色
src/gateway/server.impl.ts784主引导startGatewayServer() — 配置迁移、子系统初始化、生命周期管理
src/gateway/server-http.ts649HTTP 层createGatewayHttpServer()、webhook 路由、canvas、OpenAI 端点、认证
src/gateway/session-utils.ts876API 层的会话列表/加载

与其他模块的关系

  • 依赖:所有其他模块(这是顶层编排器)
  • 被依赖:CLI(openclaw gateway start/stop/restart)、原生应用(WebSocket 客户端)

我的认知盲区

  • Tailscale 集成细节 — tailnet 绑定模式
  • OpenAI 兼容端点实现
  • 健康监控和发现服务
  • Gateway 重启如何保持活跃会话

变更频率

  • server.impl.ts:高 — 新子系统集成和生命周期变更
  • server-http.ts:中 — 新 HTTP 端点和认证功能