2026年5000 字长文,全网最细的OpenClaw(小龙虾)架构拆解,我建议你认真看完

5000 字长文,全网最细的OpenClaw(小龙虾)架构拆解,我建议你认真看完大家好 我是 Sunday 这两天我专门把 OpenClaw 的官方文档 仓库结构和几个核心概念文档重新过了一遍 我发现很多人对 OpenClaw 的理解 还停留在 一个能聊天 能写代码 能接各种渠道的 AI 工具 这个层面 但你真把它拆开看 从技术的角度来看 你会得到一个完全不一样的理解 OpenClaw 更像是一个以 Gateway 为核心控制平面 把消息渠道 Agent

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



大家好,我是 Sunday。

这两天我专门把 OpenClaw 的官方文档、仓库结构和几个核心概念文档重新过了一遍。

我发现很多人对 OpenClaw 的理解,还停留在“一个能聊天、能写代码、能接各种渠道的 AI 工具”这个层面。

但你真把它拆开看,从技术的角度来看,你会得到一个完全不一样的理解:

OpenClaw 更像是一个以 Gateway 为核心控制平面、把消息渠道、Agent Runtime、工具系统、设备节点、Canvas UI 全部串起来的“个人 AI 操作层”。

并且还有人多说 OpenClaw 不安全,会带来很大的风险。我觉得也是不全面的。

所以,这篇文章,咱们就只讲一件事情,那就是 OpenClaw 的架构设计和实现原理

如果只用一句话概括 OpenClaw,我会这么说:

OpenClaw = 一个常驻 Gateway + 一个内嵌 Agent Runtime + 一套 typed tools + 一层 Skills 提示系统 + 一组可接入的消息渠道与设备节点。

这也是它和很多单进程 CLI Agent最大的不同。

官方文档明确写到:一个长期运行的 Gateway 持有所有消息入口,控制端客户端通过 WebSocket 连到 Gateway,节点设备也通过同一个 WebSocket 接入,而 Canvas/A2UI 等 Web 能力也由 Gateway 的 HTTP 服务直接挂载出来。

你可以把它理解成下面这个结构:

这套分层,决定了 OpenClaw 不是“收到消息 → 调模型 → 回一句话”那么简单。而是一个 有状态、有路由、有并发控制、有设备扩展面的 agent system

现在很多人都说 不安全,所以咱们先来讲 OpenClaw 的安全设计

这句话说得也对,也不对。

我挺喜欢 OpenClaw 文档的一点,就是它很多地方写得非常直白,不装。

因为它明确的告诉了你:有些能力就是危险的,如果你开了,又没做好隔离,那风险就是真实存在的。

那 到底是怎么个“不安全法”?

我觉得可以直接讲 4 个最核心的点。

1. 默认不开沙箱时,工具就是直接跑在宿主机上的

这一点其实是最关键的。

OpenClaw 官方文档明确写了:sandbox 是可选的。如果你没有开启 sandbox,那么工具执行就是直接跑在 host 上。

只有开了 Docker sandbox,工具才会被放进隔离环境里。而且官方自己也说了,sandbox 也不是“完美安全边界”,只是能明显降低文件系统和进程访问的爆炸半径。

这句话翻译成人话就是:你如果不开沙箱,模型调用的很多能力,本质上就是在你的真实机器上执行。

这就不是“聊聊天”了,这就是你让 AI 完全操控你的电脑。

2. workspace 不是硬隔离

很多人一看到 ,会下意识觉得:“哦,那应该就是沙箱目录了。”

但官方文档写得非常明确:

workspace 只是默认 cwd,不是 hard sandbox。 相对路径会默认落在 workspace 里,但绝对路径仍然可能访问宿主机其他位置,除非你显式开启 sandbox。

这个点其实非常重要。

因为这意味着:如果你给了文件能力,或者给了命令执行能力,那么“工作区”并不天然等于“只能访问工作区”。它更像一个默认起点,而不是一道真正的防火墙。

3. 它真的支持执行命令,而且这个能力本身就是高危能力

OpenClaw 官方有 tool,文档写得也很清楚:它可以在 workspace 里运行 shell commands,还支持配合 做前后台执行。

这件事的本质是:

只要模型拿到了足够宽的工具权限,它就是可以完全操作你的电脑。

所以 OpenClaw 的风险,从来都不是模型会不会胡说八道这么简单,而是:

  • 会不会误执行命令
  • 会不会被提示注入带偏
  • 会不会在开放群组、开放渠道下触发不该触发的工具
  • 会不会在没有隔离的情况下把危险操作落到真实机器上

这也是现在很多人觉得 openclaw 危险的主要原因。

官方的 security / doctor 检查里甚至直接把这些情况点出来了,比如:

  • 开放群组能触达 runtime / filesystem 工具,但又没有 sandbox / workspace guard
  • 全局最小权限 profile 被 agent 覆盖
  • 扩展工具在过于宽松的策略下可达
  • 小参数模型配上危险工具面,会提高注入风险

