OpenClaw 架构原理
OpenClaw 是一款开源自托管的个人 AI 代理网关,核心定位是运行在用户自有设备上的自主式智能体助手。它采用'本地优先、隐私可控'的设计理念,通过自然语言指令实现 PC 全功能自动化,而非仅仅回答问题。
该项目由 Peter Steinberger 创建,基于 TypeScript 开发的命令行应用(CLI),既非 Python 开发,也非基于 Next.js 的网页应用。作为一个独立运行的进程,其核心理念在于常驻控制平面、可插拔的大模型大脑、可扩展的工具技能以及会话记忆与安全策略。
系统架构图解
整体架构可以概括为消息渠道接入、网关路由分发、智能体编排执行以及底层资源调用的分层结构:
┌─────────────────────────────────────────────────────────────────┐
│ 消息渠道(Channels) │
│ ┌──────┐ ┌──────┐ ┌────┐ ┌────┐ ┌────────┐ ┌──────┐ │
│ │企业微信│ │Telegram│ │飞书│ │QQ │ │WhatsApp│ │Web UI│ ... │
│ └───┬──┘ └───┬──┘ └──┬─┘ └──┬─┘ └───┬────┘ └───┬──┘ │
│ └────────┴───────┴───────┴───────┴──────────┘ │
│ ▼ │
│ 统一内部事件格式 │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Gateway(网关守护进程):18789 │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ Router │ │ Session │ │ Security │ │ │
│ │ │ 路由分发 │ │ 会话管理 │ │ 安全策略 │ │ │
│ │ │ 鉴权/限流│ │ 上下文恢复│ │ 审批机制 │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └───────────────────────┬─────────────────────────────────┘ │
│ │ │
│ ┌─────────────┼──────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌───────────┐ ┌──────────────┐ │
│ │ Agent Runtime│ │ Nodes │ │ Skills & │ │
│ │ 智能体运行时 │ │ 设备节点 │ │ Sandbox │ │
│ │ │ │ │ │ 技能系统 + 沙箱│ │
│ │ Prompt Builder│ │ macOS │ │ SKILL.md │ │
│ │ Context Guard │ │ iOS │ │ Docker 隔离 │ │
│ │ Tool Executor │ │ Android │ │ ClawHub 市场 │ │
│ │ │ │ Linux │ │ │ │
│ └──────┬───────┘ └───────────┘ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────┐ │
│ │ LLM Provider(模型适配层) │ │
│ │ Claude │ GPT │ DeepSeek │ Ollama │ ... │ │
│ └──────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ Memory(记忆系统) │ │
│ │ .jsonl 会话历史 │ Markdown 长期记忆 │ │
│ │ SQLite 索引 │ Git 版本管理 │ │
│ └──────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘


