Skip to content

Gateway 控制平面概述

Gateway 是 OpenClaw 的神经中枢——一个基于 WebSocket 的控制平面,所有客户端、通道和服务都通过它进行通信。

源码位置

src/gateway/
├── server.impl.ts              # Gateway 服务器主实现
├── server.ts                   # 导出入口
├── auth.ts                     # 认证授权
├── client.ts                   # 客户端 SDK
├── server-methods.ts           # 方法派发中心
├── server-methods-list.ts      # 方法列表
├── server-methods/             # 43 个 handler 模块
├── server/                     # 服务器核心组件
├── protocol/                   # 协议定义
├── config-reload.ts            # 配置热加载
├── session-utils.ts            # 会话工具
├── sessions-patch.ts           # 会话补丁
├── hooks.ts                    # Gateway Hooks
├── hooks-mapping.ts            # Hook 映射
├── call.ts                     # RPC 调用封装
├── server-http.ts              # HTTP 服务
├── server-startup.ts           # 启动流程
├── server-close.ts             # 关闭流程
├── server-runtime-state.ts     # 运行时状态
├── server-runtime-config.ts    # 运行时配置
├── server-broadcast.ts         # 广播机制
├── server-channels.ts          # 通道管理
├── server-chat.ts              # 聊天 handler
├── server-cron.ts              # 定时任务
├── server-discovery.ts         # 服务发现
├── server-plugins.ts           # 插件管理
└── ws-log.ts                   # WebSocket 日志

核心概念

概念说明源文件
RequestFrame客户端请求帧protocol/index.ts
ResponseFrame服务器响应帧protocol/index.ts
EventFrame服务器推送事件protocol/index.ts
GatewayServer服务器运行时类型server.impl.ts
GatewayClient客户端 SDKclient.ts
Method Handler方法处理器server-methods/

默认端口

Gateway 默认监听 ws://127.0.0.1:18789。端口可通过配置修改。

认证模式

Gateway 支持三种认证方式:

模式说明
Token预共享 token 比较(timing-safe)
Password密码认证
Tailscale通过 Tailscale whois 验证设备身份

章节导航

  1. WebSocket 服务 — 服务器实现、协议帧、方法派发
  2. 会话管理 — 会话模型、状态持久化、补丁机制
  3. 配置系统 — 配置加载、热加载策略、重载规则

OpenClaw 源码学习教程