这其实已经说得很明白了:

OpenClaw 的风险,不在有没有 AI,而在你给这个 AI 开了多大权限,以及能不能控制他。

4. 一旦暴露到非本机网络,攻击面会明显变大

说白了就是一旦你不懂,并且有人想要黑你,那你就完蛋了。。。

这意味着什么?

意味着 这类东西,本地单机自己玩,和 对外开放、接远程设备、接公开渠道、跑开放群组,风险级别根本不是一个量级。

很多人嘴里的“不安全”,其实说的不是它默认就会出事,而是:

一旦你把它从“个人本地助手”往“公网可达 + 多渠道接入 + 高权限工具”这个方向推,它的风险会急剧上升。

最关键的就在:

  1. 有没有人搞你
  2. 你懂不懂防护

所以,OpenClaw 到底安不安全?

我的想法是,咱们不能从它安全不安全来说,而应该说是

它真的给了你很强的能力,但是很多人低估了想要使用这种能力,可能需要付出的代价

官方架构文档里第一句话就很关键:

A single long-lived Gateway owns all messaging surfaces

也就是,一个长期运行的 Gateway,统一持有所有消息面。默认通过 提供 WebSocket 服务,同时在同端口提供 Canvas host 等 HTTP 能力。

这意味着什么?

它意味着 OpenClaw 把最难管的几件事,都放到 Gateway 里统一收口了,这些事情包括了:

  1. 消息渠道连接
  2. 请求入口统一
  3. 会话路由
  4. 事件流广播
  5. 客户端/节点接入
  6. 控制 UI 与 Canvas host 暴露

官方文档里写得很清楚,Gateway 负责维护 provider connections,暴露 typed WS API,请求/响应/事件都是同一条协议线上的能力,而且会对入站 frame 做 JSON Schema 校验。

这个设计的价值非常大。

因为 AI Agent 一旦开始“接渠道”,最容易失控的地方就是状态分裂:

  • Telegram 一套状态
  • Slack 一套状态
  • Web UI 一套状态
  • 手机节点一套状态
  • CLI 再来一套状态

最后整个系统到处都是胶水逻辑。

而 OpenClaw 选的路径是:别让每个入口都自己处理问题,要统一进 Gateway。

所以你会看到官方 README 里反复强调:

  • Gateway 是 control plane
  • Control UI 直接由 Gateway 提供
  • WebChat 直接由 Gateway 提供
  • 节点设备也连 Gateway
  • Canvas host 还是由 Gateway 提供

这个思路其实很值得做 AI 应用的人参考。

很多团队做 AI 客服、AI 助手、AI 面试官,前期喜欢把 聊天入口、工具执行、状态存储、设备能力 拆得特别散,结果 2 个月后系统没法维护。

OpenClaw 的第一性原理很简单:控制面统一。

在 OpenClaw 里,有三类核心参与者:

第一:Gateway

常驻后台,拥有所有消息面和控制面。

第二:Clients

比如 macOS app、CLI、web admin,这些都算控制端客户端。

它们各自保持一条 WS 连接,向 Gateway 发送 、、、 等请求,也订阅 、、、 等事件。

第三:Nodes

这是 OpenClaw 很有意思的一层。

官方定义里,node 是一个 companion device,可以是 macOS / iOS / Android / headless。它通过同一个 Gateway WebSocket 接入,但声明 ,然后把自己的命令面暴露出来,比如 、、、、。

这套设计,说明 OpenClaw 从一开始就不是把设备当成“被动展示层”。

它把设备当成了 可调用外设

也就是说,模型并不是只能“说话”,它还能借 Gateway 去调用外部节点的能力:

  • 在手机上显示 Canvas
  • 调摄像头
  • 录屏
  • 获取位置
  • 触发通知
  • 在某台机器上执行 system 相关命令

这就是为什么我说它更像“个人 AI 操作层”。

因为这里的设计,不再是 Web Chat 那种扁平问答,而是设备编排

Gateway 解决的是“统一接入”和“控制面”。真正把一条消息变成一次完整 Agent 运行的,是 Agent Loop

官方文档对 Agent Loop 的定义非常清楚:

接收 → 上下文组装 → 模型推理 → 工具执行 → 流式回复 → 持久化

并且强调:一个 session 内,同一时间只会串行执行一个真实 run,整个过程中会持续触发 生命周期 和 事件流

官方给出的流程大概是这样的:

  1. RPC 先校验参数,解析 session,并立即返回
  2. 才真正开始跑 agent
  3. 它会解析模型配置、加载 skills snapshot,然后调用
  4. 会做队列串行化、创建 pi session、订阅 pi events、流式转发 assistant/tool 输出、处理 timeout
  5. 再把底层事件桥接成 OpenClaw 自己的 stream

