项目定位: 个人 AI 助手框架 —— 在你自己的设备上运行,连接你已经在使用的通讯渠道,用你自己的规则工作。
核心口号: "The AI that actually does things."
吉祥物: 🦞 龙虾 (The lobster way)
OpenClaw 诞生于作者对个人 AI 助手的探索需求。项目经历了多次迭代和更名:
演进路线: Warelay → Clawdbot → Moltbot → OpenClaw
这个演进过程反映了项目定位的逐步清晰:
OpenClaw 不是又一个 ChatGPT 客户端,而是一个本地优先的个人 AI 助手基础设施:
| 维度 | 传统 AI 应用 | OpenClaw |
|---|---|---|
| 运行位置 | 云端 SaaS | 你的设备(本地优先) |
| 交互渠道 | 专用 App/网页 | 你已在使用的通讯工具 |
| 数据隐私 | 上传至服务商 | 本地处理,不上传 |
| 定制化 | 有限配置 | 深度定制(规则、技能、插件) |
| 执行能力 | 文本回复 | 执行命令、控制设备、自动化 |
OpenClaw 采用单一网关控制平面架构,所有功能围绕 Gateway 展开:
┌─────────────────────────────────────────────────────────────┐
│ Gateway (控制平面) │
│ 127.0.0.1:18789 (默认) │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ 通讯渠道 │ │ Agent │ │ 工具层 │ │
│ │ · WhatsApp │ │ 运行时 │ │ · Browser │ │
│ │ · Telegram│ │ · 推理 │ │ · Canvas │ │
│ │ · Slack │ │ · 工具调用 │ │ · Nodes │ │
│ │ · Discord │ │ · 流式输出 │ │ · Cron │ │
│ │ · ... │ │ │ │ · Sessions │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ WebSocket 协议 · JSON Schema 验证 · 事件驱动 · 会话管理 │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ macOS │ │ CLI │ │ Nodes │
│ App │ │ 工具 │ │ 设备 │
│(控制端) │ │ │ │(iOS/And)│
└─────────┘ └─────────┘ └─────────┘
单一 Gateway 原则:
WebSocket 长连接:
role: nodeCanvas 宿主:
/__openclaw__/canvas/ (Agent 可编辑的 HTML/CSS/JS)/__openclaw__/a2ui/ (Agent 驱动的 UI)Client → Gateway: WebSocket connect
Gateway → Client: hello-ok (presence + health)
Client → Gateway: req:agent (发送消息)
Gateway → Client: res:agent ack {runId, status: "accepted"}
Gateway → Client: event:agent (流式输出)
Gateway → Client: res:agent final {runId, status, summary}
认证机制:
connect.params.auth.token 或 auth.passwordconnect.challenge nonceOpenClaw 支持 20+ 种通讯渠道,覆盖主流 IM 和协作工具:
即时通讯: WhatsApp、Telegram、Signal、iMessage (BlueBubbles)、LINE、Zalo、Zalo Personal、WeChat、QQ、IRC
团队协作: Slack、Discord、Microsoft Teams、Matrix、Mattermost、Nextcloud Talk、Tlon、Synology Chat
其他: Google Chat、Feishu (飞书)、Nostr、Twitch、WebChat
| 渠道 | 接入库/协议 | 特点 |
|---|---|---|
| Baileys (WS) | 官方 Web 协议逆向,需手机在线 | |
| Telegram | grammY | Bot API,官方支持 |
| Slack | Bolt | 官方 SDK,事件驱动 |
| Discord | discord.js | 官方 API,支持 DM/群组 |
| Signal | signald/libsignal | 独立协议,端到端加密 |
| iMessage | BlueBubbles | macOS 桥接方案 |
DM(私信)配对策略:
dmPolicy="pairing" — 未知发送者收到配对码,消息不处理openclaw pairing approve 将发送者加入本地白名单dmPolicy="open" + 白名单包含 "*" — 显式开放(高风险)群组安全:
@bot) 或命令前缀的消息activation 模式: mention(提及触发)或 always(所有消息)Agent Loop 是 OpenClaw 的核心执行单元,将消息转化为行动:
Intake(接收) → Context Assembly(上下文组装) → Model Inference(模型推理)
→ Tool Execution(工具执行) → Streaming Replies(流式回复) → Persistence(持久化)
关键阶段:
agent / agent.wait) 接收请求,验证参数,解析 sessionstart → end / error 事件会话车道 (Session Lane):
全局车道 (Global Lane):
写锁保护:
allowReentrant: true| 事件类型 | 说明 |
|---|---|
stream: "tool" |
工具调用事件 |
stream: "assistant" |
助手输出增量 |
stream: "lifecycle" |
生命周期事件 (start/end/error) |
Skills 是 OpenClaw 的模块化知识单元,采用 AgentSkills 兼容格式:
SKILL.md(YAML frontmatter + 使用说明)| 优先级 | 来源 | 路径 | 说明 |
|---|---|---|---|
| 1 | Workspace skills | <workspace>/skills |
最高优先级,项目特定 |
| 2 | Project agent skills | <workspace>/.agents/skills |
项目代理专用 |
| 3 | Personal agent skills | ~/.agents/skills |
个人代理 |
| 4 | Managed/local skills | ~/.openclaw/skills |
本地管理 |
| 5 | Bundled skills | 随安装包附带 | 基础功能 |
| 6 | Extra skill folders | skills.load.extraDirs |
配置指定 |
冲突解决: 同名技能,高优先级来源覆盖低优先级
agents:
defaults:
skills: ["github", "weather"] # 默认技能集
list:
- id: "writer" # 继承默认技能
- id: "docs"
skills: ["docs-search"] # 替换默认技能
- id: "locked-down"
skills: [] # 无技能
agents.defaults.skills → 默认无限制agents.list[].skills → 继承 defaultsagents.list[].skills: [] → 该代理无技能ClawHub 是 OpenClaw 的公共技能注册中心:
Skill Workshop 插件(实验性):
<workspace>/skillsOpenClaw 有两种插件风格:
Code Plugins(代码插件):
Bundle-style Plugins(捆绑插件):
OpenClaw 支持 MCP(Model Context Protocol)作为:
目标: 务实的 MCP 支持,不重复现有的 agent、tool、ACPX、plugin 或 ClawHub 路径
"Security in OpenClaw is a deliberate tradeoff: strong defaults without killing capability."
OpenClaw 的安全是有意为之的权衡: 强默认安全,同时保留能力。目标是:
沙箱隔离:
sandbox.mode: "non-main" 在沙箱中运行典型沙箱默认策略:
允许: bash, process, read, write, edit, sessions_list, sessions_history, sessions_send, sessions_spawn
拒绝: browser, canvas, nodes, cron, discord, gateway
设备配对:
签名验证:
connect.challenge nonceopenclaw doctor 检查风险/配置错误的 DM 策略ssh -N -L 18789:127.0.0.1:18789 user@hostopenclaw/openclaw/
├── gateway/ # Gateway 核心(WebSocket、协议、会话管理)
├── channels/ # 通讯渠道实现
├── tools/ # 内置工具(browser、canvas、cron 等)
├── plugins/ # 插件系统
├── skills/ # 捆绑技能
├── docs/ # 文档
│ ├── concepts/ # 架构概念
│ ├── tools/ # 工具文档
│ ├── channels/ # 渠道配置
│ └── ...
├── cli/ # CLI 实现
├── nodes/ # 节点协议(iOS/Android/macOS)
├── canvas/ # Canvas 宿主实现
└── protocol/ # Gateway 协议定义
Gateway 核心 (gateway/):
Agent 运行时 (pi-agent-core):
渠道适配层 (channels/):
当前焦点(来自 VISION.md):
下一阶段:
| 维度 | OpenClaw | Home Assistant | Bot Framework | LangChain |
|---|---|---|---|---|
| 定位 | 个人 AI 助手 | 智能家居中枢 | 企业聊天机器人 | LLM 应用框架 |
| 运行方式 | 本地 Node.js | 本地/容器 | 云端服务 | 库/框架 |
| 交互渠道 | 20+ IM 渠道 | 设备协议 | 企业通讯 | 代码集成 |
| AI 能力 | 原生 Agent | 规则引擎 | 简单对话 | 复杂链式调用 |
| 隐私 | 本地优先 | 本地优先 | 云端处理 | 依赖部署 |
| 扩展性 | 插件+技能 | 组件生态 | SDK | 模块化 |
渠道原生集成:
本地优先:
执行能力:
开放生态:
AI 助手平民化:
通讯渠道碎片化:
本地 AI 趋势:
设置复杂度:
渠道维护成本:
模型兼容性:
竞争压力:
短期(0-6个月):
openclaw onboard 已推出)中期(6-12个月):
长期(12个月+):
分析时间: 2026-04-28
内容基于 OpenClaw 官方文档、GitHub 仓库和 VISION.md