Technical Overview

OpenClaw 系统全解

概念 · 架构 · 工作流 · 节点配置

OpenClaw 是什么

OpenClaw 是一个开源的本地 AI 智能体框架。它以消息平台(如 Telegram、微信)为交互入口,以大语言模型为决策大脑,以工具和 MCP Server 为执行双手,让 AI 能够在你的本地设备上自主完成真实世界的任务。

一句话定义:OpenClaw 是"以聊天窗口为遥控器、以 AI 为大脑、以工具为双手"的本地任务调度系统。

五个核心组成部分

理解 OpenClaw 只需掌握以下五个概念,它们共同构成完整的执行链路。

💬
Channel(频道)
交互入口
用户与系统交互的入口。支持 Telegram、WhatsApp、微信等十余种平台。频道适配器将不同平台的消息格式统一标准化后交给 Gateway。
Gateway(网关)
系统神经中枢
整个系统的核心进程,运行在你的本地机器上。负责消息路由、维护对话上下文(记忆)、调度工具调用、管理 Agent 生命周期,所有流量都流经此处。
🤖
Agent(智能体)
决策与执行核心
绑定大语言模型(Claude / GPT / DeepSeek)的执行单元。通过 SOUL.md 定义身份和行为规则,通过 Skills 加载专项能力,执行"推理 → 调用工具 → 整合结果"的循环。
🔧
Tools(工具)
本地执行函数
Agent 可直接调用的功能函数,运行在 Gateway 所在机器上。常见工具包括 shell(执行命令)、browser(控制浏览器)、web_search(联网搜索)、read/write_file 等。
🔌
MCP Server(节点代理)
远端节点连接层
运行在 Gateway 本机的代理进程,负责连接并控制远端设备或服务(手机、服务器、云 API 等)。每个需要被控制的外部节点,都需要在 Gateway 机器上配置一个对应的 MCP Server。MCP Server 封装了访问该节点所需的连接方式和权限凭证,让 Agent 可以像调用本地工具一样操控远端设备。

系统整体架构

以下展示各组件在系统中的层次关系与数据流向。

👤
用户
发送自然语言指令
💬
Channel 频道适配器
Telegram / WhatsApp / 微信 / Slack
统一消息格式
Gateway 网关
消息路由 · 上下文管理 · 工具调度 · 权限检查
运行在你的本地机器
🤖
Agent 智能体
Claude / GPT / DeepSeek
SOUL.md · Skills · Memory
🔧
Tools 工具
shell · browser
web_search · file I/O
|
🔌
MCP Servers 节点代理
手机(ADB) · 服务器(SSH)
云服务 API · 其他设备

MCP Server 如何工作

MCP(Model Context Protocol)是连接 Agent 与外部节点的标准协议。理解它的关键在于:MCP Server 始终运行在 Gateway 所在的机器上,而不是运行在被控设备上。

MCP 连接模型

🖥️ 你的电脑(Gateway 机器)
Gateway 进程
手机 MCP Server
服务器 MCP Server
文件系统 MCP Server
USB / WiFi / SSH / API
📱 被控节点(远端设备)
手机(ADB 接入)
远程服务器(SSH)
云服务(API Key)
其他智能设备

配置多节点时,每个需要控制的设备或服务,都在 Gateway 机器上独立配置一个 MCP Server 条目。以下是一个典型的 YAML 配置示例:

# config.yaml — MCP Server 配置示例 mcp_servers: - name: my-phone # 手机节点 transport: stdio command: npx args: ["adb-mcp-server"] # 通过 ADB 连接安卓手机 - name: my-server # 远程服务器节点 transport: stdio command: npx args: ["ssh-mcp-server", "--host", "192.168.1.100"] - name: local-files # 本地文件系统节点 transport: stdio command: npx args: ["filesystem-mcp", "--root", "/Users/me"]

配置完成后,Agent 会自动感知"我有哪些节点可用",并在执行任务时自主决定调用哪个 MCP Server。

完整执行流程

以"把手机最后一张照片传到电脑"为例,完整流程如下:

1
用户发送指令
通过 Telegram 发送:"把手机最后一张照片发到电脑"
2
Channel 标准化消息
Telegram 适配器将消息格式统一,传递给 Gateway
3
Gateway 路由与上下文装配
Gateway 选定处理该请求的 Agent,将对话历史、记忆、可用工具列表一并打包传入
4
Agent 推理与任务规划
Claude 分析指令,制定计划:Step 1 访问手机节点取图 → Step 2 写入电脑本地目录
5
调用手机 MCP Server
Gateway 机器上的手机 MCP Server 通过 ADB 从手机拉取最新照片到本地临时目录
adb pull /sdcard/DCIM/Camera/IMG_last.jpg ./tmp/
6
调用本地文件系统工具
将照片从临时目录移动至电脑目标文件夹,任务完成
mv ./tmp/IMG_last.jpg ~/Downloads/from_phone/
7
Agent 回复用户
通过 Telegram 回复:"已将最新照片传至 ~/Downloads/from_phone/"

Agent 的关键配置文件

文件 作用 示例内容
SOUL.md 定义 Agent 的身份、性格、行为规则 你是一个专业的文件管理助手,执行操作前必须确认...
Skills/ 按需加载的专项能力模块 照片整理 Skill、代码审查 Skill、日程管理 Skill...
config.yaml 绑定模型、配置 MCP Server、设置频道 model: claude-3-5-sonnet, channels: [telegram]...
MEMORY.md 跨会话持久记忆 用户偏好、历史任务记录、常用路径...

核心概念一览

概念 运行位置 一句话说明
Channel 消息平台 你和 AI 说话的入口,负责标准化消息格式
Gateway 本地机器 系统神经中枢,调度所有组件协同工作
Agent 本地机器(调用云端 LLM) 有身份、有记忆、会规划的 AI 执行单元
Tools 本地机器 Agent 可直接调用的本地功能函数
MCP Server 本地机器(代理远端节点) 远端设备/服务的本地代理,封装连接与权限