官方仓库动态:点右侧获取最新数据
🦞 OpenClaw · 多渠道 AI Agent 网关

从零到精通
玩转 OpenClaw

一份把 OpenClaw「装起来 → 用起来 → 玩明白」的完整学习手册。覆盖安装、渠道、会话、记忆、模型、工具、技能、自动化、多 Agent、部署运维,最后用自测题验收。学完你将能独立部署并调教一个真正会干活的 AI 助手。

14
章节
—
GitHub Stars
2026
最新版本
30+
聊天渠道
📚 官方文档 ⭐ GitHub
🎯 学完本章你能:搞懂 API Key、终端、Node.js 这些词;打开终端跑命令;拿到一个能用的模型 API Key。零基础也能继续往下学。
01

先把这几个词搞懂

API Key
一串像 sk-ant-xxx... 的密码。大模型公司靠它认人、计费。OpenClaw 用它替你调用模型。别泄露、别上传 GitHub。
终端 / 命令行
一个"打字让电脑干活"的黑窗口。Win 叫 PowerShell,Mac/Linux 叫 Terminal。OpenClaw 的命令都在这里敲。
Node.js
一个能跑 JavaScript 的运行时。OpenClaw 是用它写的,所以你得先装它(免费、开源)。
端口(如 18789)
电脑上程序的"门牌号"。OpenClaw Gateway 默认开在 18789 号门,控制台从这门进出。
守护进程 / daemon
一直在后台跑的程序。Gateway 就是个守护进程——开机自启、默默常驻。
WebSocket
一种"长连接"网络协议。控制台、手机节点和 Gateway 之间靠它实时通信。
🧠记不住没关系,遇到再回来查。关键是知道:API Key 是钥匙、终端是嘴、Node 是引擎、Gateway 是大脑。
02

终端怎么打开

🪟
Windows
开始菜单搜 PowerShell,右键"以管理员身份运行"。
🍎
macOS
Launchpad/聚焦搜索 Terminal(终端),回车打开。
🐧
Linux
Ctrl+Alt+T,或应用菜单找 Terminal / Konsole。
✅打开后看到一个光标闪烁的窗口就对了。试着敲 node --version 回车,能显示版本号说明 Node 装好了。
03

去哪搞一个 API Key

提供商注册地特点
Anthropic(Claude)console.anthropic.com官方推荐,理解力强
OpenAIplatform.openai.comGPT 系列
Google(Gemini)aistudio.google.com有免费额度
DeepSeekplatform.deepseek.com便宜,国内友好
Ollama(本地)ollama.com(本机跑)免费、离线、需显卡
💳注册后充值一点余额(多数 $5 起步够学很久),然后在"API Keys / 凭证"页面创建一个 Key 并复制保存——只显示一次,丢了只能重建。
04

这本册子怎么用

  1. 1
    按章节顺序学
    入门 → 进阶 → 高手 → 自测。每章开头有"学完你能",结尾有"动手实验室"。
  2. 2
    动手做,别只看
    每章实验室的任务都真的去做一遍,看到"预期结果"才算过关。
  3. 3
    跟着主线项目走
    每章末尾的"主线进度"会告诉你,你的私人助手 Molty 现在会什么了。
  4. 4
    每章做完点"本章小测"
    巩固检验;全部学完做最后的总测,80% 以上算通关。
🚀准备好了?下一章我们认识 OpenClaw 到底是个啥。
🎯 学完本章你能:说清 OpenClaw 是什么、和普通聊天机器人/Claude Code 的区别、它的 Gateway 架构如何运转。
01

什么是 OpenClaw?

OpenClaw 是一个开源的多渠道 AI Agent 网关——一个常驻的 Gateway 进程,把 WhatsApp、Telegram、Discord、Slack、iMessage 等 30+ 聊天 App 接到一个会调工具、有记忆、能多 Agent 路由的 AI 助手上。由非营利组织 OpenClaw Foundation 开源(MIT),mascot 是太空龙虾 🦞。

⚡
会动手,不只聊天
运行 Shell、读写文件、控制浏览器、调 API。普通聊天机器人只"说",OpenClaw 直接"做"。
💬
渠道优先
用你已有的聊天 App 跟它对话,无需另装 App。Telegram/WhatsApp/Discord… 都能接。
🔒
完全自托管
数据和 API Key 只存你自己的机器。隐私、可控,不依赖第三方服务器。
🧩
可扩展
ClawHub 技能市场、插件系统、多模型、多 Agent。从个人助手到团队客服都能胜任。
02

它怎么工作?(一图看懂)

