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 - 掌握人工智能,拥抱智能时代

Released under the MIT License.