一、背景:为何要剖析OpenClaw架构
知其然,更要知其所以然,遇问题能精准解决。当下多数使用者仅能实现基础操作,却对其 “多设备协同原理”“AI 模型与工具调度逻辑”“隐私安全保障机制” 等核心问题一知半解。唯有深入剖析架构设计,厘清各模块的协作方式与数据流转路径,才能在使用中遇到故障、适配需求时,找到问题根源并高效解决。 借鉴学习,锤炼自身架构设计思维。AI 时代,程序员向架构方向深耕,才能构建核心竞争力。正如 OpenClaw 创始人 Peter Steinberger 所言:"I ship code I don't read"(我发布我根本不读的代码),架构设计成型后,具体的代码实现便可交由 AI 完成(前提是信任 AI 的能力)。OpenClaw 的架构设计极具参考性,剖析其 Gateway 中心化调度、Skills 插件化扩展、可视化控制台治理等设计思路,能将其运用到自身的系统开发与架构优化中,提升架构的合理性、可扩展性与安全性。
二、OpenClaw的6+1核心架构
功能侧6个核心模块
1.Gateway(网关层/控制面板)
作为整个系统的神经中枢与控制平面,相当于 OpenClaw 的 “操作系统内核”,是所有数据与指令的统一入口和调度中心。
核心职责涵盖上下文记忆管理、WebSocket 长连接维护、指令路由分发、安全鉴权等。
核心源码主要位于src/gateway目录,核心启动函数startGatewayServer在src/gateway/server.impl.ts中,本地默认访问的127.0.0.1:18789端口号18789就是这个函数的默认传参。
2.Channel(渠道层)
核心源码方面,核心渠道实现分布在src目录下(如 Telegram 通道在src/telegram),扩展渠道实现则位于extensions目录。
3.Pi Agent(大脑推理层)
基于 ReAct 模式的智能体业务逻辑处理层,核心作用是将上下文记忆、用户请求与提示词 Prompt 整合后,传递给 LLM 大模型层进行推理。
核心源码主要位于src/agents目录,实现了上下文记忆 “瘦身”、会话串行 “排队” 等关键功能。
4.LLM(大模型层)
承担逻辑推演的核心职责,支持本地部署的大模型,也可通过 API 调用 Claude、GPT、通义千问等云端模型,是 OpenClaw 实现智能决策的核心。
核心源码中,模型提供商相关代码位于src/providers目录,包含github-copilot-models.ts(GitHub Copilot 模型)、qwen-portal-oauth.ts(通义千问 OAuth)等文件。
5.Nodes(设备节点层)& 6.Skills(技能层)
二者结合构成 AI 的 “手脚” 与 “工具说明书”,Skills 通过标准化的配置指导指定节点的设备执行具体操作,核心分为两类执行场景:远端节点执行个性化Skills(如截屏、拍照),本地节点执行通用Skills(如本地文件操作、联网搜索)。
远端节点(Remote Node):运行在书房、卧室的MacBook笔记本、iphone手机、Android手机等设备,也被称作 OpenClaw Client(客户端),与部署 Gateway 的 OpenClaw Server(服务端)处于同一网络,通过 WebSocket 长连接通信。 本地节点(Local Node):直接运行在部署 Gateway 进程的 OpenClaw Server(服务端)上。
核心源码方面,Nodes作为客户端,与Gateway所在的服务端的WebSocket长连接管理逻辑,主要位于src/node-host/runner.ts
文件下的const client=new GatewayClient({...})。指令处理函数handleInvoke主要位于src/node-host/invoke.ts中。Skills的通用Skills主要位于skills目录下,Skills管理核心代码在src/agents/skills目录下。
治理侧1个核心模块
OpenClaw Studio(可视化控制台)
独立于 6 个功能侧模块的 Web UI 面板,执行openclaw onboard或openclaw gateway命令后,访问127.0.0.1:18789即可进入,是系统的可视化管控中心。
核心职责是对功能侧 6 个模块进行统一观测与控制,提供聊天界面、Channel 配置管理、Skills 管理等一站式功能。
核心源码主要位于ui目录,包含ui/src/ui/views(视图层)、ui/src/ui/controllers(控制器层)等。
三、场景1:OpenClaw Server本地网关执行场景——“帮我整理xx文件夹下的文件”

指令接入:用户通过手机 Telegram 发送 “帮我整理 xx 文件夹下的文件” 指令,Telegram Channel 将消息转换为系统可识别的 JSON 格式,传递至 Gateway 网关。 智能推理:Gateway 将消息转发至 Pi Agent,Pi Agent 整合上下文后传递给 LLM,LLM 推理得出结论 —— 需要调用本地文件操作的通用 Skill,并将结果返回给 Gateway。 本地执行:Gateway 识别为通用 Skill 调用,直接交由本地节点(Local Node)执行,完成文件夹创建、文件分类移动等操作。 结果反馈:本地节点执行完成后,将结果同步至 Gateway,Gateway 再交由 Pi Agent 和 LLM 生成简洁的总结话术,最终通过 Channel 反馈给用户。
四、场景2:OpenClaw远端调用场景——“卧室Android手机截屏”

指令接入:与场景 1 一致,用户通过手机 Telegram 发送指令,Channel 完成消息格式转换后传递至 Gateway。 智能推理:Gateway 将消息转发至 Pi Agent,LLM 推理得出结论 —— 需要在远端节点(target: Android Phone)调用截屏的个性化 Skill。将结果返回给 Gateway。 远端调度:Gateway 识别为个性化 Skill 的远端调用,通过 WebSocket 长连接将指令下发至卧室的 Android 手机(远端节点)。 执行与回传:Android 手机接收指令后执行截屏操作,将截图文件回传至 Gateway,Gateway 再通过 Channel 将截图发送至用户的手机端,完成整个远端操作。
五、聊聊OpenClaw的安全设计
动态密钥注入:会话凭证从 macOS Keychain 或 Linux Secret Service 中加载,以环境变量形式临时注入,执行结束后立即清零,从根源防止大模型在对话中泄露 API Key。 更细粒度的文件控制:直接拦截所有 DELETE 删除指令,文件操作权限精准到具体目录,严格限制 AI 的操作范围,杜绝越权访问其他目录。 人类审批机制(Human-in-the-loop):当 Agent 试图执行未授权的高风险操作时,会向用户的聊天工具发送审批请求,只有用户确认允许后,操作才能执行。
六、这就完了?还有更多探索待解锁



我是 chaozhi,一个正在折腾 AI工具 的研发工程师。 AI 时代,咱们不内卷,咱们互助通关。
如果你有什么好的AI工具或产品,可以在评论区告诉我。
[2]详细拆解OpenClaw源码,架构简单得让我离谱!:https://mp.weixin.qq.com/s/klteNE8YWKzHUBZAR4Tmxg
夜雨聆风