别只会“养虾”:我读懂的 OpenClaw 核心架构与运行原理
最近几个月,OpenClaw 几乎刷屏了整个 AI 智能体圈子。网上到处都是“一键部署”“远程控制手机”“Telegram 养虾”这类教程,但我翻了一圈,几乎没人把它到底怎么跑起来的讲清楚。大家都在用,却很少有人真正理解:
为什么一句话就能让电脑整理文件、让远端手机自动截屏?
多设备是怎么被统一调度的?
AI 凭什么敢直接操作你的桌面与文件?
我花了几天时间把源码和架构文档啃完,然后翻阅了网上大量的教程和讲解视频以及架构的解析,今天用最通俗、最贴近开发视角的方式,把 OpenClaw 的6+1 核心架构、数据流转、调度逻辑、安全机制一次性讲透。
这篇不教安装、不教命令,只讲原理——懂了原理,你才能真正用好、改得动、排得了坑。
一、为什么我们必须看懂 OpenClaw 架构?
在开始讲架构之前,我想先说说我为什么非要把它啃明白。
现在市面上绝大多数教程都停留在:openclaw start → 绑定 Telegram → 发指令 → 看效果。
能用,但出问题就抓瞎:
- 指令发了没反应,不知道是通道挂了、网关死了、还是技能没加载;
- 想加个功能,不知道代码该写在哪;
- 想接自己的大模型,不知道 LLM 层怎么扩展;
- 想控制权限,不知道安全机制在哪。
说白了,只会用,就是黑盒;懂架构,才是自己人。
对我们来说,OpenClaw 还有一层更重要的意义:
它是一套极其工整、可直接抄作业的“AI 智能体架构”。
它把这些最难的问题全部做成了标准范式:
- 多平台消息怎么统一接入?(Channel 层)
- 多设备怎么统一管控?(Gateway + Node)
- 智能体怎么思考、调用工具?(PiAgent + Skills)
- 模型怎么插拔、怎么安全调用?(LLM 层)
- 整套系统怎么可视化管控?(Studio 控制台)
你只要看懂这套结构,以后自己做 AI 助手、做远程控制、做跨端智能体,几乎可以直接照搬这套架构。
这就是我为什么坚持要把 OpenClaw 架构讲透:
会用是体验,懂原理是能力;会抄是教程,懂架构是工程。
二、OpenClaw 核心架构:6+1 模块化设计(我理解的最清晰版本)
我先给结论:
OpenClaw = 6 个功能模块 + 1 个治理模块(6+1 架构)
- 6 个功能模块:负责真正干活(收消息、思考、调度模型、调用设备、执行技能)。
- 1 个治理模块:负责管控一切(可视化配置、查看状态、管理权限、监控日志)。
我用最直白的比喻帮你一秒记住:
- Gateway(网关) = 大脑中枢 + 总调度台
- Channel(渠道) = 嘴巴/耳朵(和用户聊天)
- PiAgent(推理引擎) = 思考中枢(理解意图、决定做什么)
- LLM(大模型) = 知识与逻辑引擎(真正做推理)
- Nodes(节点) = 手脚(真正在设备上执行操作)
- Skills(技能) = 操作手册(告诉节点该做什么)
- OpenClaw Studio(控制台) = 指挥中心(可视化管控)
下面我把每一层的职责、源码位置、工作方式,用直白易懂的方式讲清楚。
2.1 Gateway:整个系统的“内核与调度中心”
Gateway 是 OpenClaw 真正的心脏。
所有消息、所有指令、所有设备、所有会话,全部先经过这里。
我把它的核心职责总结成 4 件事:
-
统一入口
不管是 Telegram、Web、飞书、Discord,所有消息先进 Gateway,再分发。 -
会话与上下文管理
记住你说过什么、做过什么,给 PiAgent 提供记忆。 -
指令路由与调度
判断这条指令该走模型?走技能?走本地?走远端? -
长连接维护(WebSocket)
跟所有远程设备(手机、电脑)保持稳定在线。
源码位置我帮你定位死:
- 主入口:
src/gateway/server.impl.ts - 启动函数:
startGatewayServer - 默认端口:18789(你访问 127.0.0.1:18789 就是连到 Gateway)
一句话总结 Gateway:
没有它,整个 OpenClaw 直接瘫痪。它是调度,也是边界,也是安全入口。
2.2 Channel:统一接入所有聊天平台
Channel 层干的事情非常单纯:
把各种平台的消息,翻译成 OpenClaw 内部统一格式。
比如:
- Telegram 来的消息结构是 A;
- WhatsApp 来的是 B;
- Web 页面来的是 C;
Channel 统一把它们转成系统能读懂的 JSON,扔给 Gateway。
支持的渠道分两类:
- 核心渠道(内置)
Telegram、WhatsApp、Web UI - 扩展渠道(插件化)
飞书、Discord、Matrix、Google Chat 等
源码位置:
- 主渠道:
src/telegram、src/whatsapp - 扩展渠道:
extensions/
我对 Channel 层的评价非常高:
它把“交互界面”和“业务逻辑”彻底解耦。
你想加个微信渠道、QQ 渠道,完全不用动核心逻辑,只接 Channel 扩展点即可。
2.3 PiAgent:智能体的“思考与推理引擎”
很多人以为 AI 思考是 LLM 在做。
不完全对。
在 OpenClaw 里:
- LLM 负责“懂知识、做逻辑”
- PiAgent 负责“管流程、做决策、控上下文”
PiAgent 是典型的 ReAct 智能体架构,它干三件关键事情:
- 把用户指令 + 历史记忆 + 提示词拼好,喂给 LLM;
- 解析 LLM 返回的结果,判断:
- 直接回答?
- 要调用工具(Skill)?
- 要调用哪台设备(Node)?
- 把结果整理成人话,返回给 Gateway。
它还有两个非常工程化的优化,我看完觉得很专业:
- 记忆瘦身:自动把太长的聊天记录压缩,防止上下文爆炸;
- 请求排队:同一会话串行执行,避免并发混乱。
源码位置:
src/agents/
一句话看懂 PiAgent:
它是智能体的“调度大脑”,LLM 是它的“计算芯片”。
2.4 LLM:真正提供“智能”的模型层
LLM 层就是 OpenClaw 的智商来源。
它的设计非常“插拔式”,这也是我最欣赏的一点:
你可以无缝切换任何模型,不影响上层业务。
支持三类模型:
- 云端 API(Claude / GPT / 通义千问 / Gemini)
- 本地模型(Ollama / LlamaCpp / 本地部署)
- 专用模型(GitHub Copilot 等)
源码位置:
src/providers/
里面全是各种模型的适配:github-copilot-models.tsqwen-portal-oauth.ts
……
我在看代码的时候发现一个关键点:
LLM 只输出结构化指令,不直接返回聊天文本。
这是它能稳定调用工具、控制设备的关键。
2.5 Nodes + Skills:智能体的“手脚 + 操作手册”
这是 OpenClaw 最厉害、也最容易被误解的部分。
我用最直白的话讲清楚:
- Skills = 技能说明书(做什么、怎么做、参数是什么)
- Nodes = 执行器(在哪台设备上做)
两者必须配合,缺一不可。
2.5.1 Skills(技能)
Skills 就是一组标准化的“操作定义”。
例如:
- 文件整理
- 截屏
- 拍照
- 打开软件
- 搜索网页
- 运行命令
每个 Skill 都有明确格式:
- 名称
- 描述
- 输入参数
- 执行逻辑
源码位置:
- 通用技能:
skills/ - 技能管理:
src/agents/skills/
2.5.2 Nodes(节点 = 设备)
Nodes 分两种:
-
本地节点(Local Node)
就在运行 Gateway 的这台机器上。
能干:文件操作、命令执行、本地工具。 -
远端节点(Remote Node)
同一局域网内的其他设备:
MacBook、iPhone、Android、平板……
通过 WebSocket 长连接连到 Gateway。
远端节点是 OpenClaw 真正杀招:
一句话控制你家里所有设备。
源码位置:
- 客户端连接:
src/node-host/runner.ts - 指令执行:
src/node-host/invoke.ts
我总结一句最精髓的:
Skills 定义“做什么”,Nodes 决定“在哪做”。
2.6 OpenClaw Studio:可视化管控控制台(1 个治理模块)
6 个功能模块讲完,最后是1 个治理模块:
OpenClaw Studio
它就是一个 Web 管理后台:
http://127.0.0.1:18789
界面如下主体分为左边的功能栏和右边的详情栏:
功能很清晰:
- 聊天界面(直接在这里发指令)
- 渠道配置(绑定 Telegram 等)
- Skills 管理(开启/关闭技能)
- 设备节点状态(看哪些设备在线)
- 日志查看(排错神器)
源码位置:
ui/
它的价值:
把一个纯命令行、纯后端的系统,变成了普通人也能用的可视化产品。
三、整体架构流转
我把整套架构串成一条线,你看完就彻底通了:
- 用户在 Telegram 发指令
- Channel 接收 → 转成标准消息 → 发给 Gateway
- Gateway 保存上下文 → 发给 PiAgent
- PiAgent 拼接提示词 → 发给 LLM 推理
- LLM 判断:要调用 Skill + Node
- 结果返回 PiAgent
- PiAgent 告诉 Gateway:调度哪个技能、哪台设备
- Gateway 通过 WebSocket 发给对应 Node
- Node 执行 Skill(截屏/整理文件/运行命令)
- 结果回传 Gateway
- PiAgent 整理成人话
- Channel 发给用户
这就是 OpenClaw 从“一句话”到“执行动作”的完整链路。
四、运行演示案例(我亲手跑的两个真实场景)
光讲架构太空,我直接拿两个最经典的场景,把每一步怎么走的讲清楚。
案例1:本地执行——“帮我整理 Downloads 文件夹”
这是最典型的 本地节点 + 通用 Skill 流程。
步骤我一步步拆解:
-
用户发指令
在 Telegram 发送:帮我整理 Downloads 文件夹里的文件,按类型分文件夹
-
Channel 接收
Telegram Channel 拿到消息,转成内部结构。 -
进入 Gateway
记录会话、保存上下文。 -
PiAgent 推理
把指令丢给 LLM。
LLM 分析:- 意图:文件整理
- 技能:file_organize
- 执行位置:本地节点(Local Node)
输出结构化指令。
-
Gateway 调度
识别是本地通用技能 → 直接发给 Local Node。 -
Node 执行 Skill
本地节点执行:- 读取 Downloads
- 按图片/文档/压缩包分类
- 新建文件夹
- 移动文件
-
结果回传
执行完成 → 回传结果 → Gateway → PiAgent → 生成总结 → 发回 Telegram。
这就是“桌面控制”的完整原理。
下面我用一组流程图来演示这个过:
案例2:远端执行——“卧室里的 Android 手机截一张屏”
这是 OpenClaw 最震撼的能力:
一句话控制远端设备。
流程如下:
-
用户发指令:
让卧室的 Android 手机截一张屏
-
Channel → Gateway → PiAgent → LLM
-
LLM 推理:
- 技能:screenshot
- 设备:remote-android-bedroom
-
Gateway 查设备在线状态
-
通过 WebSocket 长连接下发指令到远端 Android 节点
-
Android 执行截屏
-
图片回传到 Gateway
-
经由 Channel 发给用户
你看到的“远程控制手机”,底层就是这么一套标准流程。
下面是我根据这个案例画的一组流程图,大家可以参考理解:
五、我最佩服的一点:它的安全设计(非常专业)
最后我必须提 OpenClaw 的安全架构,因为它直接操作文件、控制设备,不安全等于裸奔。
它的安全设计基于一个极度清醒的前提:
LLM 不可信,Prompt 可被注入,一切都要设防。
我总结它的三道防线:
-
动态密钥注入
API Key 不从配置文件明文读,不从环境变量长期挂着。
用的时候从系统密钥环读取,用完立刻清空。 -
细粒度文件权限
- 直接拦截所有 DELETE 危险操作
- 只能访问你授权的目录
- 越权直接拒绝
-
人在回路审批(Human-in-the-loop)
高危操作必须你手动确认:
删除文件、格式化、运行高危命令……
这三点,让 OpenClaw 从“玩具”变成了可落地的工程系统。
六、我为什么说 OpenClaw 是程序员必学的智能体架构
写完这篇,我再回头看 OpenClaw,它给我的价值早已超出一个“工具”:
- 想做 AI 智能体?它的 PiAgent + Skills 是标准范式
- 想做跨设备控制?它的 Gateway + Node + WebSocket 直接抄
- 想做多平台接入?它的 Channel 扩展模型非常工整
- 想做可视化管控?它的 Studio 架构可以直接复用
- 想做安全可控?它的三道安全防线是行业级设计
对我们来说:
会用 OpenClaw 只是入门;
读懂 OpenClaw 架构,你就掌握了下一代 AI 智能体的核心设计思想。
希望这篇文章,能帮你从“只会养虾”的用户,
变成能读懂、能修改、能排错、能二次开发的真正开发者。
参考文章:
https://mp.weixin.qq.com/s/9FdCFqqM9D5rmk-UPXxgFg?scene=1&click_id=1
https://mp.weixin.qq.com/s/klteNE8YWKzHUBZAR4Tmxg
https://docs.openclaw.ai/zh-CN
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)