找回密码
 立即注册
首页 业界区 业界 OpenClaw 入门指南:从原理到实战

OpenClaw 入门指南:从原理到实战

姜删懔 3 天前
引言

从上周起就萌生了写一篇关于 OpenClaw(Clawdbot)文章的想法,但一直拖到现在才动笔。拖延的原因有二:其一,对于一个可能是昙花一现的现象级产品,我不太愿意投入过多精力做深入研究——事实上,直到写完这篇文章,我都还在纠结标题用"入门指南"还是"浅析"更为恰当;其二,放假后事情比较多,实在抽不出整块时间来完成(主要指做饭、打炉石和匡扶汉室)。
不过拖延归拖延,该聊的还是得聊。在正式介绍 OpenClaw 之前,有一个问题值得先回答:市面上的 AI 工具已经如此丰富,为什么Openclaw会成为一个现象级的产品?它的独到之处在哪里?
结合官方文档和个人体验,我梳理出以下几个核心差异点:
它不是"一个聊天框",而是"一个网关化的 Agent 操作系统"。 单一 Gateway 作为会话、路由、渠道连接的事实源,统一对接 WhatsApp、Telegram、Discord、iMessage、QQ、飞书 等消息平台。它的设计哲学不是把用户拉到一个新 App 里,而是把 Agent 放进用户已有的消息入口
它把"个性与长期上下文"工程化了。 MEMORY.md 这类文件被注入系统上下文,记忆以落盘 Markdown 的形式存在,而非黑盒式的"隐式记忆"。对多数 AI 产品来说,这是从"prompt"到"workspace"的范式转变。
它把"可执行能力"做成了强约束工具层。 工具是类型化 Schema + 策略控制(allow/deny/profile),支持沙箱、会话工具、子智能体并在本地运行。很多产品只强调"会回答",OpenClaw 强调的是"会执行且可控"
它在可靠性上做了生产化设计。 每会话串行队列、agent.wait 生命周期事件、模型故障转移(先 Profile 轮换,再 Model Fallback)——这些特性让它更像一个"可运维系统",而非又一个 demo agent。
至于它短期内爆火的原因,我的推断是多方面的:

  • 分发优势:天然进入高频聊天场景,获客成本极低
  • 价值闭环:从聊天直接走向自动化执行(browser/nodes/cron/session tools)
  • 开源扩散:插件/Skills + 社区 showcase + 高频 release(最近两周多次版本发布)
  • 灵活性:多模型提供商、可本地/远程部署,降低了平台锁定感
那么OpenClaw适合来做些什么?
一句话来说:你需要把它跑在自己的电脑或服务器上,然后用 QQ、飞书、WhatsApp、Telegram 这类即时通信软件给它发消息,它能在本地(你的电脑或者服务器)干的事,大致是这几类:帮你回邮件、文件管理、运行脚本、自动化、实际监控等。
当然,代价也很明确:学习与运维门槛比同类产品更高(网关、策略、插件治理都需要上手成本),官方文档也坦诚地指出——系统提示里的安全措施是"建议性"的,硬约束需要靠工具策略、审批和沙箱来实现;插件是进程内受信代码,治理不好会带来安全风险(这也是最主要的问题)。
带着这些认知,我们来逐层拆解 OpenClaw 的架构与设计。
一、架构设计

1.1 整体架构

先看官方架构图,对 OpenClaw 的全局建立一个直观印象:
1.png

从架构图可以看出,OpenClaw 的设计围绕几个核心层次展开。
最上层是接入层,包含三类入口:消息渠道(WhatsApp/Telegram/Slack/Discord/Signal/iMessage)、控制平面客户端(macOS App/CLI/Web UI/自动化,通过 WebSocket 连接)以及节点客户端(macOS/iOS/Android/无头设备,提供 camera/screen/canvas/location 等能力)。所有这些入口最终都汇聚到同一个 Gateway。
中间是 Gateway 网关,这是整个系统的核心枢纽。它是一个单实例守门人,负责会话与路由事实源、类型化 WS API 事件流、connect 握手、认证配对和 Schema 校验。可以把它理解为 Agent 的"耳朵"和"嘴巴"——所有外部信号都经过它进来,所有响应也通过它投递出去。
Gateway 之下分出三条支线:

  • 路由与会话层:通过 bindings 选择 agentId,会话键支持 main/dm/group/channel 四种类型
  • 嵌入式 Agent Runtime:Agent 的"大脑",基于 Node.js 的执行环境。其 Agent Loop 的核心流程是:接收 → 组装上下文 → 模型推理 → 工具执行 → 流式输出 → 持久化
  • 插件与 Hook:插件可以扩展命令、工具甚至 Gateway RPC,Hook 支持 before_agent_start 和 tool_call 等生命周期拦截点
再往下是三个核心支撑模块:

  • 上下文组装:系统提示 + Skills + 注入文件 + 历史消息 + 工具结果/附件
  • 工作区与记忆:AGENTS/SOUL/USER/TOOLS 等配置文件 + memory/YYYY-MM-DD.md + MEMORY.md
  • 模型与工具层:多模型提供商(OpenAI/Anthropic 等)+ 内置工具 + session tools
