首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从零部署 OpenClaw —— 实战:接入 WhatsApp + 创建自定义 Skill

从零部署 OpenClaw —— 实战:接入 WhatsApp + 创建自定义 Skill

作者头像
jack.yang
发布2026-03-16 11:26:43
发布2026-03-16 11:26:43
1.8K0
举报
文章被收录于专栏:openclaw系列openclaw系列

关键词:快速上手|WhatsApp 集成|自定义 Skill|Web UI|扫码登录|本地开发

理论终需落地。本篇将带您完成一次完整的 OpenClaw 部署与扩展实战:

  1. 环境准备:安装 Node.js、pnpm、Docker
  2. 启动核心服务:配置并运行 OpenClaw
  3. 接入 WhatsApp:通过 Baileys 实现扫码登录
  4. 创建自定义 Skill:编写 weather/SKILL.md 查询天气
  5. Web UI 测试:扫码绑定、发送指令、验证结果

无论您是开发者、运维还是技术爱好者,只需 30 分钟,即可拥有一个可对话、可执行、可扩展的 AI 助手。

一、环境准备

系统要求

  • Linux / macOS(Windows WSL2 支持)
  • Node.js ≥ 20(推荐 20.12+)
  • pnpm ≥ 8
  • Docker ≥ 24.0(用于沙箱执行)

安装依赖

代码语言:javascript
复制
# 1. 安装 Node.js(以 macOS 为例)
brew install node@20
echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# 2. 安装 pnpm
npm install -g pnpm

# 3. 安装 Docker Desktop 并启动
# https://www.docker.com/products/docker-desktop/

验证:node -vv20.xpnpm -v8.xdocker --version24.x

二、部署 OpenClaw 核心

1. 克隆仓库

代码语言:javascript
复制
git clone https://github.com/your-org/openclaw.git
cd openclaw

2. 安装依赖

代码语言:javascript
复制
pnpm install

3. 初始化配置

代码语言:javascript
复制
cp config.example.yaml config.yaml

4. 启用多渠道(可选)

编辑 config.yaml,启用 WhatsApp 和 Telegram:

代码语言:javascript
复制
channels:
  whatsapp:
    enabled: true
    # accountSid 和 authToken 留空,使用 Baileys 直连(无需 Twilio)
  telegram:
    enabled: true
    botToken: "YOUR_TELEGRAM_BOT_TOKEN"  # 从 @BotFather 获取
  web:
    enabled: true
    port: 8080

注意:OpenClaw 默认使用 Baileys 直连 WhatsApp,无需 Twilio 费用。

三、启动服务

代码语言:javascript
复制
pnpm start

首次启动将:

  • 扫描 skills/ 目录(初始为空)
  • 启动 WebSocket 服务(Web UI)
  • 监听 WhatsApp 连接(等待扫码)

终端输出:

代码语言:javascript
复制
OpenClaw started on http://localhost:8080
Channels: web (active), whatsapp (waiting for login)
Skills loaded: 0

四、接入 WhatsApp:扫码登录

1. 访问 Web UI

打开浏览器:http://localhost:8080

2. 绑定 WhatsApp

  • 点击左侧边栏 “Connect WhatsApp”
  • 页面显示 QR 码(由 Baileys 动态生成)

3. 手机操作

  • 打开 WhatsApp → 设置 → Linked DevicesLink a Device
  • 扫描页面 QR 码

4. 成功连接

终端日志:

代码语言:javascript
复制
WhatsApp connected for wa:+1234567890

Web UI 自动跳转至聊天界面

注意:若提示“Too many devices”,请先在手机端移除旧链接设备。

五、开发第一个 Skill:查询天气

我们将创建一个无需 API Key 的本地天气技能(使用 curl wttr.in)。

1. 创建技能目录

代码语言:javascript
复制
mkdir -p skills/weather

2. 编写 SKILL.md

代码语言:javascript
复制
nano skills/weather/SKILL.md

内容如下:

代码语言:javascript
复制
---
name: get_weather
description: 查询指定城市的当前天气
parameters:
  - name: city
    type: string
    required: true
    description: 城市名(英文,如 'Shanghai')
dependencies:
  - type: command
    name: curl
os: ["linux", "darwin"]
examples:
  - input: "今天上海天气如何?"
    args: { city: "Shanghai" }
---

## 执行逻辑

```bash
curl -s "wttr.in/{{ city }}?format=3"

数据来源:wttr.in(开源天气服务)

代码语言:javascript
复制
### 3. 保存即生效
- OpenClaw 开发模式自动热重载
- 终端日志:
  ```log
  Loaded new skill: get_weather

六、Web UI 测试端到端流程

1. 发送指令

在 Web UI 聊天框输入:

“今天北京天气如何?”

2. 观察审批流程

AI 识别需调用 get_weather 技能

弹出审批卡片:

代码语言:javascript
复制
[?] 执行命令:
    curl -s "wttr.in/Beijing?format=3"
[Approve] [Deny]

3. 点击 Approve

  • OpenClaw 在 Docker 沙箱中执行命令
  • 返回结果: Beijing: +22°C

4. 验证日志(终端)

代码语言:javascript
复制
→ chat.sendMessage (web_user123)
→ tool.call.request (runId=r-abc) → get_weather
← tool.call.result [820ms] ✓

全程无需代码重启,文档即功能

七、扩展:启用 Telegram(可选)

若已配置 Telegram Bot Token:

  1. 在 Telegram 中向您的 Bot 发送 /start
  2. OpenClaw 自动创建会话 tg:123456789
  3. 发送“天气 上海”,同样触发 get_weather 技能

八、常见问题排查

image
image

九、下一步:构建您的专属助手

