OpenClaw通过分层架构、ReAct循环、本地Markdown记忆、插件化内核与WebSocket控制面实现NL2Sys:感知-决策-执行三层闭环;Thought→Action→Observation迭代推理;MEMORY/HEARTBEAT/Sessions本地持久化;RSA签名插件+权限沙箱;统一WebSocket跨端路由。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您希望理解 OpenClaw 如何将自然语言指令转化为真实系统操作,则需深入其分层协同、推理循环与本地化记忆机制。以下是对其核心工作原理的逐层拆解:
一、三位一体分层架构
OpenClaw 并非单一程序,而是由感知层、决策层与执行层构成的闭环系统,各层职责明确且松耦合。感知层负责接收来自 Telegram、WhatsApp 或本地 CLI 的触发信号;决策层作为 Gateway,将用户输入交由 LLM(如 DeepSeek)生成结构化指令;执行层则依据该指令调用对应 Skill 脚本完成实际动作,例如读取文件、打开浏览器或发送 HTTP 请求。
1、启动时,OpenClaw 扫描 ./skills/ 目录下所有 YAML/JSON 描述文件,将其功能摘要注入 LLM 的 system prompt。
2、当用户提问“查一下我昨天的会议纪要”,模型在推理中识别出需调用 read_file 工具,并输出参数 {"path": "./notes/2026-03-11.md"}。
3、执行层解析该参数,调用对应 Python 脚本读取文件内容,并将结果以 Observation: ... 格式返回给模型。
二、ReAct 推理-行动循环机制
OpenClaw 严格遵循 ReAct(Reason + Act)范式,通过 Thought → Action → Observation 的迭代过程处理非线性任务。该机制使 Agent 能自主拆解目标、验证中间结果、动态调整路径,而非依赖预设流程链。
1、模型在每次响应前生成 Thought: 区块,说明当前推理逻辑,例如“需先确认日程是否存在,再决定是否发送提醒”。
2、随后输出 Action: 指令,格式为 tool_name(input_json),如 list_files({"dir": "./calendar"})。
3、OpenClaw 执行该 Action 后,将原始输出(含成功、错误或内容片段)封装为 Observation: 并送回模型上下文。
4、模型基于 Observation 决定继续调用新工具、修正参数,或直接生成最终回复。
三、本地 Markdown 持久化记忆系统
OpenClaw 拒绝依赖外部向量数据库或云服务,全部记忆以人类可读的 Markdown 文件形式存储于本地。这种设计确保数据主权完全归属用户,同时支持手动编辑、版本控制与即时审计。
1、MEMORY.md 存储长期偏好与关键事实,如“用户邮箱为 user@example.com”“拒绝周末推送通知”。
2、HEARTBEAT.md 定义定时任务,每半小时由内核自动触发一次,内容形如 - cron: "*/30 * * * *" \n action: check_email。
3、Sessions/ 目录按日期与会话 ID 分类保存完整对话历史,每次推理前仅加载最近若干条相关 Session。
4、所有记忆文件在每次推理前被整体注入 prompt 上下文,推理结束后将新增记忆追加写入对应文件。
四、插件化内核与安全隔离机制
OpenClaw 的核心内核(Core Kernel)采用极简设计,仅提供生命周期管理、资源池化、事件总线与权限校验等基础能力。所有业务功能均通过插件实现,插件加载前须经 RSA 签名验证,运行时受白名单权限约束。
1、插件需在 plugin.yaml 中声明所需权限,例如 access_network 或 write_log,未声明权限的 API 调用将直接抛出 PermissionDeniedException。
2、高风险操作(如 rm -rf、curl --upload)默认启用人工审批流(Human-in-the-loop),执行前挂起任务并等待 Telegram 确认。
3、推荐在 Docker 容器中运行 OpenClaw,利用 文件系统沙箱 隔离宿主机关键路径,防止误删 /etc 或 /home 下敏感目录。
五、WebSocket 统一控制面架构
OpenClaw 所有交互通道(CLI、Web UI、macOS 菜单栏、iOS/Android 节点、树莓派 Agent)均通过单一 WebSocket 控制面 ws://127.0.0.1:18789 进行路由与会话管理。该设计屏蔽了渠道差异,使同一 Agent 可跨设备无缝协同。
1、每个接入终端在连接时携带唯一 node_id 与 channel_type(如 telegram、cli、webui)。
2、Gateway 根据 node_id + session_id 将消息路由至对应工作区(workspace),并注入该 workspace 下的 AGENTS.md 与 SOUL.md 等 bootstrap 文件。
3、用户在 Telegram 中输入 /reset,Gateway 即刻清空当前会话上下文缓存,并重新加载 workspace 全量配置。










