OpenClaw通用架构分析
把你的AI放在自己的服务器上而不是别人的网页里——OpenClaw 架构与实践第一章为什么不是打开一个网页就够了“一切从实践中来一切到实践中去。”——认识论实践场景你在网上看到了一个叫 OpenClaw 的东西——“一个开源的 AI Agent 框架”。你想试试。按照正常人的思路你去找它的网站……没找到。你再找 App Store 下载……也没有。最后你在 GitHub 上找到它看到一行安装命令。装完之后你在终端里敲了一个命令一个服务启动了监听在 18789 端口上。然后你打开浏览器连到http://localhost:18789——出现了一个聊天界面。你终于能跟它说话了。但你脑子里冒出一个问题为什么不能直接给我一个网页地址为什么要我装在自己机器上引出矛盾今天你用的大多数 AI 产品——ChatGPT、Claude、Gemini——都是 SaaS打开网页、注册账号、开始聊天。它们替你管好了服务器、升级版本、备份数据。你拿来就用什么都不用操心。但 OpenClaw 走的是另一条路——你自己是管理员。这堵墙在实践中的体现很明显你要自己装 Node.js自己配置自己启动服务升级要看 Release Notes手动拉新版本出了问题只能自己排查但它不会限制你一个月能聊多少条因为模型是你自己配的你的对话不上传给别人因为全在你的机器上这就是核心矛盾SaaS 产品替你管理一切但你也失去了对一切的控制权。开源自托管让你拥有完全的控制权但管理成本落到了你头上。理论/经验自托管智能体网关OpenClaw 的架构选择是围绕自托管这个前提长出来的你的机器上跑着一个 Gateway 服务端口 18789 ↓ 你是管理员——配置、数据、能力都在你手里 ↓ 你配一个或多个 Agent每个有独立的工作区、人格、模型 ↓ Agent 通过渠道对外服务Web 页面 / Telegram 机器人 / Discord 等为什么自托管因为 OpenClaw 的设计者认定了三件事你的数据不该在别人的服务器上— 对话历史、配置、记忆全在你的磁盘里你的 Agent 不该被别人限速限流— 你自己付模型 API 费用没有每月固定条数这种限制你的 Agent 必须可定制— SaaS 产品给你一个固定界面OpenClaw 让你改到源代码级别付出的代价就是你要当管理员。对比维度SaaS AI 产品OpenClaw自托管谁管服务器提供商你谁管升级提供商你数据在哪里提供商服务器你的机器扩展能力产品给你什么用什么你自己加技能、加渠道费用按月订阅自己付模型 API 费用知识门槛零懂命令行和配置回到实践所以当你第一次看到openclaw gateway这个命令、看到 18789 这个端口时你不是在装一个工具——你是在在自己的机器上架设一台 AI 服务器。门槛比打开网页高但换来的东西也比打开网页多。你在哪里读到 OpenClaw 不重要。重要的是你读完了知道它不是被托管在别处的产品是可以被你自己运营和管理的基础设施。第二章一条消息是怎么变成一段回复的“感觉到了的东西我们不能立刻理解它只有理解了的东西才更深刻地感觉它。”——《实践论》实践场景你连上了 18789 端口在聊天框里打了一行字按了回车。过了一会儿屏幕上一段回复出现了。看起来就像 ChatGPT 一样——输入、等待、输出。但 OpenClaw 不是直接访问 OpenAI 或 DeepSeek 的 API 然后把结果还给你。它多做了很多事——尽管看上去一样简单。引出矛盾你感觉到它回复了你——就像感觉到手机响了接起来有声音。但真遇到问题了客服问你Gateway 的日志看了吗Session 是哪个技能加载了吗——你才意识到你完全不知道这个过程怎么拆。你知道出去的是什么——你输入的文字。你知道回来的是什么——Agent 的回复。但你不知道中间发生了什么。一张黑布隔在输入和输出之间。你摸得到两边但看不见里面。这就是核心矛盾Agent 和人之间隔着一层看似简单的 UI但复杂的传动机构被完全隐藏了。一旦需要诊断问题你就变成了拆盲盒。理论/经验消息在 OpenClaw 中的完整路径一条消息从你发出到看到回复穿越了五层你 → 渠道WebChat / Telegram / CLI / … ↓ Gateway端口 18789 —— 统一入口 ↓ 1. 验证身份你是谁 ↓ 2. 判断来源从哪个渠道来的 ↓ 3. 路由这条消息该走哪个 Agent ↓ Session 管理 ↓ 4. 恢复或创建会话之前聊过没 ↓ Agent 循环核心 ↓ 5. 组装上下文人格文件 记忆 技能 工具列表 历史对话 ↓ 6. 调用大模型 ↓ ┌── 如果是文字回复 ──→ 直接输出 ──┐ │ │ └── 如果是工具调用 ──→ 执行工具 → 结果喂回模型 → 继续循环 ──┘ ↓ Session 持久化写回对话历史 ↓ Gateway 推送到渠道 ↓ 你 ← 看到回复这五层各自解决一个独立的问题层解决的问题渠道把各种消息源的差异归一成统一格式——你在 WebChat 打进去的字跟从 Telegram 发来的消息到了 Gateway 这里就是同一种东西Gateway统一验证和路由——不管从哪来、不管有几个 Agent都走这一个入口Session会话隔离和复用——群聊和 DM 互不干扰同一个人连续聊天自动接上上下文Agent Loop想和干的分离——大模型负责想工具负责干Loop 负责协调技能 工具能力可插拔——想加新能力就写一个 markdown 文件不用改代码回到实践下次你再对着 OpenClaw 发一条消息你可以自己在脑子里走一遍这条路径“这条消息进 18789 了 → Gateway 验了我的身份 → 找到我的 session → Agent 加载了我的配置和技能 → 调了一次大模型 → 没有工具调用 → 直接输出 → 写回 session → 我收到了。”这条路径走一次只要一两秒。但理解它之后你再也不会觉得输入→输出是一个简单操作了——你看到的是一套精密的分层传动机构在一两秒内跑完了全线。第三章一个 AI 怎么拥有人格“内因是变化的根据外因是变化的条件。”——《矛盾论》实践场景你打开 OpenClaw 开始跟它聊天。它自称一个名字有特定的语气对有些问题果断、对有些问题谦让。它似乎知道自己是谁、在跟谁说话、应该怎么回应。但你很清楚大模型本身没有人格——你给它什么系统提示它就是什么样子。换一组提示词它就变成另一个人。那么OpenClaw 的这种稳定人格是怎么保持的引出矛盾每次 Agent Loop 启动你都给了大模型一个上下文——里面带着服务端的配置、用户的信息、对话的历史。但这个上下文是怎么长成的谁决定了大模型的人设如果说大模型是一个演员那么系统提示词就是剧本。但问题在于演员每场演出只拿到当场的剧本不拿到全部剧本。换一个 session剧本就从头来。你怎么保证每次拿到的剧本都是同一个人这就是矛盾大模型是白纸一张但 Agent 需要一个稳定、可预期的人格。这个人格不能靠程序员写死在代码里因为用户需要自己能改。理论/经验工作区文件驱动人格系统OpenClaw 的解法是工作区文件 角色路由。工作区里有一组 markdown 文件定义了 Agent 的人workspace/ ├── AGENTS.md ← 运行规则知道怎么做事 ├── SOUL.md ← 人格设定知道怎么做人 ├── MEMORY.md ← 长期记忆记得发生过什么 ├── USER.md ← 用户资料知道自己跟谁说话 ├── TOOLS.md ← 工具偏好知道用什么顺手 └── IDENTITY.md ← 自我介绍知道自己叫什么每次新的会话启动时这些文件被全量读入系统提示。所以 Agent 每次重启都知道自己是谁、在跟谁说话、应该怎么回应。人格文件最值得关注的特性它们是文本文件不是数据库— 你打开编辑器就能改不用 SQL、不用 API。改完保存下次对话就生效。它们是用户可控的— 开发者设计框架但人格的定义权在你手里它们可以组合出多角色— 同一份 SOUL.md 里可以写角色路由表根据不同的关键词匹配不同人格SOUL.md 里的角色路由示例触发关键词角色说明分析、怎么看、矛盾分析专家辩证分析给你结构性答案技能、SKILL、触发词技能开发者按规范格式写技能文档其他默认助手灵活应对回到实践OpenClaw 聊起来像一个人不是大模型恰好生成了符合你期望的语气——而是因为每次对话开始前一组精心编写的 markdown 文件被放进了它的认知基础里。改一行 SOUL.md人格就变了。不是你写代码重新编译它是你拿着文本编辑器改了段话。这就是内因是变化的根据——Agent 的人格不是代码决定的是你在那一堆 markdown 文件里写下的定义决定的。第四章一个不会动手的大模型怎么成了干活的好手“不同质的矛盾只有用不同质的方法才能解决。”——《矛盾论》实践场景你对 OpenClaw 说“帮我把这个目录里的文件统计一下按类型分类输出一份报告。”OpenClaw 说“好的”过了几秒一份完整的文件统计报告出现在屏幕上分类清晰、数据准确。但你仔细想一下OpenClaw 背后是一个大模型——大模型会写文字、会推理但它不会读文件。它没有眼睛、没有手、不能操作文件系统。它怎么统计的引出矛盾大模型的能力边界是生成文本。它不知道当前目录有什么文件因为它没有看的能力。它不能执行 Shell 命令因为 LLM API 让你传 message 和工具定义不让你传 Shell 指令。但用户需要的 Agent恰恰是要能执行的——读文件、跑脚本、查数据库、调 API。如果 Agent 不能做这些事它就是一个高级聊天机器人不是智能体。这就是核心矛盾大模型只会想生成文字但用户需要的是干执行操作。理论/经验Agent Loop 工具调用机制OpenClaw 用一个叫做Agent Loop的循环机制来解决这个矛盾。工作方式很简单用户统计文件 ↓ Agent 循环开始 第 1 轮调 LLM LLM 推理 → 我需要列出文件应该用 terminal 工具跑 ls LLM 输出工具调用 ↓ 拦截工具调用 → 执行 hermes_terminal(ls -R) → 拿到文件列表 ↓ 第 2 轮把文件列表喂回 LLM LLM 推理 → 有 32 个 .md 文件, 15 个 .py 文件…… LLM 输出分类结果 ↓ 输出给用户三步走步骤谁做的做了什么想大模型LLM分析用户需求决定该调什么工具、传什么参数干Agent Loop拦截 LLM 发出的工具调用请求调用真实函数执行再看大模型拿到工具执行结果继续推理下一步或输出最终回复每一步之间Agent Loop 就是那个转接器——它把 LLM 的想法翻译成动作再把动作的结果翻译回 LLM 能理解的格式。OpenClaw 可以接入的工具有几类工具来源举例怎么接的内置工具read/exec/write/edit框架自带的开箱即用MCP 桥工具任何第三方 Agent 暴露的能力通过 MCP 标准协议接入自定义工具你写的 API 调用脚本通过工具定义注册进去回到实践你让 OpenClaw 统计文件、写文章、分析架构——每一个看起来像跟 AI 聊天的操作背后都是 Agent Loop 在想→干→再想→再干地转圈。大模型一动嘴Agent Loop 就跑断腿。但你作为用户只看到它回答了你。这就是 Agent 跟聊天机器人的区别聊天机器人只知道怎么回答你。Agent 知道怎么帮你把事情办了——因为它有手。第五章一个 Gateway 怎么伺候好多个人和多个地方“具体问题具体分析。”——《实践论》实践场景你的 OpenClaw 跑起来了正在 WebChat 上跟你聊天。但你出门在外只有手机——你想通过 Telegram 继续聊。另外你还有一个朋友想用 Discord 跟你的 Agent 说话——但你觉得应该给他安排一个不一样的 Agent性格偏正式一些不像跟你聊天这么随意。一个 Gateway多个人多个地方每个人还要不同的 Agent——这怎么实现的引出矛盾三个不同的问题压在一起多个渠道— Telegram 有自己的 Bot APIDiscord 有自己的 GatewayWeb 有自己的 WebSocket——每套协议都不同多个 Agent— 一个给你当哥们一个给同事当助手你不能让同一个 Agent 用同一套语气对所有人多条消息— 如果同时来三条消息全交给同一个 Agent 会串全串行处理会慢不把这些理清楚你的 OpenClaw 就只能在单机单用户单渠道下运行——谈不上基础设施。这就是核心矛盾统一运行服务和差异化服务能力之间的矛盾。理论/经验多 Agent 路由 渠道绑定系统OpenClaw 把谁在说话和谁在回答用一套 binding 系统解耦了。Binding 决定路由每条消息该走哪个 Agent消息来源Telegram / Discord / WebChat / CLI ↓ Binding 规则一条接一条匹配 1. 先查 peer是否是特定用户发的 2. 再查 guild是否是特定群组的 3. 再查 channel是否来自整个渠道 4. 最后查 default没匹配上就用默认 Agent ↓ 路由到匹配的 Agent匹配规则是最具体优先——你对指定用户发来的消息单独安排了某个 Agent那就它没有任何特殊规则就走默认 Agent。每个 Agent 完全隔离Agent A跟你聊天——随意、哥们 ├── 自己的工作区SOUL.md: 你是个哥们 ├── 自己的人格文件 ├── 自己的 session 历史 └── 自己的技能列表 Agent B跟同事对接——正式、专业 ├── 自己的工作区SOUL.md: 你是个专业助理 ├── 自己的人格文件 ├── 自己的 session 历史 └── 自己的技能列表两个 Agent 共享一个 Gateway 进程、共享一个 18789 端口——但在逻辑上完全独立。Agent A 不知道 Agent B 跟谁聊了什么反之亦然。多渠道通过适配器接入每个渠道配一个适配器文件把平台协议翻译成统一格式平台接入方式OpenClaw 适配器做了什么WebChat浏览器直接连 WS渲染聊天界面历史记录TelegramBot API token轮询更新发送消息DiscordGateway 连接 Bot token监听事件发送消息CLI终端 WS 连接无界面交互更多各平台协议归一化成统一消息格式回到实践所以当你在 WebChat 上跟 OpenClaw 聊天你的朋友通过 Telegram 跟另一个 Agent 聊天——看起来是四个独立聊天窗口实际上都是同一个 Gateway同一个 18789 端口在背后统一路由。谁在哪个渠道、发给哪个 Agent、用什么人格说话——这一切在 Binding 规则表里定义好之后服务器就不需要你手操了。消息进来自动匹配正确的人用正确的语气回答正确的来源。这就是具体问题具体分析在架构上的体现——每个场景不同渠道不同、用户不同、用途不同解决方案也不同不同的 Agent、不同的人格、不同的适配器但所有的具体都归一在同一个 Gateway 之下。小结“一切从实践中来一切到实践中去。”OpenClaw 每一层的架构设计都是从一个很具体的实践困境出发的实践困境架构解法不想把数据和对话交到别人服务器上自托管 Gateway想知道消息在服务端经历了什么五层链路渠道→Gateway→Session→Agent Loop→技能/工具需要 Agent 拥有稳定可预期的人格工作区文件驱动人格系统大模型只会想不会干Agent Loop 工具调用机制一个服务要对多个平台、多人、多角色提供服务多 Agent 路由 渠道绑定系统它不是从一本系统设计教科书里抄出来的。每一层都是被一个问题逼出来的——你先遇到了用户发了一条消息我怎么知道该给哪个 Agent这道题然后才有了 Binding 系统。你先遇到了每次对话都要重新介绍自己这个烦人的事然后才有了 session 持久化。OpenClaw 的架构是长出来的不是想出来的。好的架构的特点就在这你不觉得它复杂但它确实复杂。只是把复杂藏到了你不需要看见的地方。