最终,响应经过 accepted → stream → final 的投递流程,由 Gateway 分发到对应的渠道或客户端。
这套架构中,Gateway 与 Agent Runtime 的关系是理解 OpenClaw 的关键。Gateway 负责"通信"——它不关心 Agent 在想什么,只负责把消息送进来、把回复投出去;Agent Runtime 负责"思考"——它不关心消息从哪来,只负责理解上下文、调用模型、执行工具。这种职责分离使得同一个 Agent 可以同时服务于多个渠道,也让渠道扩展变得非常轻量。
1.2 目录结构

了解了整体架构,再来看看 OpenClaw 在文件系统层面是如何组织的。
首先是 .openclaw 安装目录:
2.png

这是 OpenClaw 的"系统根目录",包含 agents(智能体配置)、credentials(凭证)、devices(设备管理)、extensions(扩展插件)、cron(定时任务)以及核心配置文件 openclaw.json 等。
然后是 workspace 工作目录——Agent 真正"生活"的地方:
3.png

工作目录中的文件各司其职:
文件/目录作用AGENTS.mdAgent 的行为准则和工作流程定义SOUL.mdAgent 的人格定义——"你是谁"USER.md用户画像——"你在帮助谁"TOOLS.md工具使用的本地配置说明MEMORY.md长期精选记忆HEARTBEAT.md心跳检查清单和提醒事项BOOTSTRAP.md首次运行的"出生证明"memory/每日记忆日志目录skills/技能文件目录Gateway 默认监听 18789 端口,进程名为 openclaw-gateway,可通过 lsof 或 ps 命令确认。
4.png

1.3 记忆系统设计

OpenClaw 的记忆体系是它区别于多数 AI 产品的核心亮点之一。它没有采用向量数据库或隐式嵌入式记忆,而是用可读、可编辑的 Markdown 文件来承载整个记忆系统。
记忆分为两个层次:
Daily Logs(每日日志) —— memory/YYYY-MM-DD.md
每日的原始流水账记录,存储在 workspace 的 memory/ 目录下。它采用混合模式:既包含原始交互日志,也包含 Memory Flush 产生的自动摘要。文件是 Append-only(只追加),系统在每次会话时自动加载"今天 + 昨天"的内容。用户可以直接打开查看和编辑。
Curated Memory(精选记忆) —— MEMORY.md
类比人类的长期记忆——经过筛选和提炼的精华。它仅在主会话(与用户一对一聊天)时加载,不会在群聊或共享会话中暴露。这是一个深思熟虑的安全设计,因为 MEMORY.md 中可能包含用户的个人偏好、隐私信息等内容。Agent 可以在主会话期间自由查看和更新,记录重要的决策、教训和心得。
5.png

这种设计带来一个显著的好处:记忆是完全透明的。用户可以直接打开 Markdown 文件查看 Agent 到底"记住"了什么,觉得不对就直接改,觉得多余就直接删。不存在"黑盒",也不需要逆向工程去理解 Agent 的认知状态。
从"prompt"到"workspace"的转变,本质上是把 Agent 的认知状态从一个不可见的 prompt 外化成了一个可版本化、可审查、可协作的文件系统。
二、提示词设计与 Agent 设计原则

架构决定了 OpenClaw "能做什么",而提示词和配置文件则决定了它"该怎么做"。这一节我们聚焦 Agent 的行为设计层。
2.1 Agent 执行流程

先看 Agent 的策略驱动执行流:
6.png

当一个输入事件到达(可能是首次运行、用户消息或心跳轮询),Agent 首先进行会话类型判定,这决定了后续加载哪些上下文:

  • 主会话(与用户直接对话):加载 SOUL + USER + memory(今天/昨天)+ MEMORY.md —— 完整上下文
  • 共享会话(Discord、群聊等):加载 SOUL + USER + memory(今天/昨天),不加载 MEMORY —— 安全裁剪
这个区分至关重要。MEMORY.md 中可能包含用户的私人信息,在群聊场景下自动屏蔽,是一种"默认安全"的设计选择。
进入 Agent 核心后,三个子系统协同工作:

  • 策略引擎:负责安全边界控制、群聊场景的发言门控、对外动作的审批流
  • 记忆系统:Daily Logs + MEMORY.md(仅主会话),维持 Agent 的跨会话认知连续性
  • 执行层:Skills(SKILL.md)调用、工具执行、心跳检查等实际动作
最终输出有三种形态:用户回复、HEARTBEAT_OK(心跳静默,表示无需主动沟通)、或记忆更新(将本次会话中的重要信息写入文件)。
2.2 AGENTS.md 深度解析

AGENTS.md 是整个 Agent 行为定义的核心文件。如果说 SOUL.md 定义的是"你是谁",那么 AGENTS.md 定义的就是"你应该怎么做"。OpenClaw 官方提供了一份设计精良的默认模板,其中的设计思路值得细品。
会话初始化——四步走
AGENTS.md 开篇就规定了每次会话前的加载顺序:
  1. 1. SOUL.md — 弄清楚你是谁
  2. 2. USER.md — 弄清楚你需要帮助的是谁
  3. 3. memory/YYYY-MM-DD.md(今天 + 昨天)— 了解近期上下文
  4. 4. 如果处于主会话:还要读取 MEMORY.md
复制代码
紧跟着一句简短有力的指令:"直接做就行不需要询问权限。"这表明 OpenClaw 的 Agent 不是一个被动的助手——它被明确授权可以自主读取文件、整理信息、执行预设任务,是一个主动的 Agent
记忆管理——"写下来,别靠心里记着"
AGENTS.md 中有一条非常直白的原则:
<blockquote>

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册