核心概念15 分钟中级

系统架构深度解析

OpenClaw 用一套相对完整的智能体架构设计,并验证了可行性。探索其核心组件与设计理念。

核心架构组件

  • Gateway - 统一多渠道接入
  • Tools + Skills - 定义能力边界
  • Memory - 实现持久化记忆
  • 多层防护 - 保证设备安全

1整体架构概览

从架构上来看,你可以把 OpenClaw 想象成一间智能平台,有五个重要功能区:

Gateway(大门)

管理会话、路由请求、做鉴权。通常在本地运行,默认将控制面板绑定到 loopback(只允许本机访问),并支持通过 Tailscale 等私有网络扩展远程访问。

Agent(大脑)

有专门的人设,负责理解上下文意图、制定分步计划、决定要调用哪些工具或技能。

Skills(工具箱)

一组插件/技能(以 Markdown 与脚本描述),让 Agent 可以"开门、倒咖啡、发邮件、跑脚本"。

Channels(通道)

连接各种应用,如 WhatsApp、Telegram、Discord、Slack、SMS 等,让 AI 与用户的日常通信无缝对接。

Nodes(传感器/终端)

运行在用户端设备(手机、笔记本、Raspberry Pi,台式机)的小智能体,可以提供摄像头、地理位置或系统通知等本地能力。

组件功能对比

组件名称功能定位技术细节
Gateway (网关)中央控制平面运行在本地或 VPS 上的 Node.js 守护进程,负责会话管理、权限验证与路由。
Pi Agent (智能体)推理大脑负责处理自然语言、制定任务计划并选择合适的工具。支持 Claude、GPT-4 及 Ollama 本地模型。
Skills (技能)执行能力集模块化的插件系统,通过 SKILL.md 定义功能,支持文件操作、浏览器控制、API 调用等。
Channels (通道)通信接口连接用户现有的即时通讯软件(WhatsApp, Telegram, Discord, Slack 等)。
Nodes (节点)设备端扩展运行在 iOS/Android 或 macOS 上的轻量级智能体,允许 AI 访问相机、地理位置或发送系统通知。

这样的分层设计让 OpenClaw 既能快速扩展社区技能(skill 和 mcp 等),也能够在不同设备间弹性部署和执行任务。

2Gateway 组件:中央控制平面

Gateway 是系统的核心枢纽——一个长期运行的守护进程,负责管理所有消息通道并作为 WebSocket 控制平面。OpenClaw 支持多 Agent 架构,一个 Gateway 可以托管多个独立的 Agent。

Gateway 的三大核心功能

1

接收消息

从各个渠道收集用户指令

2

路由分发

决定这条消息应该交给哪个 Agent 处理

3

回复投递

把 Agent 的回复发送回对应的渠道

默认配置

  • WebSocket 端点: ws://127.0.0.1:18789
  • Canvas 服务器: HTTP 端口 18793, 路径 /__openClaw__/canvas/
  • 每台主机建议运行单个 Gateway(独占 WhatsApp Web 会话)

WebSocket 协议详解

传输层: WebSocket 文本,JSON 格式
首帧: 必须为 connect
请求格式: {type:"req", id, method, params} → {type:"res", id, ok, payload|error}
事件格式: {type:"event", event, payload, seq?, stateVersion?}
支持事件类型: agent, chat, presence, health, heartbeat, cron, tick, shutdown

3Agent:推理引擎

Agent 在接收到消息与任务后,动用自己的脑袋(LLM/大模型)、手脚(Tools)、专业知识(Skills),尽可能的完成任务。其中可能会访问 Web、运行命令、读写文件、编写代码,调用其他 Nodes 能力(比如摄像头)。

Agent Loop 的核心循环

提问 → 思考 → 规划 → 行动 → 观察 → 思考 → 行动 → 等待 → 检查 → 纠错 ... → 完成

LLM 负责"思考"(决定做什么),Tools 负责"行动"(执行操作),执行结果作为"观察"反馈给 LLM,然后继续下一轮循环。

💡 这就是 Agent 和 Chatbot 的本质区别:Chatbot 只会说,Agent 会做。

多 Agent 模式

OpenClaw 支持多 Agent 模式,可以互不干扰,或者相互协作。每个 Agent 有自己的工作区,放置专属配置与记忆。

4Agent 的四个核心阶段

1

上下文组装(Context Assembly)

Agent 需要告诉 LLM "你是谁、你能做什么、你有什么工具,用户说了什么"。这包括:

  • 系统提示: Agent 的身份、规则、工具列表
  • 会话历史: 之前的对话记录
  • Bootstrap 文件: AGENTS.md、SOUL.md、TOOLS.md 等工作区文件

OpenClaw 会把这些内容拼接成一个完整的 Prompt,发送给 LLM。

2

模型推理(Model Inference)

LLM 收到 Prompt 后,决定下一步行动。它可能:

  • 直接回复用户
  • 调用一个工具(Tool Call)
  • 请求更多信息
3

工具执行(Tool Execution)

如果 LLM 决定调用工具,Agent 会:

  • 解析 Tool Call 参数
  • 执行对应的工具(exec、read、write、browser…)
  • 把执行结果返回给 LLM
4

回复分发(Reply Dispatch)

当 LLM 生成最终回复后,Agent 会:

  • 格式化回复内容
  • 通过 Gateway 发送回对应的消息渠道
  • 支持流式输出(边生成边发送)

Pi Agent 核心特点

Agent Loop(智能体循环): 处理用户消息、执行工具调用、将结果反馈给 LLM,循环直到模型生成无工具调用的响应

事件驱动架构: 循环过程发射生命周期事件,支持响应式 UI

消息队列: 支持两种模式(逐条处理或批量处理)

工具流式传输: 支持块流式传输和增量流式传输,实现实时输出

核心工具(仅需 4 个):

  • bash- 执行 shell 命令
  • read- 读取文件内容
  • write- 写入文件内容
  • edit- 编辑文本文件

系统提示词也极为精简,仅约 1000 tokens(包含工具定义),大模型可以理解编程智能体上下文。

总结

OpenClaw 的架构设计体现了"简单而强大"的理念:通过精简的核心工具和清晰的分层架构,实现了一个功能完整、易于扩展的个人 AI 助手系统。

这种设计使得 OpenClaw 既能满足个人用户的日常需求,也能为开发者提供灵活的扩展能力,真正实现了"AI Agent"从概念到落地的完整闭环。

继续学习