相关新闻

AI搜索推广实战:豆包GEO优化与意图策略解析

AI搜索推广实战:豆包GEO优化与意图策略解析

在数字营销领域,获客渠道的变迁往往比技术迭代更快。2026年,随着AI搜索产品的深度普及,基于智能助手的推广成为不可忽视的流量入口。豆包作为国内代表性的AI对话产品,其搜索推广和GEO优化能力,正在重塑本地服务和精准获…

2026/7/14 4:38:58阅读更多 →
metaIPC2 v2.0-b3 稳定版发布,暑期免费技术支持开启

metaIPC2 v2.0-b3 稳定版发布,暑期免费技术支持开启

metaIPC2已经历经3年半的持续迭代,bk7258版本也已经多轮优化,正式迎来里程碑时刻——基于 BK7258 平台的 v2.0-b3 稳定版今日首发。该版本在系统性能与运行可靠性上实现了全面突破,为 IPC 应用落地提供了坚实底座。为助力开发者高效推进项目&…

2026/7/14 4:38:58阅读更多 →
禅道项目管理软件部署与核心功能实战指南

禅道项目管理软件部署与核心功能实战指南

1. 禅道项目管理软件简介与适用场景第一次接触禅道时,我正为一个20人左右的研发团队寻找合适的项目管理工具。当时团队用Excel表格跟踪需求,用微信群同步进度,版本发布前总是手忙脚乱。直到发现这款国产开源软件,它用产品-项目-执…