这个设计的关键点在于:OpenClaw 把“接收请求”和“执行 Agent”解耦了。

先受理,再排队,再执行,再流式回传。

这和很多人自己写的 Agent Demo 不一样。

很多 Demo 是 HTTP 一进来,直接 ,然后工具调用、状态更新、输出拼接全部糊在一个请求函数里。

这种方式前期快,但只要进入多 session、多入口、可中断、可观测的场景里面的时候,很快就会崩。

OpenClaw 显然是按“长期运行系统”去设计的,所以它从一开始就有:

  • 队列
  • lifecycle 事件
  • assistant/tool 分流

等等的东西

OpenClaw 很强的一点,是它对 SessionKey 的设计非常明确。

官方文档写得很清楚:

  • 直接消息默认会折叠到 agent 的 session
  • 群组和频道则会按 channel 隔离
  • Slack/Discord thread 还会进一步带
  • Telegram forum topic 会带

这个设计非常重要。

因为 AI 产品最容易出现的一个问题就是:上下文污染。

今天和老板聊的内容,混进了群聊上下文。群聊里一个同事的需求,又跑到了另一个私聊线程里。最后 AI 的记忆就全部乱掉了

而 OpenClaw 的处理方法就是把 把 session key 设计清楚

官方 Groups 文档也明确说了:

  • 群消息默认是受限的
  • 默认需要 mention 才会回复
  • 没 mention 的消息可以“只存上下文,不回复”
  • 群组 session 与私聊 session 天然隔离

这一点我特别认可。

因为对真实产品来说,群消息不是只有“回”或“不回”两个选项。

更优雅的处理是:不触发回答,但保留上下文线索。

这样 agent 既不会乱插话,也不会完全失忆。这个设计放到 AI 客服、企业群机器人、面试助手里都非常实用。

OpenClaw 官方文档里对 Tools(工具系统) 的表述很直接:它暴露的是 first-class agent tools。

这个看英文文档比较有感觉,中文文档有点乱

并且明确说,这些工具替代了旧的 skills,特点是:很多能力不需要再绕一层 shell 来实现,而是直接走 typed tool。

OpenClaw 明显是把“工具”当作 权限面 来管理的,而不是单纯的 大模型方法的调用 API 列表。

官方文档写得很清楚:

简单来说所谓的 skills 就是一个目录,里面有 和 YAML frontmatter,是用来 教 agent 如何使用工具的

也就是说:

  • Tools 更像执行能力
  • Skills 更像调用方法 或者是 固定的行为流程

skills 的加载位置和执行流程如下:

很多人说“AI 记忆”,下意识想到向量库。

其实不是。

OpenClaw 的记忆主要来自于 Markdown 文件

没错,就是那个 .md 文件。。。

整个记忆空间默认会有两层:

  • :每日追加日志
  • :整理过的长期记忆,只在主私有 session 中加载,不进群上下文([OpenClaw][9])

而 workspace 本身,被官方定义为 agent 的 home,也是 file tools 和 workspace context 的唯一工作目录。配置和 credentials 不放这里,而是放

这里我觉得 OpenClaw 有两个非常值得借鉴的点。

第一:记忆文件化

这会让整个系统的可解释性高很多。

你不用猜“模型记住了什么”,直接看 Markdown 文件就知道。

第二:workspace 不是硬沙箱

官方明确提醒,workspace 只是默认 cwd,不是 hard sandbox。相对路径默认在 workspace 下解析,但绝对路径理论上还能访问宿主机其他位置,除非你显式开启 sandbox。

这点特别重要。

因为很多人看到“workspace”三个字,会天然以为已经隔离了。

其实没有。

OpenClaw 的态度是:默认便利优先,真要隔离请开 sandbox。

很多人聊 OpenClaw,最容易盯着两个点:

  • 一个是,它真强
  • 另一个是,它真危险

但我觉得,真正值得研究的,不是它到底安不安全,而是 为什么它一旦强起来,安全问题就一定会跟着放大。

因为 OpenClaw 从来就不是一个只会聊天的机器人。它背后是 一个长期运行的 Gateway,是一套真正会处理 session、调 tools、接 channels、管 nodes、写 memory 的 Agent 系统 。你越把它当成AI 操作层来看,就越能理解它为什么会有这么大的争议。

所以这篇文章我真正想说的,不是 OpenClaw 能不能用。

而是当一个 AI 不再只是回答问题,而是真的开始接入消息渠道、调用工具、接触文件系统、甚至影响真实设备时,对于很多普通人来说,你是否真的有驾驭它的能力?

就像我们前面所说的:

真的给了你很强的能力,但是很多人低估了想要使用这种能力,可能需要付出的代价

小讯
上一篇 2026-03-15 12:12
下一篇 2026-03-15 12:10

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/238240.html