[消息渠道] Telegram · WhatsApp · Discord · Slack · iMessage · Signal · WebChat · … │ WebSocket :18789(握手 + 鉴权 + 设备配对) ▼ ┌─────────────────────────────────────────────┐ │ Gateway 守护进程(每台主机一个) │ │ · 统领所有渠道连接 · 校验入站帧 · 发事件 │ │ · 路由到 Agent · 会话管理 · 工具执行 │ └─────────────────────────────────────────────┘ │ ├─ Agent 运行时(每会话串行:组上下文→推理→工具→流式输出→存盘) │ ├─ 工作区 SOUL.md / AGENTS.md / MEMORY.md / skills/ ▼ [LLM 提供商] Anthropic · OpenAI · Google · DeepSeek · Ollama(本地) · vLLM · … │ └─► 回复发回原渠道(从哪来回哪,模型不选渠道)
🔑一句话心智模型:你发消息给某个聊天 App → Gateway 接住 → 丢给对应 Agent → Agent 调模型 + 工具干活 → 把结果发回同一个聊天 App。整个回路里 Gateway 是唯一的大脑中枢。
03

和 Claude Code / 普通聊天机器人有啥区别?

能力普通 ChatbotOpenClaw
对话✓✓
执行 Shell / 读写文件✗✓
控制浏览器✗✓
多聊天渠道接入✗✓ 30+
跨会话记忆有限✓ 文件化
切换任意大模型✗✓ 65+
多 Agent 隔离路由✗✓
定时/后台任务✗✓ Cron
数据自托管✗✓
04

学习路线图

Lv1 入门
装好 & 跑通
安装、onboard、连第一个渠道、发首条消息
Lv2 入门
会话 & 上下文
理解 session 路由、main 会话、/status /context /compact
Lv3 进阶
调教人格 & 记忆
SOUL.md 注入灵魂,MEMORY.md 持久记忆
Lv4 进阶
模型 & 工具
配 provider、failover、exec 审批、沙箱
Lv5 高手
技能 & 自动化
装 Skills、写 Cron、Hooks、多 Agent
Lv6 高手
部署 & 运维
Docker、远程访问、安全加固、CLI 精通
Lv7 精通
架构 & 贡献
理解 Gateway 协议、写插件、回馈社区
✅建议按顺序学,每章末尾有「关键点」。全部学完后到最后一章做自测题验收,答对 80% 算通关。
🧪

动手实验室

📝任务:打开官方文档 docs.openclaw.ai 浏览目录;去 GitHub openclaw/openclaw 看 README 与星数。
✅预期结果:脑子里建立"Gateway 统领一切渠道 → Agent 在其中干活 → 模型在外面"的整体画面。
🧩
主线项目 · 私人助手 Molty
主线启动:我们要从零搭一只叫 Molty 的私人 AI 助手,14 章后把它部署上线、每天主动给你干活。
🎯 学完本章你能:把 OpenClaw 装到电脑上、跑通 onboard、在控制台发出第一条消息并收到回复。
01

前置要求

Node.js
22.22.3+ / 24.15+ / 25.9+(推荐 24)。node --version 检查
API Key
任一模型提供商(Anthropic / OpenAI / Google / DeepSeek …),onboard 时会问
内存
最低 4GB,推荐 8GB;跑本地大模型需 16GB+ / GPU
端口
18789(Gateway 默认,仅本机)
02

按系统安装

  1. 1
    装 Node.js 22+
    官网下载 LTS 安装包,或用 winget install OpenJS.NodeJS.LTS。新手最省事的是直接装 OpenClaw Windows Hub 桌面应用(自带运行时)。
  2. 2
    一键安装 OpenClaw
    PowerShell(管理员)
    iwr -useb https://openclaw.ai/install.ps1 | iex
  3. 3
    (可选)WSL2 方案
    想用完整 Linux 体验:wsl --install,进 WSL 后走下面的 Linux 步骤。
  1. 1
    装 Node.js(推荐 Homebrew)
    Terminal
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    brew install node@22
  2. 2
    一键安装 OpenClaw
    bash
    curl -fsSL https://openclaw.ai/install.sh | bash
  3. 3
    或装 macOS 菜单栏 App
    官方有原生菜单栏伴侣应用,适合不想开终端的用户。
  1. 1
    装 Node.js 22+(NodeSource)
    bash
    curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
    sudo apt install -y nodejs
  2. 2
    一键安装 OpenClaw
    bash
    curl -fsSL https://openclaw.ai/install.sh | bash
  3. 3
    (服务器)配 swap + systemd
    小内存 VPS 建议 sudo fallocate -l 4G /swapfile 加 swap;用 systemd 让 Gateway 开机自启、崩溃重启。
03

引导初始化 & 发第一条消息

  1. 1
    运行 onboard 向导
    bash
    openclaw onboard --install-daemon
    向导带你:选模型提供商 → 填 API Key → 配 Gateway → 装守护进程。可选步骤可跳过,之后用 openclaw configure 回来补。
  2. 2
    确认 Gateway 在跑
    bash
    openclaw gateway status   # 应看到监听 18789
  3. 3
    打开控制台发消息
    bash
    openclaw dashboard   # 浏览器打开 http://127.0.0.1:18789
    在 WebChat 里打一句话,收到 AI 回复 = 成功!🎉