2026/7/14 4:38:58阅读更多 →
OpenGL 深度测试及Early-Z详解

OpenGL 深度测试及Early-Z详解

在 3D 渲染中,如何正确且高效地处理物体的遮挡关系是核心问题之一。本文将深入探讨 OpenGL 中的**传统深度测试(Depth Test)**以及现代 GPU 硬件优化技术——**Early-Z 拒绝(Early Depth Test)**的工作原理、管线位置、…

2026/7/14 7:04:16阅读更多 →
重叠率没设对,飞了几百亩,模型还是“缝缝补补”?

重叠率没设对,飞了几百亩,模型还是“缝缝补补”?

无人机系统:把航线参数提前管起来,让三维建模一次成型 很多项目,问题不是“没飞”,而是“白飞”。 现场看起来一切顺利: 无人机按计划起飞,航线铺得整整齐齐,照片拍了不少,飞行日志也…

2026/7/14 7:04:16阅读更多 →
Z3735设备UEFI引导难题:手动配置GRUB2安装64位Ubuntu全攻略

Z3735设备UEFI引导难题:手动配置GRUB2安装64位Ubuntu全攻略

1. 理解Z3735设备的UEFI引导限制Intel Atom Z3735系列处理器是专为平板电脑和迷你PC设计的低功耗x86芯片,但它的UEFI固件有个"先天缺陷"——只支持32位EFI引导。这就像给你的跑车装了个自行车轮胎,虽然发动机能输出64位性能,但启动…

