先说说OpenClaw到底是个啥“操作系统”
简单讲,OpenClaw把自己定位成“AI代理的操作系统”。它不是一个孤立的聊天框,而是一个长寿命的后台守护进程(叫Gateway),把你的聊天App(嘴巴耳朵)、大模型(大脑)、本地工具(手脚)全部连成一个闭环。核心理念就一句话:让AI真正住在你的机器上,用你熟悉的聊天方式跟你互动,还能自主行动。
为什么叫“操作系统”?因为它把控制和执行彻底分开——Gateway管调度和状态,实际干活的工具和设备节点在沙箱或本地节点里跑。数据全在~/.openclaw/目录里存,本地优先,隐私自己控。支持Mac、Windows、Linux,甚至手机节点(iOS/Android)还能语音唤醒、拍屏幕、定位。
这套设计解决了很多AI代理的老大难:普通Agent聊两句就忘事、权限乱飞、跨App不统一。而OpenClaw靠单进程Gateway + WebSocket统一指挥,实现了真正持久、跨渠道、安全隔离的“数字员工”。
整体架构:Gateway控制平面 + 执行平面 + 通道桥接
把OpenClaw拆开看,就像一台电脑的三大件:

Gateway(控制平面,中枢大脑)这是整个系统的灵魂,单进程常驻后台,默认监听
127.0.0.1:18789(本地回环,超级安全)。它不是干具体活的,而是“总指挥”:管理所有会话(sessions)状态 路由消息到正确的AI代理 调度cron定时任务、心跳、webhook 暴露WebSocket API给客户端(CLI、Web UI、Mac App、手机节点)所有外部聊天App的连接都归它管,一个主机只能有一个Gateway,保证WhatsApp那种单设备协议不乱套。它还带Canvas(A2UI可视化界面),AI可以直接推HTML/JS给你看任务列表、表单啥的。 执行平面(手脚部分)
AI Runtime:真正调用大模型(Claude、GPT、Gemini,甚至本地Ollama)的循环引擎。收到消息后,它组装上下文、发给模型、拦截tool call、执行后再喂回模型,直到任务完成。 Nodes(设备节点):Mac用Swift写、Android用Kotlin、iOS也有,负责本地硬件操作(摄像头、屏幕录制、通知、定位、TTS/STT)。节点也通过WebSocket连Gateway,声明自己的能力(caps)。 沙箱执行:非主会话(群聊或DM)的工具全扔Docker容器里跑,隔离文件系统、网络、资源。主会话(你的私人聊天)才给完整权限。 通道桥接(Channel Bridges,触手)20+种聊天App的适配器:WhatsApp用Baileys、Telegram用grammY、Slack用Bolt、Discord用discord.js……还有iMessage、Signal、Matrix、Feishu、LINE啥的。每个桥接器负责登录、收发消息、媒体处理(图片语音转文字)、群规则(@才响应或always响应)。消息进来先标准化,再丢给Gateway,出去时再转回原格式。这样你在一个App里说话,AI就能在另一个App回复,或者全渠道同步。
整个架构最聪明的地方是解耦:想换模型?改config就行。想加新聊天App?写个桥接插件。想改工具执行方式?动执行平面,不碰Gateway。控制平面和执行平面通过WebSocket实时同步状态,状态机超级稳。
运行原理:一条消息从进来,到AI行动,再到回复的全流程
我最喜欢拆这个流程,因为它直接解释了为什么OpenClaw“能干活”:
消息摄入:比如你在WhatsApp发“帮我查下明天航班”,桥接器(Baileys)捕获事件,标准化成JSON,推给Gateway。
访问控制 + 会话解析:Gateway先校验白名单、配对状态(新设备要CLI approve),然后根据规则决定用哪个代理(主代理还是子代理)。会话ID长这样:
agent:xxx:main或agent:xxx:group:yyy,每个会话独立日志存盘。上下文组装(记忆魔法):Runtime从
~/.openclaw/sessions/拉历史(JSON事件日志,自动压缩老对话),再从SQLite内存库(带向量嵌入)搜相关事实,从MEMORY.md、SOUL.md(人格设定)拉提示,从技能库挑相关TOOL定义。上下文不爆token,因为有自动总结 + 向量检索。大模型调用:流式发给Claude/GPT。模型思考后,可能返回tool call(比如“打开浏览器搜航班”)。
工具执行循环:Runtime拦截tool,扔到沙箱(Docker)或节点执行(浏览器CDP控制Chrome、shell命令、Canvas更新)。结果流式喂回模型,模型继续思考,直到决定回复。整个loop可能跑几次(ReAct风格)。
回复 + 持久化:Gateway把回复格式化,发回原通道(支持markdown、分块、媒体)。同时把完整事件(消息+tool结果)追加到会话日志,更新内存索引。心跳和cron还能让AI主动醒来干事(比如每天早上总结邮件)。
整个过程延迟:接入10ms、载会话50ms、组提示100ms、首token 200-500ms、工具1-3秒。看起来复杂,但因为单Gateway统一状态,跨App切换无缝,AI永远记得上周你说过啥。
持久性、内存和自主迭代:为什么它能“活”下去
普通AI聊完就忘,OpenClaw靠三板斧:
会话日志:append-only JSON,带分支恢复,自动compact老turn。 混合内存:SQLite + 向量(本地模型或OpenAI嵌入),支持语义+关键词搜。每天自动生成 memory/YYYY-MM-DD.md,你还能手动 curation 私密事实。技能系统:插件化,ClawHub社区技能或AI自己生成(SKILL.md文件)。AI甚至能hot-reload自己的prompt和工具,真正自迭代。
加上cron、webhook、heartbeat,AI不再是被动等消息,而是能主动提醒、后台跑任务。这就是“数字员工”的感觉。
安全设计:沙箱 + 配对 + 本地优先
安全是OpenClaw最硬的底牌:
本地回环绑定,默认只127.0.0.1。 设备配对:新节点/客户端要CLI approve + 签名挑战,防未授权。 沙箱分层:群聊工具强制Docker隔离,主会话才全权。 凭证单独加密存 credentials/,git ignore。远程访问推荐Tailscale或SSH tunnel,绝不裸露公网。
官方还强调prompt injection还没完全解决,所以别给AI太敏感权限。实际用的时候,我建议先用DM测试,再开群聊。
实战上手 & 调优建议(直接能抄的干货)
想自己搭:
curl -fsSL https://openclaw.ai/install.sh | bash(或npm全局装),然后openclaw onboard走向导。准备API Key(Anthropic优先,Claude超稳),填 ~/.openclaw/openclaw.json。启动daemon: openclaw gateway start(systemd/launchd自动守护)。配对WhatsApp:扫二维码就行,其他App按文档扔token。
调优小技巧:
想省钱?接本地Ollama,但工具执行还是要强模型。 长任务多开子代理(config里路由不同channel到不同persona)。 内存爆?手动flush或调compact阈值。 远程跑VPS?用Tailscale + Fly.io,安全又便宜。 加技能:社区ClawHub拉现成的,或者直接跟AI说“帮我写个Gmail工具”让它自建。
我自己跑了几天,帮我自动总结Slack群聊、提醒日历、甚至浏览器填表单,省了至少2小时/天。坑主要是初始配对和模型token配额,搞懂架构后基本不踩。
最后想说
OpenClaw的底层其实没多“黑科技”——就是把WebSocket、事件驱动、沙箱、向量记忆这些成熟东西,巧妙拼成一个AI操作系统。但正因为它把“控制”和“执行”分得清清楚楚,把数据和权限管得死死的,才让AI从“聊天玩具”变成了真正能干活的伙伴。
夜雨聆风