现在,您已掌握:

  • 部署 OpenClaw 核心
  • 接入真实通信渠道(WhatsApp/Telegram/Web)
  • 通过纯 Markdown 扩展 AI 能力

接下来,您可以:

  • 添加更多 Skill(如 restart_server.SKILL.md
  • 配置远程节点(管理云服务器)
  • 启用记忆图谱(长期上下文)

下一篇预告:第 9 篇:长期记忆与会话同步 —— 如何让 AI “记住”跨天对话

您的 AI 助手,从此由您定义。若感兴趣可以浏览本书其他章节内容:

第 1 篇:OpenClaw 是什么?—— 工业级 AI 智能体网关的定位与愿景

第 2 篇:三位一体架构详解 —— 网关层、协议层、智能体系如何协同工作

第 3 篇:ACP 协议设计哲学 —— 为什么 OpenClaw 选择自研 Agent Client Protocol

第 4 篇:启动与配置体系 —— openclaw.mjsconfig.yaml 与环境变量管理

第 5 篇:run.ts 上篇 —— 模型调度、账号轮询与上下文守护机制

第 6 篇:run.ts 下篇 —— 故障转移、重试策略与结果封装

第 7 篇:记忆系统基石 —— memory-search.ts 中的 RAG 配置解析与合并逻辑

第 8 篇:向量检索实战 —— OpenClaw 如何实现混合搜索(向量 + 全文)

第 9 篇:长期记忆与会话同步 —— 如何让 AI “记住”跨天对话

第 10 篇:exec.ts 上篇 —— 安全执行 Shell 命令的三层隔离模型

第 11 篇:exec.ts 下篇 —— 用户审批、后台任务与权限提升控制

第 12 篇:process.ts —— AI 如何像开发者一样管理后台进程

第 13 篇:安全边界设计 —— OpenClaw 如何防范 AI 滥用系统权限

第 14 篇:server-channels.ts —— 渠道插件生命周期管理器

第 15 篇:WhatsApp 深度集成 —— session.ts 与 Baileys 的健壮连接管理

第 16 篇:消息流入中枢 —— monitor-inbox.ts 如何解析、去重与防抖

第 17 篇:聊天 RPC 接口 —— chat.ts 中的历史查询、发送与中止逻辑

第 18 篇:Skills System —— 为什么“文档即工具”是 OpenClaw 的扩展灵魂

第 19 篇:可观测性工程 —— ws-log.ts 如何让 WebSocket 日志可读可用

第 20 篇:从零部署 OpenClaw —— 实战:接入 WhatsApp + 创建自定义 Skill

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境准备
    • 系统要求
    • 安装依赖
  • 二、部署 OpenClaw 核心
    • 1. 克隆仓库
    • 2. 安装依赖
    • 3. 初始化配置
    • 4. 启用多渠道(可选)
  • 三、启动服务
  • 四、接入 WhatsApp:扫码登录
    • 1. 访问 Web UI
    • 2. 绑定 WhatsApp
    • 3. 手机操作
    • 4. 成功连接
  • 五、开发第一个 Skill:查询天气
    • 1. 创建技能目录
    • 2. 编写 SKILL.md
  • 六、Web UI 测试端到端流程
    • 1. 发送指令
    • 2. 观察审批流程
    • 3. 点击 Approve
    • 4. 验证日志(终端)
  • 七、扩展:启用 Telegram(可选)
  • 八、常见问题排查
  • 九、下一步:构建您的专属助手
    • 下一篇预告:第 9 篇:长期记忆与会话同步 —— 如何让 AI “记住”跨天对话
    • 第 1 篇:OpenClaw 是什么?—— 工业级 AI 智能体网关的定位与愿景
    • 第 2 篇:三位一体架构详解 —— 网关层、协议层、智能体系如何协同工作
    • 第 3 篇:ACP 协议设计哲学 —— 为什么 OpenClaw 选择自研 Agent Client Protocol
    • 第 4 篇:启动与配置体系 —— openclaw.mjs、config.yaml 与环境变量管理
    • 第 5 篇:run.ts 上篇 —— 模型调度、账号轮询与上下文守护机制
    • 第 6 篇:run.ts 下篇 —— 故障转移、重试策略与结果封装
    • 第 7 篇:记忆系统基石 —— memory-search.ts 中的 RAG 配置解析与合并逻辑
    • 第 8 篇:向量检索实战 —— OpenClaw 如何实现混合搜索(向量 + 全文)
    • 第 9 篇:长期记忆与会话同步 —— 如何让 AI “记住”跨天对话
    • 第 10 篇:exec.ts 上篇 —— 安全执行 Shell 命令的三层隔离模型
    • 第 11 篇:exec.ts 下篇 —— 用户审批、后台任务与权限提升控制
    • 第 12 篇:process.ts —— AI 如何像开发者一样管理后台进程
    • 第 13 篇:安全边界设计 —— OpenClaw 如何防范 AI 滥用系统权限
    • 第 14 篇:server-channels.ts —— 渠道插件生命周期管理器
    • 第 15 篇:WhatsApp 深度集成 —— session.ts 与 Baileys 的健壮连接管理
    • 第 16 篇:消息流入中枢 —— monitor-inbox.ts 如何解析、去重与防抖
    • 第 17 篇:聊天 RPC 接口 —— chat.ts 中的历史查询、发送与中止逻辑
    • 第 18 篇:Skills System —— 为什么“文档即工具”是 OpenClaw 的扩展灵魂
    • 第 19 篇:可观测性工程 —— ws-log.ts 如何让 WebSocket 日志可读可用
    • 第 20 篇:从零部署 OpenClaw —— 实战:接入 WhatsApp + 创建自定义 Skill
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档