OpenClaw架构解析:一个本地AI Agent系统是怎么工作的

更新日期: 2026-04-24 阅读: 17 标签: Agent

用OpenClaw这个项目,你不需要记住每个配置项。你需要知道的是三件事:系统怎么转起来的,哪里会出问题,以及你能在哪里插手。


先说结论

OpenClaw本质上是一个在你电脑上运行的AI Agent操作系统。它做的事情不复杂:把消息平台(飞书、Telegram、Discord)发来的消息,交给大模型,大模型决定调用哪些工具,工具执行完把结果返回,最后把答案发回消息平台。

复杂的是:它把这个流程做成了持久运行的后台服务,还加上了记忆、技能、定时任务、多Agent路由。这个循环能24小时不停自动运转。


六个子系统

1. Gateway(网关)

Gateway是整个系统的神经中枢。它是一个单进程的Node.js应用,以macOS LaunchAgent形式常驻后台。

关键信息:

  • 监听WebSocket:ws://127.0.0.1:18789

  • 所有消息平台的连接都挂在Gateway上

  • 网页控制台也由Gateway直接提供:http://127.0.0.1:18789/

  • 配置文件在~/.openclaw/openclaw.json

  • 日志在~/.openclaw/logs/gateway.log

为什么做成单进程?这是刻意的选择。单进程意味着状态集中、调试简单、没有服务之间通信的麻烦。代价是:Gateway崩了,整个系统就崩了。

2. Router(路由器)

Router负责决定这条消息该交给哪个Agent处理。

路由规则的优先级从高到低是这样:

  • 精确匹配(特定用户ID)

  • 父子匹配(线程继承)

  • 服务器ID加角色(Discord)

  • 服务器ID

  • 团队ID(Slack)

  • 账号ID

  • 频道通配

  • 默认Agent

同一个优先级里,配置顺序靠前的获胜。

3. Agent Loop(核心循环)

这是OpenClaw实际思考的地方。每次收到消息后的执行流程:

  1. 加载人格:读SOUL.md文件

  2. 加载长期记忆:读MEMORY.md文件

  3. 加载当天日志:读memory文件夹里当天日期的md文件

  4. 技能注入:只选跟当前任务相关的技能,不是全量塞进去

  5. 调用大模型:把上下文、消息、技能一起发给模型

  6. 执行工具:模型说要调哪个工具,Gateway就去执行

  7. 循环:工具结果返回给模型,继续直到得到最终回答

  8. 更新记忆:把当天对话写进memory文件

关键细节:技能是按需注入的。一个配了50个技能的Agent,不会每次对话都把50个技能描述塞进prompt。这是为了省token。

4. Brain(大模型层)

Brain跟模型无关,可以随便换。可以换成任何支持Anthropic API格式的模型。

Brain的职责:

  • 理解用户想干什么

  • 决定调哪些工具

  • 安排多步执行的顺序

  • 生成最终回答

5. Memory(记忆系统)

记忆分三层:

  • 人格层:SOUL.md文件,定义Agent的性格、语气、工作方式。每次会话都加载。

  • 长期记忆:MEMORY.md文件,存稳定的长期事实,比如用户偏好、重要信息。私聊会话时加载。

  • 日志层:memory文件夹里按日期存的md文件,是当天的原始活动记录。当天会话时加载。

底层存储用SQLite加向量嵌入,支持混合搜索(语义相似加关键词匹配)。

还有自动压缩功能。当对话太长快超限时,系统会自动总结旧对话,把重要信息提出来存到MEMORY.md,然后压缩历史。这样防止对话太长撑爆。

6. Scheduler(调度器)

两种主动执行模式:

心跳模式:默认每30分钟唤醒一次Agent。Agent读HEARTBEAT.md文件,看看要检查什么。如果没什么要做的,就回复HEARTBEAT_OK,不产生噪音。

定时任务模式:精确到分钟的时间调度。任务存在~/.openclaw/cron/文件夹里,重启电脑也不会丢。


设计上的几个想法

文件优先,不用数据库

SOUL.md、MEMORY.md、HEARTBEAT.md都是普通的Markdown文件。好处是:可以直接打开看,可以用git管理版本,可以直接用编辑器改,Obsidian也能打开浏览。

这是故意对抗复杂性的选择:没有数据库,没有微服务,不会被某个厂商绑死。

