ARTICLE · 1093340
[OpenClaw的基本原理]
OpenClaw(开源 AI Agent,龙虾)
定位:本地运行的开源个人智能体,不是单纯聊天机器人,而是“LLM 大脑 + 本地执行手脚 + 持久记忆”,一个完全开源、自己运行在你电脑上的 AI 助手。接收指令,接管相关执行权限,真正为你做事!

整体架构(Gateway 中心)
单进程 Node.js Gateway 常驻,负责所有进出:
Ingress/Channels:WhatsApp、Telegram、Discord、Slack、飞书/微信插件、CLI、Web、Cron/Webhook
Gateway 控制面:WebSocket/HTTP 服务、认证配对、会话路由、并发队列、工具审批
Agent/Brain:拼上下文 → 调 LLM(Claude/GPT/Gemini/DeepSeek/Ollama 本地都行)→ 产出文本或 tool call
Hands/Tools:shell、文件系统、浏览器(CDP)、HTTP API、邮件、日历、移动节点
Memory:本地 Markdown(SOUL.md/AGENTS.md/USER.md/MEMORY.md/HEARTBEAT.md),可混合检索
Skills:ClawHub 装技能,YAML+Markdown 定义,按需加载。

各部分再简单解释:
Channel Bridge(通道桥接器):负责跟 WhatsApp、Telegram 等聊天软件"握手"。比如用 Baileys 库连接 WhatsApp。
Gateway:唯一运行的进程(占用一个端口,默认 18789),像总机接线员,把消息转发给 AI。
AI 大脑:真正思考的是外部大模型(你提供 API Key),Gateway 只负责"叫它来干活"。
工具 & 技能:AI 的手脚,比如打开浏览器、读写文件、发邮件。
记忆系统:像笔记本,AI 不会忘掉你上次说的话。
一次消息的工作流
渠道来消息(或 Cron/Heartbeat 触发)
Gateway 按 channel/account/group 生成 sessionKey,进 lane/queue(同 session 串行,跨 session 并行)
组装 prompt:系统身份 SOUL + 代理规则 AGENTS/TOOLS + 记忆检索结果 + 匹配 SKILL + 最近对话 + 原始消息(外部内容打 EXTERNAL_UNTRUSTED 标记)
送 LLM 推理:只回复 / 或多个 tool call
工具调用回 Gateway→Hands 执行(shell/browser/file/api),走沙箱与人工审批;结果再喂回 LLM
多轮 tool loop 直到最终回复,原渠道回发;重要结论写记忆
主动任务:Heartbeat 定时跑、Cron 触发、Webhook 事件触发,不等人问 ;

关键机制
模型无关:配置换 provider,简单任务走廉价模型、复杂走 Opus/DeepSeek,支持 failover
本地优先:记忆是 Markdown、配置 JSON、凭证放 ~/.openclaw/credentials;用 Ollama/vLLM 可完全离线
安全边界:Gateway 默认 localhost、配对认证;工具分普通/提权/沙箱;危险命令走 approval;外部输入标不受信任
多 agent:按 workspace/渠道/发送人路由不同 agent,各自独立 session 与记忆
简单类比:ChatGPT 是“嘴”,OpenClaw 是“嘴+手+记事本+定时闹钟”,通过聊天应用接收指令并在你机器上真跑命令。
核心组件介绍:
Gateway:统一的门户
Gateway(网关)是 OpenClaw 的大门,所有外部消息都必须先经过这里。

Workspace:你的私人办公室
Workspace(工作空间)是实际处理任务的地方。你可以有多个工作空间,每个负责不同的事情。

# workspace-personal.yamlname: "个人助理"llm:provider: "anthropic" # 使用 Claudemodel: "claude-sonnet-4"apiKey: "sk-ant-xxx"skills:- weather # 查天气- calendar # 管理日程- email # 处理邮件- web-search # 网页搜索settings:language: "zh-CN"temperature: 0.7max_tokens: 4000

LLM:AI大脑
LLM(Large Language Model,大语言模型)是 OpenClaw 的智能大脑,负责理解你的意图和生成回复。

OpenClaw 支持的 LLM:
Channels:连接外部世界
Channels(渠道)是连接各种消息平台的"适配器"。

每个 Channel 的工作:
接收消息:从平台获取用户消息
格式转换:统一转换为 OpenClaw 内部格式
发送回复:把 OpenClaw 的回复发回平台

命令流转过程:

详细步骤解析:
步骤 1-3:消息接收与标准化
用户在 Telegram 发送消息后,Telegram Channel 会将其转换为 OpenClaw 的标准格式:
{ "platform": "telegram", "channel_id": "telegram_123", "user": { "id": "user_456", "name": "Alice" }, "message": { "type": "text", "content": "上海明天天气?", "timestamp": "2024-03-09T10:30:00Z" }}
步骤 4-5:认证与路由
Gateway 检查这个消息:
来源是否已授权?
应该路由到哪个 Workspace?
用户是否有权限?
步骤 6-8:AI 理解与决策
Workspace 准备完整的上下文发送给 LLM:
[系统提示]你是一个个人助理,可以使用以下技能:- weather: 查询天气- calendar: 管理日程- ...[对话历史]用户: 你好助理: 你好!有什么可以帮你的?[当前消息]用户: 上海明天天气?
步骤 9-12:技能执行
LLM 决定调用 weather skill,Workspace 执行并获取结果:
{ "location": "上海", "date": "2024-03-10", "weather": "晴转多云", "temperature": "18-26°C", "humidity": "60%", "wind": "东风 3-4级"}
步骤 13-17:生成回复并返回
LLM 根据天气数据生成自然语言回复,通过原路返回给用户。
完整工作流程:
场景:定时发送每日天气报告:

数据流与状态管理:
数据如何存储?

数据类型及存储方式:
技能系统
什么是技能(Skills)?
技能是 OpenClaw 执行特定任务的"能力模块"。如果把 OpenClaw 比作一个人,技能就是这个人学会的各种本领。

技能的结构:
每个技能包含:

示例:天气技能的定义

技能的调用流程:

技能的安全机制:

扩展性与插件

技能安装流程:

以上是OpenClaw可以接收指令,并进行接管权限的基本原理和数据流。