1. OpenClaw 架构概览
OpenClaw 是一款运行在个人设备上的开源 AI 助手框架,采用本地优先(Local-First)的 Gateway 控制平面架构。这个设计理念的核心在于将所有消息渠道、AI 会话和工具调用都通过一个统一的本地 WebSocket 服务进行调度。这种架构选择有几个关键优势:
- 数据隐私保护:所有处理都在本地完成,避免了敏感数据上传到云端
- 低延迟响应:本地网络通信消除了互联网延迟
- 离线可用性:不依赖外部服务器,在网络不稳定时仍可工作
架构的核心组件包括:
- Gateway:作为控制平面的WebSocket服务
- Pi Agent:嵌入式AI运行时
- 多渠道适配器:支持20+消息平台
- 工具系统:提供各种实用功能
提示:Gateway默认绑定127.0.0.1的设计确保了基本安全,但实际部署时建议进一步配置防火墙规则。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心子系统解析
2.1 Gateway 控制平面
Gateway 是整个系统的神经中枢,采用WebSocket协议与各组件通信。其核心功能包括:
-
连接管理:
- 维护所有客户端的WebSocket连接
- 处理连接中断和重连
- 实现心跳机制保持连接活跃
-
消息路由:
- 将来自不同渠道的消息标准化
- 根据会话规则路由到对应Agent
- 处理消息优先级和限流
-
工具调用代理:
- 验证工具调用权限
- 监控工具执行状态
- 处理工具调用结果
技术实现上,Gateway使用Node.js构建,利用了ws库实现WebSocket服务。其启动流程经过精心设计,确保各模块按正确顺序初始化:
typescript复制// 伪代码展示启动流程
async function startup() {
await loadConfig() // 1. 加载配置
await initAuth() // 2. 初始化认证
await startHttpServer() // 3. 启动HTTP服务
await upgradeToWebSocket() // 4. 升级WebSocket
await initChannels() // 5. 初始化渠道连接
await startCron() // 6. 启动定时任务
await registerTools() // 7. 注册工具目录
await loadSkills() // 8. 加载Skills
await initMemory() // 9. 初始化内存服务
}
2.2 Pi Agent 运行时
Pi Agent 是Ope