2026/7/14 7:04:16阅读更多 →
AI模型压缩技术:从原理到工程实践

AI模型压缩技术:从原理到工程实践

1. 模型压缩:AI架构师的必修课当ChatGPT引爆全球AI热潮时,大多数人的注意力都集中在这些大模型惊人的能力上。但作为一线AI架构师,我们更关心的是另一个现实问题:一个1750亿参数的GPT-3模型需要800GB存储空间,推理时占…

2026/7/14 7:04:16阅读更多 →
题目总结:P6327

题目总结:P6327

背景 买了新电脑,就想着先把这道心腹大患解决了,起步即蓝题,开个好头,顺便水一篇题解。 题目大意 给出一个长度为 nnn 的整数序列 a1,a2,…,ana_1,a_2,\ldots,a_na1​,a2​,…,an​,进行 mmm 次操作,操作分…

2026/7/14 7:04:16阅读更多 →
Qt学习(开发环境Visual Studio)5.工程结构介绍

Qt学习(开发环境Visual Studio)5.工程结构介绍

本文将介绍软件开发过程中的工程框架,作者对本模块并非精通,所写所作及代码均来自老师傅的传授,加上自己的理解。Doc:文档,主要包含软件的说明书、界面设计、算法开发要求等内容Src:码源,开发过…

2026/7/14 6:59:15阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/13 4:21:17阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →