目录
[二、控制面(Control Plane)](#二、控制面(Control Plane))
[三、Gateway 网关层](#三、Gateway 网关层)
[四、消息通道层(Message Channels)](#四、消息通道层(Message Channels))
[五、核心引擎层(Core Engines)](#五、核心引擎层(Core Engines))
[5.1 AgentLoop:三层嵌套的执行引擎](#5.1 AgentLoop:三层嵌套的执行引擎)
[5.2 RalphLoop 范式:三原则驱动的智能迭代](#5.2 RalphLoop 范式:三原则驱动的智能迭代)
[5.3 其他核心子系统](#5.3 其他核心子系统)
一、架构概述
用户请求 -> 控制面(Web UI、CLI Tools) -> Gateway(安全认证、路由分发) -> 消息通道(归一化) -> 核心引擎(模型)<-> 扩展层(Skills、Cron Job、Plugins) -> 响应返回
二、控制面(Control Plane)
1. 职责边界清晰化 控制面严格遵循单一职责原则,专注于用户交互层面,包括:
- 用户界面展示(Web UI/SwiftUI界面)
- 指令接收与下发
- 不参与任何业务逻辑处理,确保关注点分离
2. 消息标准化机制 建立统一的消息协议层,实现:
- 跨端一致性:无论是图形界面操作还是CLI命令,均转换为标准消息格式
- 协议抽象:屏蔽不同交互方式的实现差异,为下层提供统一的接口规范
- 可扩展性:标准化格式便于未来新增交互方式的快速集成
3. 系统初始化管理 控制面集成完整的生命周期管理体系:
- 10步初始化序列:严格定义模块启动顺序,确保依赖关系正确解析
- 状态监控:实时跟踪各模块就绪状态,提供系统健康度可视化
- 故障隔离:当某个模块初始化失败时,能够优雅降级并给出明确错误指引
**架构优势:**这种设计实现了控制面与业务逻辑的完全解耦,提升了系统的可维护性和可扩展性,同时标准化的消息机制为多端一致性体验提供了技术保障。
三、Gateway 网关层
1. 协议选型策略 选择JSON over WebSocket协议的技术决策依据:
- 实时通信需求:支持用户指令、Agent流式响应、工具回调等双向数据交互
- 长连接优势:相较HTTP短连接轮询,减少90%以上的连接建立开销
- 端口标准化:固定使用18789端口简化网络配置
2. 安全防护体系 四步安全握手协议设计:
- 防重放攻击:动态nonce机制确保每次会话唯一性
- 挑战-响应模式:基于时间戳的临时凭证验证
- 会话保护:连接建立后生成独立加密信道
3. 智能路由架构 7层优先级消息分发系统:
- 多维度路由:根据消息类型、紧急程度、资源需求等维度决策
- 集中管控:避免各Agent独立路由导致的策略冲突
- 协作支持:实现跨Agent的消息转发和任务协同
设计价值 通过协议优化、安全加固和智能路由三重机制,构建高可靠、低延迟的系统通信基础设施,满足复杂Agent协作场景的技术需求。
四、消息通道层(Message Channels)
1. 适配器架构模式
- 平台隔离设计:为每个通信平台(Telegram/WhatsApp等)开发独立的ChannelAdapter
- 格式转换:将平台原生消息结构转换为标准UnifiedMessage对象
- 引擎透明化:核心处理逻辑完全屏蔽底层平台差异
2. 标准化消息处理
- 统一接口:Agent Loop仅处理规范化的UnifiedMessage结构
- 平台无关性:业务代码无需包含平台特定的条件判断逻辑
- 数据一致性:确保不同来源的消息在引擎层具有相同处理体验
3. 架构优势
- 解耦效果:平台适配与业务逻辑完全分离,修改适配器不影响核心功能
- 多端覆盖:新增平台只需实现对应Adapter,无需改动现有处理流程
- 维护简化:平台特性变更仅需在对应Adapter内调整,降低系统整体维护成本
设计价值 通过标准化适配层实现"一次开发,处处运行"的跨平台能力,使系统具备良好的可扩展性和平台兼容性。
五、核心引擎层(Core Engines)
5.1 AgentLoop:三层嵌套的执行引擎
- **run.ts(外层):**负责全局生命周期管理,包括双重队列化、指数退避容错、Session 串行化和 Jitter 抖动。当 Agent 调用失败时,外层会根据错误类型决定是重试还是放弃。
- **attempt.ts(中层):**管理单次 LLM 交互会话,包括 Sandbox 解析、工具注册、Prompt 构建,以及 6 个关键的 Plugin Hook 点(如 before_llm、after_tool 等)。
- **subscribe.ts(内层):**处理流式事件消费、工具调用执行和实时状态同步,确保每一个 token 都能被正确处理。
5.2 RalphLoop 范式:三原则驱动的智能迭代
OpenClaw 的 Agent Loop 实现了一套被称为 Ralph Loop 的范式,它包含三个核心原则:
- **新鲜上下文(Fresh Context):**每轮迭代都重新构建上下文,避免历史信息的累积污染。
- **客观验证(Objective Check):**引入外部工具来验证 LLM 的输出,而非盲目信任。
- **Stop Hook 强制迭代:**通过 Hook 机制强制 Agent 在必要时停止,避免无限循环。
5.3 其他核心子系统
24 个 Hook 点的能力边界:通过 24 个生命周期 Hook 点,第三方开发者可以在不修改核心代码的前提下,注入自定义逻辑