如果你想用 OpenClaw 做 WhatsApp 客服自动回复,这篇教程会从头到尾讲清楚怎么配置、怎么测试、怎么上线。
很多人知道 OpenClaw 能连 WhatsApp,但不知道具体怎么设置才能让它自动回复客户消息。这篇文章不讲概念,直接讲操作:从安装 WhatsApp 插件、扫码连接、配置自动回复规则,到最后测试上线,每一步都有对应的命令和配置示例。
这篇教程适合谁?
- 想用 WhatsApp 做客服,但不想 24 小时盯着手机
- 已经装好了 OpenClaw,想把 WhatsApp 接进来
- 想让 AI 自动回复客户常见问题
- 想控制哪些人能触发自动回复、哪些不能
如果你还没装 OpenClaw,先看这篇:OpenClaw 怎么做 SEO 关键词研究?(了解 OpenClaw 的基本用法)。
开始前需要准备什么?
- 一台运行 OpenClaw 的设备(本地电脑或服务器都行)
- 一个 WhatsApp 账号(建议用独立号码,不要用私人号)
- Node.js 22 或 24(OpenClaw 运行环境)
- OpenClaw 已安装并能正常启动
如果你用私人号码也可以,但建议先测试,确认不会影响正常聊天。
第一步:安装 WhatsApp 插件
OpenClaw 的 WhatsApp 功能是通过插件实现的,不是内置的。所以第一步是安装插件。
打开终端,运行:
openclaw plugins install clawhub:@openclaw/whatsapp
如果你是第一次设置 OpenClaw,也可以在 onboarding 流程里直接选择 WhatsApp:
openclaw onboard
系统会问你要连接哪些渠道,选 WhatsApp 就会自动安装插件。
第二步:扫码连接 WhatsApp
插件装好后,需要把你的 WhatsApp 账号和 OpenClaw 连起来。方式和 WhatsApp Web 一样——扫二维码。
运行:
openclaw channels login --channel whatsapp
终端会显示一个二维码,用手机 WhatsApp 扫描即可。
如果你有多个 WhatsApp 账号(比如工作号和私人号),可以指定账号名:
openclaw channels login --channel whatsapp --account work
扫码成功后,OpenClaw 就接管了这个 WhatsApp 的消息收发。
第三步:配置谁能触发自动回复
默认情况下,OpenClaw 不会回复所有人的消息。你需要设置访问策略,决定哪些号码能触发 AI 回复。

