乐于分享
好东西不私藏

OpenClaw架构学习

OpenClaw架构学习

此文仅记录笔者在OpenClaw学习过程中的理解!
五层金字塔:从”消息入口”到”执行出口”的精密流水线
第一层:通道适配器(Channel Adapters)
AI必须出现在用户所在的地方。OpenClaw支持Telegram、Discord、WhatsApp、Slack、iMessage、飞书等12+个平台 。
通道适配器干两件事:
  • 消息归一化:把Telegram的贴纸、Discord的嵌入链接、WhatsApp的表情回应,统一转成”标准信封”。
  • 附件提取:媒体、文档、语音一律转码为下游可处理的格式。
第二层:网关服务(Gateway Server)
网关是OpenClaw的控制平面,一个常驻Node.js进程,默认监听127.0.0.1:18789,同时支持WebSocket和HTTP 。
核心职责:
  • 会话路由(Session Router):私聊共享主会话,群聊分配隔离会话。
  • 车道队列(Lane Queue):并发控制层。当你在三个群里同时指挥AI时,它确保每个对话状态独立,避免”串台”。
  • 心跳机制:所有执行节点(Pi-embedded)定期发送心跳包,失联时自动路由到备用节点 。
第三层:智能体运行器(Agent Runner)
在调用LLM之前,运行器会进行外科手术式的准备 :
  • 模型解析器:动态选择模型(Claude/GPT/本地Ollama)。
  • 系统提示词构建器:根据启用的Skills按需组装提示词——不用功能不浪费Token。
  • 会话历史加载器:从本地存储调取持久对话上下文。
  • 上下文窗口护栏:当对话逼近Token限制时,自动压缩历史,确保对话不中断。
第四层:智能体处理循环(Agentic Loop)
这是OpenClaw与传统聊天机器人的本质区别。每当LLM生成响应,系统都会问:”这包含工具调用吗?”
  • 是:执行工具(查找文件、运行代码),将输出反馈给LLM,循环继续。
  • 否:输出最终文本。
这种闭环让AI能自主完成多步骤任务。
第五层:响应路径(Response Path)

为了降低感官延迟,OpenClaw采用流式处理。用户能看到文字像喷泉一样涌现,而不是死等三分钟 。

同时,响应会再次经过通道适配器,针对目标平台格式化——Discord渲染Markdown,Telegram按字符长度分段。

记忆系统
OpenClaw的记忆系统没有盲目追随纯向量数据库方案,而是创造性地提出了三级记忆架构,模拟人类记忆的分层特性 。
第一层:JSONL日志——原始记忆
每场会话的原始转录以JSONL格式存储。
第二层:Markdown存储——情景记忆
OpenClaw在本地维护一个MEMORY.md和内存文件夹,以纯文本Markdown形式存储 。
第三层:混合搜索——语义记忆
为了高效检索,OpenClaw在每个Agent对应的SQLite数据库中构建了精巧的索引