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 | 客户端 SDK | client.ts |
| Method Handler | 方法处理器 | server-methods/ |
默认端口
Gateway 默认监听 ws://127.0.0.1:18789。端口可通过配置修改。
认证模式
Gateway 支持三种认证方式:
| 模式 | 说明 |
|---|---|
| Token | 预共享 token 比较(timing-safe) |
| Password | 密码认证 |
| Tailscale | 通过 Tailscale whois 验证设备身份 |
章节导航
- WebSocket 服务 — 服务器实现、协议帧、方法派发
- 会话管理 — 会话模型、状态持久化、补丁机制
- 配置系统 — 配置加载、热加载策略、重载规则