本地运行,数据自己管

所有执行都在本机,调用大模型API时直接从你的机器发出,不经过OpenClaw任何服务器中转。你的对话记录、文件、执行历史,全在~/.openclaw/文件夹下,你完全掌控。

单一Gateway,简单优先

单进程设计就是一句话:能简单就不搞复杂。Anthropic官方也说过类似的话:能用简单循环搞定的,别过度引入编排框架。OpenClaw照着这个理念做的。


消息完整流转路径

消息从平台进来,到Gateway,Router决定给哪个Agent,Agent循环处理,调工具,拿结果,最后原路返回。


需要记住的三件事

Gateway是核心:所有东西都跑在这个单进程里。它挂了,系统就停了。用openclaw gateway status随时检查。

文件就是配置:SOUL.md定义人格,HEARTBEAT.md定义心跳任务,MEMORY.md定义长期记忆。改文件就是改Agent行为。

技能是按需注入的:不用担心技能太多拖慢系统,运行时只注入相关的。但SOUL.md和MEMORY.md是每次都加载的,所以这两文件要保持精简。

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/13710

相关推荐

Cursor 编辑代码功能的核心原理:Agent 如何高效工作?

像 Cursor、Copilot 这类 AI 编程助手正快速成为程序员的好帮手。很多人可能觉得它们内部非常复杂,其实核心思路很直接。为了实现高效运行,开发团队的重点往往在:保证流程稳定可控和优化性能以节省宝贵的上下文空间。

AgentKit与n8n对比:现代工作流自动化工具深度解析

工作流自动化是现代数字化基础设施的核心。无论是优化内部流程、集成第三方平台,还是减少人工操作,对灵活可靠的自动化需求已经成为基本要求,而不是奢侈品。

智能体Agent的经典构建方式:ReAct、Plan-and-Solve和Reflection

三种智能体构建方式各有特点,适用于不同场景:ReAct:适合需要与外部交互的实时任务,Plan-and-Solve:适合结构化的复杂任务,Reflection:适合对质量要求极高的关键任务

智能体|AI Agent 框架介绍

AI Agent(智能体)的核心作用,就是通过和环境交互,更好地完成用户的指令和任务。一个合格的智能体需要具备哪些能力?这些能力会遇到什么困难?又有哪些解决办法?为了帮大家建立完整的Agent知识体系,本文围绕AI Agent框架

程序员如何自己开发一个Agent?保姆级实操指南(从极简版到工业级)

作为程序员,开发Agent不用从零开始造轮子。核心就三件事:搭骨架、填大脑、连手脚。骨架是任务调度逻辑,大脑是大模型,手脚是调用外部工具的能力。下面分三个版本来讲,从新手能跑的极简版,到能落地的进阶版

Agent八大机制入门:Rules、Skills、Command等用法详解(Cursor实操版)

想要让AI听话、干活规范、效率更高,一定要弄懂Agent的八大核心机制。这八种机制分别是Rules、Skills、Command、Workflow、MCP、Subagent、Hooks、Memories

软件正在向Agent投降,这速度比想象中快

2026年过去不到三个月,一个趋势已经明摆着了:传统软件正在集体向Agent缴械。不是被淘汰,不是被替代,是主动打开大门,把自己变成Agent能调用的模块。这事快得谁都没想到。

10个经过验证的Agent Skills,帮你省掉重复工作

现在Agent Skills越来越多了,开发者面临的问题已经不是“工具不够用”,而是“不知道选哪个”。不同平台上有大量功能差不多的技能,但质量差别很大,也没有统一的标准。要在短时间内找到好用的,确实不容易。

软件行业正面临根本性转变:万亿 AI Agent 将重塑一切

最近读到 Box 公司 CEO Aaron Levie 关于 AI Agent 的一篇文章,读完后有种豁然开朗的感觉——我们可能正站在一场巨大变革的门槛上。过去几个月里,AI Agent 实现了质的飞跃。以前的 AI 助手,说白了就是能聊天、能调用几个简单工具的聊天机器人。

AI智能体开发实战:从目标定义到部署运营,完整流程解析

开发 AI 智能体(AI Agent)与传统的 AI 应用开发最大的区别在于:智能体具备自主规划、工具调用(Function Calling)和自我反思的能力。一个标准的 AI 智能体开发流程可以归纳为以下几个核心阶段:

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!