1.2 架构与核心概念

本节分析 OpenClaw 的基本架构,目标回答四个问题:系统如何分层、系统包含哪些核心组件、一次请求如何流转、故障应先查哪一层。

1.2.1 四层逻辑架构与三层面物理形态

从官方的产品定位与物理运行边界来看,OpenClaw 可以被划分为三个核心平面:

  • Gateway(长驻网关进程):唯一的控制平面。维护聊天平台连接、承载会话/路由/策略、对外提供 WebSocket 控制平面与 HTTP API,同时托管 Control UI 等 Web 资源。

  • Agent Runtime(内嵌智能体运行时):OpenClaw 将 Pi SDK 内嵌,在同一进程内完成模型调用、工具循环、流式输出、会话落盘等,无需跨进程开销。

  • 扩展与外部执行面(Skills / Plugins / Nodes):能力的延伸。技能(Skills)作为文件注入、插件(Plugins)作为 TS 模块在网关内注册、节点(Nodes)则通过 WS 接入远端设备能力。

基于上述物理形态,从系统的宏观流转视角审视,OpenClaw 的框架体系可以进一步拆解为四条核心逻辑主线:

  • 连接机制:解决在复杂的外部网络约束下,如何确保异构平台的消息安全、可靠地触达内网,并完成身份的确权与绑定。

  • 治理策略:基于资源与身份的角色体系,结合静态规则来约束引擎行为,严格控制越权的执行操作。

  • 执行内核:作为大模型与工具协同运转的“加工车间”,负责处理动态提示词与上下文,精准解析工具的返回结果,从而维系持续且深入的推理能力。

  • 扩展生态:通过标准化的插件接口定义,将成熟的任务模块化,实现不同组件系统间的互联互通与生态共享。

在工程实现上,这四条主线被抽象为四层逻辑架构。每一层职责独立,便于扩展和排障。为了更直观地理解 Gateway 作为单点控制面如何串联外部入口与执行底座,请参考如下的流转图:

spinner

1. 入口层:协议适配与事件接入

入口层是 OpenClaw 接触外部世界的最前端,具备多渠道收件箱(Multi-channel inbox)特性。其主要职责是接收来自于各种渠道(如 WhatsApp、Telegram、Slack、Discord、Signal、BlueBubbles、Microsoft Teams、Matrix 等)的通信事件,并将其统一转换为 OpenClaw 内部认知的通用事件格式。该层屏蔽了各种底层协议(包括 Webhooks、WebSockets 或轮询机制)的差异,确保上层业务无需关心用户所在平台的特性。相关渠道的接入与拓展详见 多渠道分发与多智能体协作

2. 控制层:全局中枢与安全门控

控制层是系统的防火墙与流量调度总枢纽。所有经过入口层转换的请求,都必须在这里接受检阅。核心组件 Gateway 基于独立且统一的 WebSocket 网络构建,不关心消息具体内容,只负责确认“来者何人”、“去向何方”以及“有何权限”。它执行终端配对、身份鉴权、速率拦截以及多智能体路由(Multi-agent routing),直接决定请求是否允许进入核心执行资源区。在部署架构上,Gateway 还可以自动化集成 Tailscale Serve/Funnel 或 SSH 隧道进行 安全的远程服务暴露

3. 执行层:推理引擎与会话驱动

一旦请求通过 Gateway 门控,便交由底层基于 RPC 模式运行的 Pi Agent 引擎 处理。这是整个智能体系统的大脑。执行层的核心任务包括:通过会话标识(Session)提取历史语境,将系统配置与当前诉求拼装为结构化提示词,并唤起大模型的推理循环。

其强大的 Session 模型不仅支持通过专有工具链实现智能体间的直接协作,还在安全上进行了硬隔离——针对群组或非主渠道的请求启用 Docker 沙箱机制(Docker sandboxing),防止越权操作宿主机。

更重要的是,当模型触发外部工具调用意图时,运行环境负责暂停推理、执行工具命令、获取回调并将其再次注入循环。同时它还掌控了超时、重试与终止等运行时策略。

4. 能力层:可替换的基础底座

能力层是提供具体生产力的基础设施聚合单元。其中包括两部分:一是大语言模型供应商;二是承接具体外部动作的工具集。在 OpenClaw 原生生态中,最具特色的工具基础设施包括:独立的 浏览器管控能力(Browser control)、由智能体驱动的视觉交互工作区(Live Canvas)、支持跨设备协同的 macOS/iOS/Android 端侧设备节点(Device nodes,提供相机抓取、屏幕录制等原生能力),以及始终在线的实时语音唤醒模式。在架构中,模型负责输出意图,而工具负责将其转化为行动及其反馈。它们作为可插拔单元,不断为执行层输出动能。

1.2.2 五大核心对象

