Gateway 网关
src/gateway/ 是 OpenClaw 的核心网关服务。
核心入口:server.impl.ts
启动流程
- 加载配置 + 迁移 legacy 配置
- 初始化运行时状态 (
createGatewayRuntimeState) - 加载插件 (
loadGatewayPlugins) - 启动 WebSocket/HTTP 服务器
- 附加 WS 处理器 (
attachGatewayWsHandlers) - 启动通道管理器 (
createChannelManager) - 初始化子代理注册表 (
initSubagentRegistry) - 启动 Cron 服务 (
buildGatewayCronService) - 启动心跳 (
startHeartbeatRunner) - 启动发现 (
startGatewayDiscovery) - 运行 BOOT.md (
runBootOnce)
关键子系统
- server-chat.ts: Agent 事件处理器,消息路由到 Agent
- server-channels.ts: 通道管理(启动/停止各 channel plugin)
- server-plugins.ts: 插件加载和管理
- server-methods.ts: Gateway RPC 方法注册
- server-cron.ts: 定时任务
- config-reload.ts: 配置热重载
- boot.ts: BOOT.md 启动脚本执行
Boot 机制 (boot.ts)
- 读取 workspace 下的
BOOT.md - 构建 boot prompt
- 通过
agentCommand()执行一次性 agent 运行 - 用于首次启动的自动化配置