打开配置文件 ~/.openclaw/openclaw.json,添加 WhatsApp 配置:
{
"channels": {
"whatsapp": {
"dmPolicy": "allowlist",
"allowFrom": ["+8613800138000", "+8613900139000"],
"groupPolicy": "allowlist",
"groupAllowFrom": ["+8613800138000"]
}
}
}
这段配置的意思是:
- dmPolicy: “allowlist” — 只有白名单里的号码私聊时才触发回复
- allowFrom — 白名单号码列表(用 E.164 格式,带国家码)
- groupPolicy: “allowlist” — 群聊也只响应白名单成员
- groupAllowFrom — 群聊白名单
如果你想让所有人都能触发回复(比如做公开客服),可以改成:
{
"channels": {
"whatsapp": {
"dmPolicy": "open"
}
}
}
注意:开放模式适合测试,正式上线建议用白名单或 pairing 模式,避免被陌生人滥用。
第四步:设置 Pairing 模式(可选但推荐)
如果你不想手动维护白名单,可以用 pairing 模式。这种模式下,新用户第一次发消息时会收到一个配对请求,你审批后才会开始自动回复。
{
"channels": {
"whatsapp": {
"dmPolicy": "pairing"
}
}
}
管理配对请求的命令:
# 查看待审批的配对请求
openclaw pairing list whatsapp
# 批准某个请求
openclaw pairing approve whatsapp <CODE>
配对请求 1 小时后过期,最多同时存在 3 个待审批请求。
第五步:启动 Gateway 并测试
配置完成后,启动 OpenClaw Gateway:
openclaw gateway
然后用白名单里的号码给你的 WhatsApp 发一条消息,比如”你好”。如果一切正常,AI 会在几秒内自动回复。
如果没有回复,检查这几个点:
- WhatsApp 是否还在连接状态(终端有没有断开提示)
- 发消息的号码是否在 allowFrom 列表里
- Gateway 是否正常运行(终端有没有报错)
- AI 模型 API key 是否配置正确
第六步:自定义回复风格和内容
默认情况下,OpenClaw 会用你配置的 AI 模型直接回复。如果你想让回复更像客服(而不是通用 AI),可以通过 agent 配置来调整:
- 设置系统提示词:告诉 AI 它是客服,应该怎么回答
- 限制回复范围:只回答产品相关问题,其他问题礼貌拒绝
- 设置回复语言:强制用中文或英文回复
这些都在 openclaw.json 的 agents 配置里设置,具体方法会在后续教程里详细讲。
常见问题排查
- 扫码后一直连不上:检查网络是否能访问 WhatsApp 服务器,部分地区需要代理
- 连接后突然断开:WhatsApp Web 同一时间只能有一个活跃连接,确认没有在其他设备登录 WhatsApp Web
- 群聊不回复:检查 groupPolicy 和 groupAllowFrom 配置
- 回复太慢:检查 AI 模型 API 响应速度,或者换一个更快的模型
- 收到消息但不回复:检查 dmPolicy 和 allowFrom,确认发送者在白名单里
安全建议
- 正式上线前,先用测试号码验证所有流程
- 不要用 open 模式上线,避免被陌生人滥用 API 额度
- 建议用独立号码,不要用私人 WhatsApp
- 定期检查 pairing 请求,及时拒绝可疑号码
- 如果做商业客服,建议配合 allowFrom 白名单 + pairing 双重验证
FAQ
OpenClaw 的 WhatsApp 连接稳定吗?
稳定。OpenClaw 内置了断线重连机制,即使网络波动也会自动恢复。只要不在其他设备登录 WhatsApp Web,连接就不会主动断开。

可以同时连多个 WhatsApp 号码吗?
可以。用 –account 参数区分不同账号,每个账号独立配置。
WhatsApp 会封号吗?
OpenClaw 使用 WhatsApp Web 协议,和你手动用 WhatsApp Web 没有本质区别。但如果短时间内发送大量消息,或者被多人举报,仍然有封号风险。建议控制回复频率,不要做群发。
能不能只在工作时间自动回复?
可以通过 cron 定时启停 Gateway 实现,或者在 agent 提示词里加上时间判断逻辑。
支持发图片和文件吗?
支持。OpenClaw 支持收发图片、音频和文档,AI 也能识别用户发来的图片内容。
相关教程推荐
- OpenClaw 怎么做 SEO 关键词研究?从找词、分类到内容规划的实操教程
- Cloudflare Error 1016 怎么解决?DNS Origin Error 排查教程
- WordPress 改了页面前台不更新?Cloudflare、插件缓存和对象缓存分开清
结语
用 OpenClaw 做 WhatsApp 客服自动回复,核心就 6 步:装插件、扫码连接、配白名单、设 pairing、启动测试、调回复风格。整个过程不需要写代码,只需要改配置文件和跑几条命令。
如果你的业务需要 7×24 小时响应客户消息,这是目前最轻量的方案之一。后续教程会继续讲怎么自定义 AI 回复内容、怎么做多语言客服、怎么对接 CRM 系统。
| 联系我们 | |
|---|---|
| 教程看不懂?联系我们为您免费解答!免费助力个人,小企站点! |
客服微信
|
| ① 电话:020-2206-9892 | |
| ② QQ咨询:1025174874 | |
| ③ 邮件:[email protected] | |
| ④ 工作时间:周一至周五,9:30-18:30,节假日休息 | |













