关键词:快速上手|WhatsApp 集成|自定义 Skill|Web UI|扫码登录|本地开发
理论终需落地。本篇将带您完成一次完整的 OpenClaw 部署与扩展实战:
weather/SKILL.md 查询天气无论您是开发者、运维还是技术爱好者,只需 30 分钟,即可拥有一个可对话、可执行、可扩展的 AI 助手。
# 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 -v→v20.x,pnpm -v→8.x,docker --version→24.x
git clone https://github.com/your-org/openclaw.git
cd openclawpnpm installcp config.example.yaml config.yaml编辑 config.yaml,启用 WhatsApp 和 Telegram:
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 费用。
pnpm start首次启动将:
skills/ 目录(初始为空)终端输出:
OpenClaw started on http://localhost:8080
Channels: web (active), whatsapp (waiting for login)
Skills loaded: 0打开浏览器:http://localhost:8080
终端日志:
WhatsApp connected for wa:+1234567890Web UI 自动跳转至聊天界面
注意:若提示“Too many devices”,请先在手机端移除旧链接设备。
我们将创建一个无需 API Key 的本地天气技能(使用 curl wttr.in)。
mkdir -p skills/weatherSKILL.mdnano skills/weather/SKILL.md内容如下:
---
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(开源天气服务)
### 3. 保存即生效
- OpenClaw 开发模式自动热重载
- 终端日志:
```log
Loaded new skill: get_weather在 Web UI 聊天框输入:
“今天北京天气如何?”
AI 识别需调用 get_weather 技能
弹出审批卡片:
[?] 执行命令:
curl -s "wttr.in/Beijing?format=3"
[Approve] [Deny]→ chat.sendMessage (web_user123)
→ tool.call.request (runId=r-abc) → get_weather
← tool.call.result [820ms] ✓全程无需代码重启,文档即功能!
若已配置 Telegram Bot Token:
/starttg:123456789get_weather 技能
现在,您已掌握:
接下来,您可以:
restart_server.SKILL.md)您的 AI 助手,从此由您定义。若感兴趣可以浏览本书其他章节内容:
openclaw.mjs、config.yaml 与环境变量管理run.ts 上篇 —— 模型调度、账号轮询与上下文守护机制run.ts 下篇 —— 故障转移、重试策略与结果封装memory-search.ts 中的 RAG 配置解析与合并逻辑exec.ts 上篇 —— 安全执行 Shell 命令的三层隔离模型exec.ts 下篇 —— 用户审批、后台任务与权限提升控制process.ts —— AI 如何像开发者一样管理后台进程server-channels.ts —— 渠道插件生命周期管理器session.ts 与 Baileys 的健壮连接管理monitor-inbox.ts 如何解析、去重与防抖chat.ts 中的历史查询、发送与中止逻辑ws-log.ts 如何让 WebSocket 日志可读可用