OpenClaw 源码学习
20 天 · 每天 30 分钟 · 逐层读懂这个"跑在你自己设备上的个人 AI 助理"——它在你日常用的聊天软件(WhatsApp/Telegram/Slack/Discord/飞书…)里回应你,能说会听、能渲染画布,由一个 Gateway 控制平面统一编排。
开篇 · 这是个什么项目
OpenClaw(🦞 口号"EXFOLIATE!")是一个你自己部署、单用户的个人 AI 助理。它不是又一个聊天网站,而是一套连接你已有聊天渠道 + 一个智能体大脑 + 可扩展技能的系统:你在 Telegram/Slack/微信生态里发消息,它在后台想清楚、调工具、把答复送回同一个渠道。核心是 TypeScript 写的 monorepo,外加 macOS/iOS/Android 原生应用。
🎯 一句话:OpenClaw = Gateway(控制平面) + Channels(几十种聊天渠道接入) + Agent 大脑(LLM + 工具循环) + Skills/Extensions(技能与扩展) + Sandbox(安全执行)。消息从渠道进来 → Gateway 路由 → Agent 处理 → 答复从原渠道出去。
多渠道接入
WhatsApp/Telegram/Slack/Discord/飞书/Signal/iMessage… 一套助理,处处可达。
Agent 大脑
LLM 抽象 + 模型故障转移 + 工具调用循环,想清楚再动手。
技能与扩展
skills/ 与 extensions/ 可插拔地给助理加本领。
本地 + 安全
跑在你自己设备上,沙箱执行、防提示词注入、密钥管控。
src/、skills/、extensions/、apps/。架构全景(动起来看)
下图那颗发光小球是"一条消息从渠道进来、穿过 Gateway 与 Agent、再从渠道出去"的旅程。从上到下:渠道 → 控制平面 → 大脑 → 底层执行。
OpenClaw 的心智模型是"渠道进 → Gateway 编排 → Agent 想+做 → 渠道出"——一条消息的循环:
怎么用这份教程
每天 30 分钟
一天一个独立页面,跟着"今日小结 + 动手"收尾。
零基础友好
不假设你懂 TS monorepo/Gateway/渠道协议,术语首次出现都有大白话解释。
精确到行号
关键代码标 文件:行号,可在真源码里跳转对照。
项目全景(个人 AI 助理)
OpenClaw 是什么、Gateway 控制平面、monorepo 目录地图、核心概念。
入口与启动流程
openclaw.mjs、CLI、onboard 向导,进程怎么 boot 起来。
Gateway 控制平面
协调渠道↔Agent、HTTP/WS 服务、它到底管什么。
一条消息的完整旅程
渠道收到→归一化→路由→Agent→回复原路返回,端到端追踪。
配置系统与 workspace
配置怎么加载(env/文件)、workspace 工作区概念。
LLM 层与 provider 抽象
模型调用在哪、多 provider 抽象、模型选择。
模型故障转移
OAuth vs API key 认证轮换 + fallback,模型挂了怎么办。
Agent 执行循环
消息→LLM→工具调用→回复的 ReAct 式循环。
提示词构造与上下文组装
system prompt、上下文拼装、模型看到的到底是什么。
记忆系统
助理怎么记住上下文、记忆文件注入。
技能系统 skills
skill 怎么定义/加载/调用,读 2-3 个真实技能。
扩展系统 extensions
extension 是什么、和 skill 的区别、加载机制。
渠道抽象接口
所有渠道实现的统一 Channel 接口:收/发/归一化。
渠道实现举例
拆 2-3 个真实渠道:连接、收消息、发回复。
消息归一化 + 语音 + Canvas
不同平台消息统一成内部类型、语音收发、Canvas 渲染。
沙箱与运行时
Docker/podman 沙箱怎么安全执行工具/代码。
安全纵深防御
提示词注入防御、审批、密钥管控(detect-secrets)。
原生应用
macOS/iOS/Android 应用(Swift/Kotlin)怎么连 Gateway。
构建系统与插件 SDK
pnpm workspace、tsdown、插件 SDK、测试策略。
部署与收官串讲
docker-compose/fly/render 部署 + 全框架回顾 + 七框架对比。
✅ 全部 20 天已就绪!建议按顺序学。准备好了就从 Day 01 · 项目全景 开始。