⚠️安全第一:OpenClaw 等于给 AI 开了"上帝模式"(能执行命令、读写文件)。新手务必开 HITL 审批,永远别把 18789 直接暴露公网,远程用 SSH 隧道或 Tailscale。
📌关键点:装完三件事——openclaw onboard 引导、openclaw gateway status 验活、openclaw dashboard 发消息。能发能收就算入门成功。
🧪

动手实验室

📝任务:按你系统的步骤装好 → openclaw onboard --install-daemon → openclaw dashboard → 网页里打"你好,介绍下你自己"。
✅预期结果:Gateway 监听 18789;网页控制台能聊天,Molty 给出非套话的自我介绍。
🧩
主线项目 · 私人助手 Molty
Molty 已在你电脑上"活"了——能在网页控制台跟你对话。
🎯 学完本章你能:接通至少一个真实聊天渠道(推荐 Telegram),从手机也能跟 Agent 聊。
01

渠道总览

核心内置 3 个:iMessage、Telegram、WebChat。其余 30+ 都是官方插件,一行命令装:openclaw plugins install @openclaw/<id>,或在 openclaw onboard / openclaw channels add 时按需装。

✈️
Telegram(最快)
只要一个 bot token,无需装插件。新手首选。
🟢
WhatsApp
用 Baileys,需扫码配对,状态存盘较多。最常用。
🎮
Discord / Slack
团队协作场景。支持多服务器、频道、线程。
💬
其余
Signal / Feishu / 飞书 / 企微 Teams / Matrix / QQ / Line / IRC / Nostr …
02

实战:5 分钟接 Telegram

  1. 1
    找 @BotFather 创建机器人
    Telegram 里搜 BotFather → /newbot → 起名 → 拿到 123456:ABC-DEF... 形式的 token。
  2. 2
    写进配置
    ~/.openclaw/openclaw.json
    {
      "channels": {
        "telegram": {
          "enabled": true,
          "botToken": "123456:ABC-DEF...",
          "dmPolicy": "pairing"
        }
      }
    }
  3. 3
    重启 & 私聊
    bash
    openclaw gateway restart
    去 Telegram 找你的 bot 发消息。首次会收到配对码(因为 dmPolicy=pairing),在终端 openclaw pairing approve 批准后即可对话。
03

DM 访问策略(谁能跟它聊)

dmPolicy行为适用
pairing(默认)陌生人首次发消息收到配对码,需审批推荐
allowlist只允许 allowFrom 名单里的人固定用户
open谁都能聊(需 allowFrom:["*"])慎用
disabled关闭 DM只跑群/cron
👥群聊按群隔离成独立会话;通常需要 @提及 机器人才触发回复。Slack/Discord 线程、Telegram 话题各自追加 :thread:<id> / :topic:<id> 到会话 key。
04

多账号:一个渠道多个号

支持多账号的渠道(WhatsApp/Discord/Telegram/Slack…)用 accountId 区分。每个号可路由到不同 Agent:

bash — 登录第二个 WhatsApp 号
openclaw channels login --channel whatsapp --account biz
📌关键点:渠道回复"从哪来回哪",模型不选渠道。dmPolicy 控制谁能聊;多号用 accountId 区分。Telegram 最快上手。
🧪

动手实验室

📝任务:找 @BotFather 建机器人拿 token → 写进配置 → openclaw gateway restart → 手机私聊它,用配对码 approve。
✅预期结果:手机 Telegram 发消息能收到回复;陌生人被配对码挡住。
🧩
主线项目 · 私人助手 Molty
Molty 接入你的 Telegram,出门也能用手机随时叫它。
🎯 学完本章你能:搞懂会话路由,会用 /status /context /compact /new 管理长对话。
01

会话(Session)是什么

OpenClaw 把每条入站消息路由到一个会话。会话是上下文 + 历史 + 并发控制的容器。默认 DM 都汇入一个 main 会话,群按群隔离,cron 每次新建。

来源会话行为
私聊 DM默认共享 main 会话
群聊按群隔离
频道/房间按房间隔离
Cron 定时任务每次运行新建
Webhook按 hook 隔离
02

多用户必须开 DM 隔离

🚨如果多人能给你的 Agent 发消息,务必开 DM 隔离!否则所有人的私聊挤在同一个 main 会话里——Alice 的私事 Bob 全看得到。
~/.openclaw/openclaw.json
{
  "session": { "dmScope": "per-channel-peer" }
}

dmScope 取值:main(默认共享) / per-peer(按人) / per-channel-peer(按渠道+人,推荐) / per-account-channel-peer(再加账号)。

03

必会命令(聊天里直接打)

命令作用
/status看上下文占用、当前模型、开关状态
/context list看注入了哪些文件、各占多少 token
/context detail更细:每个工具 schema、每个 skill 的大小
/compact把旧历史压缩成摘要,腾出上下文空间
/new 或 /reset开新会话(/new <model> 顺便切模型)
/model <ref>切换模型
/think /fast /verbose调思考深度/速度/详尽度
/queue steer|followup|interrupt运行中再来消息时的队列策略
04

上下文 ≠ 记忆