3月11日 13:490
现在肯定还是做SEO的,只是玩法变了。 以前靠堆内容、堆关键词就能有流量,现在更看重 内容质量 + 品牌信任 + 用户体验。 另外单靠SEO其实越来越难,很多做得好的基本都是 SEO + 社媒 + 内容营销 + 私域转化 一起做。 SEO本质还是一个长期获客渠道,但不能再当成唯一渠道了。嘻嘻在干活
3月11日 10:540
正常,收录只代表 Google 看到了页面,不代表马上给排名,“已收录但没排名”通常是因为: 关键词竞争大、页面权重低、内容不够强、页面还比较新。 先继续优化长尾关键词、内容质量和内链,通常需要一点时间,排名会慢慢出来Amelia Foster 3月6日 16:200
有截图吗子非鱼也安知鱼之乐 3月6日 09:230
别先堆优化插件,先定位瓶颈: 用 Query Monitor 看慢 SQL、慢 Hook。 暂停全部插件做对比,再逐个开启。 检查 autoload 过大(options 表)。 检查数据库索引与大表查询。 服务器 TTFB 高就先处理主机/数据库性能。嘻嘻在干活
3月3日 16:470
你好风之旅,其实真不用搞复杂的本地环境,普通人按这几步来,更新基本不会崩站👇 先备份全站,文件 + 数据库都备一下,这是底线,出问题能一键回退。 更的时候别一键全更,分批更,先更不重要的插件,再更核心的。 更新完立刻清缓存,去前台检查首页、文章页、按钮、表单这些关键位置。 最好再装个支持版本回滚的插件,万一崩了,一秒切回旧版。 总结来说:先备份、分批更、更完查、留退路,稳得很✅😎希望能帮到你bugbang 3月2日 09:550
通常不是支付没成功,而是回调(webhook)没把订单状态写回来。 排查步骤: WooCommerce → 状态 → 日志:看支付网关是否有 webhook error / signature error / timeout 检查站点是否被 WAF 拦截(Cloudflare、宝塔防火墙、安全插件) 检查是否启用了“缓存结账页/接口路径”(结账页和回调接口不应缓存) 看服务器错误日志是否有 500/致命错误导致回调执行中断 解决方案: 放行 wp-json、wc-api、支付网关回调 URL(按网关文档配置) 关闭结账页的缓存与 JS 合并压缩测试一次 若使用 Cloudflare:为回调 URL 设置 不挑战、不拦截 的规则乌拉那拉甄嬛 1月31日 09:360
1) 先判断这是“正常等待”还是“异常卡住” 可以先看 3 个信号:页面发布时间是否在 7–14 天以内、是否 只有少量页面 出现该状态、页面是否已经出现在 XML Sitemap 中。 如果三个都满足,多半属于正常爬取与评估阶段,不需要立刻动手。 2) 什么情况下“等”是没用的? 以下情况基本不会靠时间自动解决:页面几乎没有内链(孤立页)、内容与站内已有页面高度相似、canonical 指向了别的 URL、同一主题短时间发布太多相似文章。 这种情况下,Google 已经抓取,但判断“当前不值得进入索引”。 3) 最有效的人工干预方式(不折腾) 优先做这 3 件事:加内链、从相关旧文章或栏目页链接到该页面、增强首屏信息密度 前 2–3 段直接回答用户问题,避免铺垫太多,确认 canonical 为自指,避免被判定为重复页,做完再去 GSC 请求重新编入索引即可。 4) 什么“干预动作”反而容易适得其反? 不太推荐:频繁删除重发、连续多次点“请求编入索引”、为了收录强行堆关键词、随意改 URL 或标题 这些操作会让 Google 重新评估页面稳定性,反而拖慢收录。 5) 一个实用判断标准 如果一篇文章:已被抓取、没有 noindex / robots 问题、有至少 1–2 条相关内链、内容明显解决了一个独立问题,那它 是否被收录,只是时间问题,不是插件问题。帖子搬运工 1月30日 10:000
新站前期不做外链完全可以,先把内容和站内结构做好更稳。只靠内容一般能拿到收录和部分长尾词排名,但中高竞争词起量会慢。建议等网站稳定收录、有30–50篇质量内容、关键词开始进前20/30后,再少量做外链,优先品牌词/裸链/引用型,别一上来追数量。👍