Skip to content

你的小龙虾-OpenClaw 是怎么设计的? ​

摘要: OpenClaw 架构全景解析,从 Gateway 到 Agent,从 Channel 到 Provider,理解系统如何运作。

作者: 未知作者
发布时间: 2026-03-28
字数: 约 6300 字
阅读时间: 约 15 分钟


📖 目录 ​

  1. 架构全景图
  2. 四大核心组件
  3. 消息流转流程
  4. 插件系统
  5. 配置与架构关系
  6. 故障排查思路
  7. 架构设计原则

架构全景图 ​

前两篇聊了 OpenClaw 是什么、为什么选自托管。这篇我们来点硬核的——拆解它的架构设计。

理解架构不是为了背概念,而是为了知道:当你配置某个功能时,你知道它在系统的哪个位置,出了问题该去哪里排查。

场景示例 ​

你在微信发了一条消息,几秒后 AI 回复了。这几秒里,系统做了什么?

你(微信/飞书/Discord)
  ↓
Gateway —— 统一接入,识别平台
  ↓
Agent —— 采集干活,调用工具
  ↓
Provider —— AI 大脑(GPT/Claude/Gemini)

四大核心组件 ​

OpenClaw 的架构可以抽象为四个核心组件:

1️⃣ Gateway(网关) ​

角色: 统一接待台

Gateway 是做什么的?想象你是一个客服主管,手下有 20 多个渠道(微信、飞书、Discord、邮件...),每个渠道都有客户在发消息。Gateway 就是那个统一的接待台——它接收所有渠道的消息,决定消息该交给哪个 Agent 处理,再把回复送回对应的渠道。

核心职责:

  • 接收所有渠道的消息
  • 决定消息该交给哪个 Agent 处理
  • 把回复送回对应的渠道
  • 通过 WebSocket 保持实时连接

关键概念:WebSocket 控制平面

Gateway 内部有一个 WebSocket 服务器,这是整个系统的中枢神经。简单说,WebSocket 让 Gateway 能实时推送消息,而不是让客户端一直轮询"有没有新消息"。所有渠道连接、Agent 连接、状态同步,都通过这个通道进行。

2️⃣ Agent(代理) ​

角色: 干活的员工

如果说 Gateway 是接待台,Agent 就是实际干活的员工。它接收 Gateway 分派过来的任务,调用 AI 模型进行推理,决定用什么工具、怎么回复。

Agent 的核心循环(Agent Loop):

思考 → 行动 → 观察 → 再思考 → ...

Agent 接到任务后,会不断重复这个思考 - 行动循环,直到任务完成。这就像你接到一个复杂任务时,会先想想怎么做,然后动手做,看看效果,不行再调整,直到做完为止。

核心模块:

  • 思考引擎: 调用 AI 模型进行推理
  • 工具系统: 搜索、浏览器、代码执行等
  • 记忆系统: 记住之前的对话历史

3️⃣ Channel(渠道) ​

角色: 协议适配器

Channel 是 Gateway 和外部通讯平台之间的适配器。每个平台(微信、飞书、Discord 等)都有自己的协议和数据格式,Channel 负责把这些转换成 OpenClaw 内部的标准格式。

外部平台协议 ←→ Channel 适配器 ←→ OpenClaw 内部标准格式
(WhatsApp)      (whatsapp-channel)    (统一消息对象)
(Discord)       (discord-channel)     (统一消息对象)
(Feishu)        (feishu-channel)      (统一消息对象)

4️⃣ Provider(模型提供商) ​

角色: AI 大脑接口

Agent 需要调用 AI 模型进行推理,Provider 就是连接各种 AI 模型的接口。OpenClaw 不绑定任何特定模型,你可以自由切换。

支持的 Provider(部分):

  • OpenAI (GPT-4, GPT-3.5)
  • Anthropic (Claude)
  • Google (Gemini)
  • 通义千问
  • 文心一言

消息流转流程 ​

理解了四大组件,我们来看一条消息从发送到回复的完整旅程:

  1. 用户发送消息(微信/飞书/Discord)
  2. Channel 接收并转换 为内部格式
  3. Gateway 接收消息,通过 WebSocket 推送
  4. Agent 接收任务,开始思考循环
  5. Provider 调用 AI 模型 进行推理
  6. Agent 决定回复内容
  7. Gateway 通过 Channel 发送回复
  8. 用户收到回复

整个过程通常在几秒内完成。


插件系统 ​

除了四大核心组件,OpenClaw 还有一个重要的设计——Plugin(插件)系统。

三种类型的插件:

  1. 工具插件: 扩展 Agent 能力(搜索、浏览器、代码执行等)
  2. 渠道插件: 支持新的通讯平台
  3. Provider 插件: 支持新的 AI 模型

配置与架构关系 ​

所有架构组件的配置都集中在 openclaw.json 文件中:

json
{
  "gateway": {
    "port": 8080,
    "auth": { "token": "xxx" }
  },
  "channels": {
    "feishu": { "appId": "xxx", "appSecret": "xxx" },
    "discord": { "botToken": "xxx" }
  },
  "providers": {
    "openai": { "apiKey": "sk-xxx" }
  },
  "agents": {
    "main": {
      "model": "openai/gpt-4",
      "tools": ["search", "browser"]
    }
  },
  "routing": {
    "defaultAgent": "main"
  }
}

理解架构后理解配置:

  • gateway 配置 → 接待台的监听端口和认证
  • channels 配置 → 各个渠道的接入凭证
  • providers 配置 → AI 模型的 API Key
  • agents 配置 → 员工的配置(用什么模型、有什么工具)
  • routing 配置 → 消息分配规则

故障排查思路 ​

理解架构后,排查问题的思路会更清晰:

问题现象可能原因排查位置
消息收不到Channel 配置错误channels 配置、平台凭证
消息处理慢Agent 思考循环慢Agent 配置、模型响应时间
回复发不出Gateway 推送失败WebSocket 连接、Channel 状态
模型报错Provider 配置错误providers 配置、API Key

架构设计原则 ​

OpenClaw 的架构设计遵循几个核心原则:

  1. 解耦: 各组件独立,可以单独替换
  2. 可扩展: 通过插件系统轻松扩展
  3. 统一接口: 内部标准化,外部多样化
  4. 实时性: WebSocket 保证消息实时推送
  5. 配置集中: 所有配置集中在一个文件

总结 ​

理解这个架构,你就掌握了 OpenClaw 的"地图"——知道每个功能在哪个位置,如何相互协作,出了问题去哪里找。


本文是 OpenClaw 入门系列的第三篇,下一篇我们将深入探讨 Agent 的思考循环和工具系统。


🟢🐉 AiTimes - 掌握人工智能,拥抱智能时代