💡上下文 = 当前这次调用发给模型的全部内容(系统提示 + 历史 + 工具结果 + 附件),受模型窗口限制。记忆 = 写到磁盘的文件,可以跨会话重新加载。模型只"记得"被写进文件的东西——没有隐藏状态。
📌关键点:单用户默认 main 会话够用;多人必开 dmScope。/status 看占用,/compact 腾空间,/new 开新篇。上下文是当下,记忆是持久。
🧪

动手实验室

📝任务:跟 Molty 聊一长串后打 /status 看占用 → /context list 看注入 → /compact 压缩 → /new 开新篇。
✅预期结果:看懂上下文占多少、哪些文件被注入、压缩后腾出了空间。
🧩
主线项目 · 私人助手 Molty
你懂得跟 Molty 进行长对话而不"爆上下文"。
🎯 学完本章你能:用 SOUL.md 给 Agent 注入性格,让它说话不像企业客服。
01

工作区文件全景

每个 Agent 一个工作区(默认 ~/.openclaw/workspace/)。首次会话时这些用户可编辑文件被注入系统提示:

~/.openclaw/workspace/ ├── SOUL.md # ★ 人格、语气、边界(决定"它是谁") ├── AGENTS.md # 操作指令 + 规则 + 记忆 ├── USER.md # 用户画像:你是谁、怎么称呼你 ├── IDENTITY.md # Agent 名字 / vibe / emoji ├── TOOLS.md # 工具使用约定(不决定工具是否存在) ├── MEMORY.md # 长期记忆(存在才注入) ├── BOOTSTRAP.md # 首次仪式(完成后删) └── memory/ # 每日笔记 memory/YYYY-MM-DD.md
⬆️注入有上限:单文件 20000 字符、总计 60000 字符,超出截断留标记。所以 MEMORY.md 要保持精炼,详细内容放 memory/*.md 按需检索。
02

SOUL.md:让 Agent 有性格

这是最该认真写的文件。它决定 Agent 听起来像不像个真人。原则:短 > 长,锋利 > 含糊;放语气/态度/边界,别放流水账/安全政策堆砌。

编辑器(点复制后粘贴到 ~/.openclaw/workspace/SOUL.md)
03

其他文件速写

USER.md
"我叫 XX,前端工程师,偏好 TypeScript,作息晚睡晚起。"——让 Agent 认识你
IDENTITY.md
名字/emoji/一句话定位,比 SOUL 更轻
AGENTS.md
操作规则:"每次改代码前先跑测试"、"提交用 conventional commits"
TOOLS.md
工具使用偏好,不是工具开关(开关在 openclaw.json)
📌关键点:SOUL.md 定人格,AGENTS.md 定规则,USER.md 定"你"。三个文件配好,同一个模型 + 同一套工具能表现出完全不同的 Agent。
🧪

动手实验室

📝任务:用章里的编辑器写一份 SOUL.md → 复制 → 存到 ~/.openclaw/workspace/SOUL.md → /new 开新会话试探它。
✅预期结果:Molty 按你写的人设回复,不再"很好的问题、我很乐意"。
🧩
主线项目 · 私人助手 Molty
Molty 有了性格——按你的 SOUL.md 说话,像只靠谱的太空龙虾。
🎯 学完本章你能:让 Agent 跨会话记住你的偏好,懂 memory_search 怎么检索。
01

三类记忆文件

📕
MEMORY.md
长期记忆。持久事实、偏好、决定。每次会话开头加载。
📆
memory/YYYY-MM-DD.md
每日笔记。流水观察、会话摘要。被索引供检索,不每轮注入。
🌀
DREAMS.md
可选。Dreaming 后台整理的回顾摘要,给人审阅。
💬想让 Agent 记住什么?直接说:"记住我喜欢 TypeScript。"它会写进对应文件。没写进文件的 = 不记得,没有隐藏状态。
02

记忆工具与检索

memory_search
混合检索(向量语义 + 关键词)。措辞不同也能找到
memory_get
读指定记忆文件或行范围

配了 embedding provider 即可用。默认用 OpenAI embeddings,也支持 Gemini/Voyage/Mistral/Bedrock/Ollama 等。
后端:内置 SQLite(默认,开箱即用)/ QMD(本地+重排)/ Honcho(跨会话用户建模)/ LanceDB。

bash — 命令行操作记忆
openclaw memory status            # 看索引状态和 provider
openclaw memory search "部署相关"  # 命令行检索
openclaw memory index --force     # 重建索引
03

自动刷写 & Dreaming

🧹自动记忆刷写(默认开):每次 /compact 压缩前,会静默跑一轮提醒 Agent 把重要上下文存盘,防压缩丢信息。可 agents.defaults.compaction.memoryFlush.enabled:false 关闭。
🌙Dreaming(可选,默认关):后台 consolidation——收集短期信号、打分,只把达标的晋升进 MEMORY.md,摘要写进 DREAMS.md 供人审阅。
📌关键点:MEMORY.md 精炼长期,memory/*.md 详细日常;memory_search 跨文件语义检索;压缩前自动刷写防丢;Dreaming 是可选的自动晋升。
🧪

动手实验室

📝任务:跟 Molty 说"记住我喜欢 TypeScript、作息晚睡晚起" → /new 开新会话 → 问"我用什么语言、几点起"。
✅预期结果:新会话里它仍记得你的偏好(已写进 MEMORY.md)。
🧩
主线项目 · 私人助手 Molty
Molty 记得住你了——偏好持久化在 MEMORY.md。
🎯 学完本章你能:配 provider/model、设主备 failover、会 /model 切换、能接本地 Ollama。
01

provider/model 格式

模型引用统一写 provider/model,例如 anthropic/claude-sonnet-4-6、openai/gpt-5、ollama/qwen3:8b。模型名带斜杠(如 OpenRouter 风格)要带 provider 前缀:openrouter/moonshotai/kimi-k2。

~/.openclaw/openclaw.json
{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-6",
        "fallbacks": ["openai/gpt-5.4", "ollama/qwen3:8b"]
      }
    }
  }
}
02

65+ 提供商一览

🅰️
云端 API
Anthropic / OpenAI / Google Gemini / DeepSeek / Qwen / Moonshot / xAI / Groq / Mistral / Cohere / Bedrock …
🏠
本地自托管
Ollama / vLLM / SGLang / LM Studio / llama.cpp / 任意 OpenAI 或 Anthropic 兼容端点
🔀
聚合网关
OpenRouter / LiteLLM / Cloudflare AI Gateway / Vercel AI Gateway / ClawRouter
🎫
订阅/OAuth
OpenAI Codex 订阅、GitHub Copilot、Gemini CLI OAuth 等
03

Failover:主备自动切换

配了 fallbacks 后,主模型请求失败(限流/宕机/超时)会自动按序试备用。还能做鉴权轮转。

🔁聊天里随时 /model <ref> 切模型;openclaw models list 看全部可用;openclaw status --usage 看 Anthropic/OpenAI/Codex 等的配额剩余。
04

本地模型:接 Ollama

  1. 1
    装 Ollama 并拉模型
    bash
    ollama pull qwen3:8b   # 或 llama3.3 / deepseek-r1 等
  2. 2
    配 provider(Ollama 默认跑在 11434)
    ~/.openclaw/openclaw.json
    {
      "models": { "providers": { "ollama": { "baseUrl": "http://127.0.0.1:11434" } } }
    }
  3. 3
    混合策略(推荐)
    日常用云端快模型省钱,深度任务用大模型,离线兜底用本地。靠 failover 串起来。
⏱️本地模型慢:把 models.providers.ollama.timeoutSeconds 调高(如 600),否则会被空闲看门狗误杀。
📌关键点:provider/model 格式;配 fallbacks 抗故障;本地用 Ollama 注意超时;/model 随时切。
🧪

动手实验室

📝任务:openclaw models list 看可用 → 配 fallbacks → /model 切一个试试 →(可选)接 Ollama。
✅预期结果:能切换模型;主模型挂了自动用备用。
🧩
主线项目 · 私人助手 Molty
Molty 用上了合适的模型,主备 failover,不怕哪家 API 抽风。
🎯 学完本章你能:懂内置工具分类,会用 allow/deny 收紧权限、开 exec 审批、配沙箱。
01

内置工具一览

类别代表工具用途
运行时exec / process / terminal跑命令、管进程
文件read / write / edit / apply_patch读写改文件
浏览器browser自动化网页操作
网络web_search / web_fetch搜索、抓取网页
消息message发回复/渠道动作
媒体image / image_generate / tts看图、生图、配音
自动化cron / heartbeat_respond定时、心跳
会话sessions_* / subagents委派、编排、查状态
🔍工具能否被模型看到,要过五关:全局配置 → 每 Agent 配置 → 渠道策略 → provider 限制 → 沙箱/插件可用性。
02

工具策略:allow / deny

~/.openclaw/openclaw.json
{
  "agents": {
    "entries": {
      "family": {
        "tools": {
          "allow": ["read", "exec", "sessions_list"],
          "deny": ["write", "edit", "browser", "cron"]
        }
      }
    }
  }
}
不可信 Agent(比如家庭群机器人)只放最小工具集。tools.allow/deny 控的是工具,不是 skill。
03

Exec 审批 & 沙箱

🛡️Exec approvals:给危险命令加审批门——Agent 要跑 rm/sudo/git push 时先问你(HITL)。渠道有原生按钮就用按钮,否则用 /approve。
📦沙箱:用 Docker/Podman 把不可信 Agent 关进容器,文件/进程隔离。sandbox.mode: "all" 总是沙箱;scope: "agent" 每 Agent 一个容器。
📌关键点:工具过五关才可见;allow/deny 收紧权限;危险命令走 exec approvals;不可信 Agent 进沙箱。安全是"洋葱式"多层防御。
🧪

动手实验室

📝任务:让 Molty 执行一个命令(如 ls)体验 exec → 给危险命令配审批 →(可选)给家庭 Agent 进沙箱。
✅预期结果:Molty 会动手跑命令;危险操作先问你;不可信 Agent 被关进容器。
🧩
主线项目 · 私人助手 Molty
Molty 会动手了——能跑命令、开审批、必要时进沙箱。
🎯 学完本章你能:从 ClawHub 装技能、懂 Skills 加载层级、会自己写一个 SKILL.md。
01

Tools / Skills / Plugins 三层

🔧
Tools 工具
可调用的动作(exec/browser/…)。模型用它"动手"。
📘
Skills 技能
SKILL.md 指令包,教 Agent"怎么干"。按需 read 加载,不占每轮上下文。
🧩
Plugins 插件
加新工具/渠道/provider/语音/Hook。从 ClawHub/npm/git 装。
02

ClawHub 技能市场(按类筛选)

📝
每日简报
早上自动汇总日历、天气、待办、新闻。
🗂️
PARA 记忆
按项目/领域/资源/归档组织跨会话知识。
🐛
代码审查
PR 一键 review,给改进建议。
🧪
测试生成
读代码自动写 pytest/jest 用例。
✍️
文案助手
产品页/推文/邮件文案生成与改写。
🎨
海报设计
生图 + 排版,输出营销视觉。
📧
邮件 triage
自动分类、摘要、起草回复。
🤝
会议纪要
录音转写 + 提炼行动项。
03

装/管/写

bash
openclaw skills search 日历        # 搜技能
openclaw skills install @oc/daily  # 装
openclaw plugins list              # 看已装插件
openclaw plugins install @openclaw/discord

Skills 加载层级(高优先在前):工作区 skills/ → 项目 .agents/skills → 个人 ~/.agents/skills → 托管 ~/.openclaw/skills → 内置。Skill 用 frontmatter 的 flat name 暴露,放嵌套目录只是组织。

📌关键点:Tools 动手、Skills 教方法、Plugins 加能力。技能按需 read 不常驻上下文;自己写 SKILL.md 放工作区 skills/ 即生效。
🧪

动手实验室

📝任务:openclaw skills search/install 装一个技能 → 在工作区 skills/ 下写一个最小 SKILL.md(如"代码审查")→ 试用它。
✅预期结果:装的技能被识别;自写的 skill 能被 Agent read 加载并照它干活。
🧩
主线项目 · 私人助手 Molty
Molty 装上了技能包,会做更多专门的事。
🎯 学完本章你能:用 Cron 让 Agent 定时主动干活,懂 Heartbeat/Hooks/Webhooks。
01

四种自动化手段

⏰
Cron 定时任务
定时跑 Agent(每天早报、每小时巡检)。
💓
Heartbeat 心跳
周期性唤醒默认 Agent,做主动巡检/提醒。
🪝
Hooks 钩子
内部(命令/生命周期事件)+ 插件(工具/消息/会话生命周期)。
🌐
Webhooks
外部事件触发(Gmail PubSub 等)。
02

实战:每天早 8 点发日报

bash
openclaw cron add \
  --name "早报" \
  --schedule "0 8 * * *" \
  --prompt "给我今天的日历、天气、待办和重要新闻简报" \
  --channel telegram
openclaw cron list/run/rm/enable/disable 管理。重要:让 Agent 干"以后的事"(提醒、轮询)用 cron,别让它 exec sleep 死循环——系统提示词已明确这么引导。
03

常用插件 Hook

Hook触发时机
before_prompt_build组装提示词前,注入上下文
before_tool_call调工具前,可拦截/改参数
agent_end一轮结束,拿到最终消息
message_received/sent收/发消息时
session_start/end会话边界
📌关键点:未来/周期任务用 cron;外部事件用 webhook;改运行时行为用 hook;别用 exec sleep 轮询。
🧪

动手实验室

📝任务:openclaw cron add 一个"每天早 8 点发简报"(日历/天气/待办)的任务到你的 Telegram。
✅预期结果:到点 Molty 主动发来简报,不用你问。
🧩
主线项目 · 私人助手 Molty
Molty 每天早 8 点主动给你发日报——它开始"有主动性"了。
🎯 学完本章你能:在一个 Gateway 跑多个隔离 Agent,懂 agent/account/binding 三层和路由优先级。
01

三层概念

agentId
一个"大脑"——独立工作区 + agentDir + 会话库 + 人格
accountId
一个渠道账号实例(如 WhatsApp 的 personal / biz 两个号)
binding
把 (渠道, 账号, peer) 路由到某个 agentId
➕加 Agent:openclaw agents add work --workspace ~/.openclaw/workspace-work。每个 Agent 独立人格、独立记忆、独立工具策略。
02

路由优先级(最具体胜出)

精确 peer › 父 peer › peer 通配 › guild+roles › guild › team › account › channel › 默认 agent

同 tier 内按配置顺序,第一个匹配的赢。binding 里写了多个 match 字段要全部满足(AND)。

03

典型玩法

~/.openclaw/openclaw.json — WhatsApp日常 + Telegram深度
{
  "agents": {
    "list": [
      { "id": "chat", "workspace": "~/.openclaw/workspace-chat",
        "model": { "primary": "anthropic/claude-sonnet-4-6" } },
      { "id": "deep", "workspace": "~/.openclaw/workspace-deep",
        "model": { "primary": "anthropic/claude-opus-4-6" } }
    ]
  },
  "bindings": [
    { "agentId": "chat", "match": { "channel": "whatsapp", "accountId": "*" } },
    { "agentId": "deep", "match": { "channel": "telegram", "accountId": "*" } }
  ]
}
⛔别复用 agentDir——会导致 auth/会话状态串台。每个 Agent 必须独立 agentDir。
📌关键点:agentId=大脑、accountId=号、binding=路由。最具体优先;每 Agent 可独立沙箱/工具/记忆。
🧪

动手实验室

📝任务:openclaw agents add work → 配一个工作助手(不同人格/模型)→ binding 把某渠道/群路由给它。
✅预期结果:两个 Agent 各管各的,记忆/人格/会话完全隔离。
🧩
主线项目 · 私人助手 Molty
你又造了一个"工作助手",和 Molty 各司其职、互不串台。
🎯 学完本章你能:会用 openclaw.json 配置体系、远程安全访问、Docker 部署。
01

配置体系

配置在 ~/.openclaw/openclaw.json(JSON5,支持注释)。严格校验——未知键/类型错 Gateway 直接拒启,只有诊断命令可用。

改配置
openclaw onboard / openclaw configure / openclaw config get|set|unset / 网页 Config 标签 / 直接编辑
热重载
改文件自动生效;校验失败则保留旧配置,错误存 .rejected.<ts>
修复
openclaw doctor --fix 诊断+修复,保留 last-known-good
两桶规则
根级放基础设施,agents.defaults 放 Agent 行为
02

远程访问(别裸暴露端口)

SSH 隧道
ssh -N -L 18789:127.0.0.1:18789 user@gateway-host

或用 Tailscale 组私有网络,更省心。远程仍需握手 + auth token。

03

Docker 部署

docker-compose.yml(节选)
services:
  openclaw:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    ports:
      - "127.0.0.1:18789:18789"   # 只绑本机!
    volumes:
      - ./data:/root/.openclaw     # 持久化配置/工作区/会话
    environment:
      - TZ=Asia/Shanghai
🔒生产环境配 Nginx 反向代理 + HTTPS,gateway.auth 开共享密钥或 Tailscale 鉴权,别用 mode:"none" 暴露公网。
04

移动节点 & 多平台

📱
iOS / Android 节点
配对后可拍照、录屏、定位、语音、Canvas 画布。
💻
macOS / Windows
菜单栏 App / Windows Hub,原生体验。
🌐
WebChat / Control UI
浏览器即用,openclaw dashboard 打开。
📌关键点:配置严格校验+热重载;远程用 SSH/Tailscale;Docker 只绑 127.0.0.1;移动节点扩展 Agent 的"感官"。
🧪

动手实验室

📝任务:写一份 docker-compose.yml 把 Molty 容器化 → 只绑 127.0.0.1 → 用 SSH 隧道或 Tailscale 远程。
✅预期结果:Molty 在容器里 7×24 跑,远程能安全访问,配置改了热重载。
🧩
主线项目 · 私人助手 Molty
Molty 部署上线了——7×24 在线、远程安全可达。
🎯 学完本章你能:能独立排错、会写自己的 Skill/插件、懂 Swarm 编排、看懂 Gateway 协议。
01

① 写一个自己的 Skill

Skill 就是一个 SKILL.md 指令包:frontmatter(名字、描述、触发场景)+ 正文步骤。Agent 在匹配场景时按需 read 它,照着干。

~/.openclaw/workspace/skills/code-review/SKILL.md
---
name: code-review
description: 审查 Git 改动,给出可执行的改进建议。在用户提交 PR 或说"review 一下"时使用。
---

# 代码审查流程
1. 先跑 git diff 看全部改动
2. 按风险排序:安全 > 数据丢失 > 逻辑 > 风格
3. 每条问题给:文件:行号 + 问题 + 具体改法
4. 别啰嗦风格问题,除非会引发 bug
5. 最后一句总评:能不能合并
📂放到工作区 skills/<名字>/SKILL.md 即自动加载(无需重启)。Agent 在系统提示里看到它的"名字+描述+路径",用到时自己 read 全文。
02

② 用 Sub-agents / Swarm 编排多任务

一个大任务拆成几个独立子任务并行干(如:调研 + 实现 + 验证),用 sessions_spawn 派子 agent——它是推式完成,干完自动回来汇报,不用你轮询。

🔀何时用:子任务彼此独立、可并行。耦合紧、简单的活就别拆,主 agent 自己干更快。agents.defaults.subagents.delegationMode 设 "prefer" 可让主 agent 更倾向委派。
对 Molty 说
帮我调研 3 个竞品的功能、同时实现一个 demo 页面、再写测试。
三个子任务并行,完成后汇总结果给我。
03

③ 写一个最小插件

插件能加工具 / 渠道 / 模型 provider / Hook。比 Skill 更底层——Skill 是提示词,插件是真代码。

bash — 脚手架 + 注册一个工具
openclaw plugins init my-plugin     # 生成脚手架
# 在 src/index.ts 里:
#   api.registerTool("hello", { ...schema }, async (params) => {
#     return { text: "你好," + params.name };
#   });
openclaw plugins build
openclaw plugins install ./dist       # 装本地包
📦插件由 manifest(声明提供哪些工具/钩子)+ 代码组成。详见官方 plugins/sdk-overview、plugins/building-plugins。
04

④ 读懂 Gateway 协议

想写自己的客户端、做深度集成,得懂协议底层:

传输
WebSocket(默认 127.0.0.1:18789),文本帧 + JSON
握手
第一帧必须是 connect,含设备身份 + auth;否则直接断
三类帧
req→res(请求响应)、event(服务端推送:agent/chat/presence/health…)
校验
TypeBox 定义 schema → 生成 JSON Schema → 生成 Swift 模型
幂等
send/agent 需带幂等 key,便于安全重试
🔌知道这些你就能:写个脚本直接调 Gateway、把 OpenClaw 嵌进自己的系统、做自定义前端。
05

⑤ Prompt Caching 省钱

💰OpenClaw 的系统提示已按缓存边界设计:稳定内容(基础提示、AGENTS.md、SOUL.md、MEMORY.md、skills 列表)在边界上方,易变内容(当前消息、渠道上下文、运行时信息)在下方。稳定部分能命中 provider 的前缀缓存,重复轮次大幅省钱。
⬆️想多命中缓存:别每轮改系统提示、保持 AGENTS/SOUL/MEMORY 稳定、把易变信息放进用户消息而非系统提示。
🧪

动手实验室

📝任务:故意改坏配置体验 doctor --fix → 写一个自己的 Skill →(进阶)用 sub-agents 编排一个多步任务。
✅预期结果:遇到问题能自查自修;能扩展 OpenClaw 能力。
🧩
主线项目 · 私人助手 Molty
全线打通:你已能独立部署、调教、扩展一只真正会干活的 AI 助手——出师!
🎯 附录:命令速查表 + 常见问题速答 + 诊断工具,遇到问题随时翻。
01

必背命令速查

命令作用
openclaw onboard引导初始化
openclaw gateway status|start|stop|restart管 Gateway
openclaw status总览:会话、模型、健康
openclaw doctor [--fix]诊断 / 自动修复
openclaw config get|set|unset <path>读写配置
openclaw agents list --bindings看 Agent 和路由
openclaw channels status --probe渠道连通性
openclaw sessions --json看所有会话
openclaw models list|set|fallbacks管模型
openclaw skills|plugins ...管技能/插件
openclaw cron|tasks ...管定时/任务
openclaw logs看日志
openclaw backup create|verify备份
openclaw update升级
🎨全局 flag:--dev(隔离到 ~/.openclaw-dev)、--profile <name>(多实例)、--container <name>(在容器里跑)、--json(机器可读输出)。
02

常见问题速答

❓ Gateway 起不来 / 改配置后报错
配置严格校验。跑 openclaw doctor 看具体错误,openclaw doctor --fix 自动修复,会回退到 last-known-good。
❓ 模型返回 401 / 限流
API Key 过期或超额。openclaw status 看配额,openclaw models auth 重登,或配 fallbacks 自动切备用。
❓ 本地 Ollama 超时被杀
本地模型慢。调高 models.providers.ollama.timeoutSeconds(如 600),并保证 agent 运行时超时不低于它。
❓ 会话"卡住"没回复
可能 session lane 堵了。诊断会按 long_running/stalled/stuck 分类并自动恢复;必要时 openclaw sessions cleanup。
❓ 多人私聊内容串了
没开 DM 隔离。设 session.dmScope: "per-channel-peer" 后重启。
❓ 渠道收不到消息
openclaw channels status --probe 查连通;检查 token/允许名单;openclaw logs 看入站事件。
03

进阶:诊断与可观测

📊审计账本(仅元数据):openclaw audit 看操作溯源,不含 prompt/消息/工具参数。可观测:支持 OpenTelemetry、Prometheus 指标导出。
🏆通关建议:能独立完成「安装 → 接渠道 → 调 SOUL/记忆 → 配模型+failover → 开 cron → 多 Agent → Docker 部署 → doctor 排错」全链路,就算从入门到精通。去下一章自测验收吧。
✅

自测验收(点选项即出答案)

覆盖入门 / 进阶 / 精通三档,答完看总分。题库可持续扩充(改 QUIZ 数组即可)。

0 / 0 还没作答,开始吧 👇
📚答错的不妨回前面对应章节复习。题目会持续增加,欢迎告诉我你想加哪个方向(安全 / 插件开发 / 具体渠道 / 性能调优 …)。