对应上述的四层架构,系统中的所有抽象名词最终都落实为以下五个核心对象,它们决定了系统的配置、排障与扩展切入点:

  • Gateway(网关):位于控制层,是系统的入口总闸与路由中枢。负责身份验证、终端配对和连接管理。它只处理“谁能连、消息交给谁”,不参与任何提示词组装或推理逻辑。

  • Agent(智能体):位于执行层,不只是一个语言模型的封装,而是一个完整的任务执行单元。它定义了记忆如何拼接(通过Session 策略)、哪些工具可以使用(通过工具策略)、以及默认的模型选择,从而具备领域专家级的行动意图。

  • Node(节点):业务隔离与资源分区单元。通过 Node 可以将不同业务隔离调度,避免跨业务的资源争用和权限击穿。

  • Tool(工具):位于能力层,大模型与外部系统交互的受控执行单元。每个 Tool 都有标准化的输入输出契约和明确的失败语义。

  • Session(会话):位于执行层,将零散交互串联为有状态对话的核心机制。Session 负责维系历史记忆,将之前的对话成果提取并注入到当前请求的上下文中。

1.2.3 请求流转与协作逻辑

为了理解系统如何实际流转数据,必须追踪一次标准请求的完整生命周期。以下通过一个简单的场景(用户发送消息查询情况)来还原五大对象的协作流程,并标注出潜在的安全与性能约束所在。

spinner

图 1-1:一次请求的核心流转路径与四大组件协作

在上图的流程中:

  1. 步骤 ①②③:用户消息到达, Gateway 完成身份验证与配对检查,根据路由配置将请求分发到对应的 Node

  2. 步骤 ④⑤⑥⑦:目标 Agent 被唤起,查找用户 Session 提取记忆,组装提示词发送至模型。本环节包含了预算容错控制。

  3. 步骤 ⑧⑨⑩⑪:模型在意图推理后,决定外部动作,触发 Tool 并获取回执。此阶段受故障降级策略的保护。

  4. 步骤 ⑫⑬⑭:模型根据回执生成最终文本,写入 Session,通过 Gateway 抛回终端。

1.2.4 分层排障锚点与配置速查表

由于架构严格分离,排障可采用“由外到内扫描”策略。每个核心对象一旦配置不当或发生故障,都有典型的业务表现。下表合并了分层排障锚点与配置症状:

层级与核心对象
核心功能与职责
典型故障表现与排障方向

入口层 (Channels)

将各渠道协议整合为标准事件

日志缺乏流入记录;客户端反复“连接断开”。排查:Webhook 配置、网络连通性。

控制层 (Gateway/Node)

连接保持、全局鉴权、路由边界

系统内“秒级红信拒绝” (Unauthorized),但不报错给模型。排查:终端配对文件、路由拓扑、访问限制。

执行层 (Agent/Session)

拼接记忆、重试管理、沙箱隔离

思考极长报错、死循环死锁、完全无上下文、回答偏离角色。排查:Context 长度、Agent JSON 配置、Compaction 压缩参数。

能力层 (Tool/Model)

外部交互、生成补全

无动作响应、收到 429 限流报错、调用未释放。排查:模型额度、工具元数据、探活探针。

综合来看,若遇到“间歇性缓慢且幻觉增加”,应首查 执行/能力层 ;如果“无任何动作响应甚至秒拒”,首先追溯 入口/控制层

1.2.5 设计哲学:基于 π (pi) 的极简运行底座

为什么一个看似简单的核心(Event + Executor + State Machine)能够支撑起复杂的、可中断、可长期运行的智能体系统?如果你深挖 OpenClaw 的代码,会发现事件循环、执行器调度、状态推进这些整套机制,并不是临时拼凑的,它直接建立在 π (pi)arrow-up-right 的极简执行骨架之上。

OpenClaw 极度克制地把“智能体”限制在语义决策这一层,而让系统真正“跑”起来的,是这套极简底座:

  1. 事件:系统唯一的语言 在 π 中,一切行为皆为事件(调用工具、人工输入、状态变化等)。事件没有隐藏逻辑,它只是一个结构体。系统内部的所有行为,都必须通过统一的事件流推进。这意味着系统没有“偷偷发生”的动作,无论是模型推理的结果,还是人工介入(Human-in-the-loop),全都会进入同一个事件循环统一调度。

  2. 执行器:能力的最小单元 执行器(Executor)只负责一件事:接收事件 → 操作状态 → 返回结果。没有复杂的生命周期管理或隐式路由机制,事件类型与具体的执行器显式绑定,系统的复杂性被压缩到了最小。

  3. 状态机:连续性的来源 框架不负责保存“智能”,它保存的是“状态”。状态机的推进逻辑是显式定义的(哪些事件能触发哪些状态的变化),因此系统的连续性得到了保证。即便没有智能体,这个运行闭环依然可以独立工作。

少,不是由于能力的缺失,而是为了减少假设。 π 并不关心任务有多复杂或是模型有多聪明,它只专注于核心三件事:事件如何流动、状态如何变化、执行如何调度。将 Agent 在不同阶段的决策结果注入这套状态机中,便自然衍生出能长时间持续运行、随时中断与恢复的复杂智能体运行态。

最后更新于