OpenClaw WhatsApp 頻道
透過 Baileys 協定將 OpenClaw 連接至 WhatsApp。此整合方式無需商業 API,只需用手機掃描 QR Code 即可讓 AI 助手在 WhatsApp 上收發訊息。建議使用獨立手機號碼以獲得更清晰的路由。
WhatsApp 支援功能
文字訊息
支援
媒體與檔案
支援
表情回應
支援
討論串
不支援
語音訊息
支援
群組聊天
支援
WhatsApp 前置條件
- WhatsApp 專用手機號碼(建議與個人號碼分開)
- 伺服器已安裝 Node.js 18+(不建議使用 Bun)
- OpenClaw Gateway 已執行並設定完成
WhatsApp 快速設定
新增 WhatsApp 頻道設定
在 ~/.openclaw/openclaw.json 中新增 WhatsApp 頻道設定。設定 dmPolicy(allowlist、pairing 或 open)和 allowFrom 清單來控制誰可以向您的助手發送訊息。
執行登入命令並掃描 QR Code
在終端機執行 'openclaw channels login',將顯示一個 QR Code。用手機 WhatsApp 掃描(設定 > 已連結的裝置 > 連結裝置)。憑證將儲存至 ~/.openclaw/credentials/whatsapp/。
發送測試訊息
從另一部手機向您的 WhatsApp 號碼發送私訊。如果使用 allowlist 策略,請確認發送者號碼在 allowFrom 清單中。如果使用預設的 pairing 策略,請透過 'openclaw pairing approve whatsapp <code>' 核准發送者。
WhatsApp 設定範例
{
"channels": {
"whatsapp": {
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567"]
}
}
}WhatsApp 深入了解
架構概述
手機號碼設定
{
"channels": {
"whatsapp": {
"accounts": {
"default": {
"phone": "+15551234567"
}
}
}
}
}登入與憑證
openclaw channels login whatsapp私訊策略
{
"channels": {
"whatsapp": {
"dmPolicy": "pairing",
"allowFrom": ["+15551234567", "+15559876543"]
}
}
}群組管理
{
"channels": {
"whatsapp": {
"groupPolicy": "allowlist",
"groupActivation": "mention",
"groupAllowList": ["group-jid-1", "group-jid-2"]
}
}
}已讀回執
{
"channels": {
"whatsapp": {
"sendReadReceipts": true
}
}
}確認表情回覆
{
"channels": {
"whatsapp": {
"ackReaction": {
"emoji": "👀",
"direct": true,
"group": true
}
}
}
}發送訊息與媒體
速率限制與傳送限制
{
"channels": {
"whatsapp": {
"textChunkLimit": 5,
"mediaMaxMb": 50
}
}
}為什麼不用 Twilio / WhatsApp Business API?
WhatsApp 設定參考
| Key | Type | Default | Description |
|---|---|---|---|
| dmPolicy | string | "pairing" | 控制誰可以私訊機器人。選項:pairing、allowlist、open、disabled |
| selfChatMode | string | "disabled" | 如何處理您發給自己的訊息。選項:disabled、ai、note |
| allowFrom | string[] | [] | 允許給機器人發訊息的手機號碼清單(dmPolicy 為 allowlist 時使用) |
| sendReadReceipts | boolean | true | 處理訊息時是否傳送藍色雙勾已讀回執 |
| ackReaction.emoji | string | "👀" | 用於確認收到訊息的表情符號 |
| ackReaction.direct | boolean | true | 在私訊中傳送確認表情 |
| ackReaction.group | boolean | true | 在群組聊天中傳送確認表情 |
| textChunkLimit | number | 5 | 每次 AI 回覆的最大文字分段數 |
| mediaMaxMb | number | 50 | 最大入站媒體檔案大小(MB)。發送限制由 agents.defaults.mediaMaxMb 控制(預設 5 MB) |
| groupPolicy | string | "disabled" | 群組聊天策略。選項:disabled、allowlist、open |
| groupActivation | string | "mention" | 群組中如何觸發機器人。選項:mention、always |
| historyLimit | number | 50 | 作為 AI 上下文包含的最近訊息數量 |
| chunkMode | string | "split" | 如何處理長回覆。選項:split、newline、truncate |
| messagePrefix | string | "" | 新增至所有發送訊息前的可選前綴 |
| accounts.<id>.* | object | {} | 每個帳號的設定(手機號碼、憑證路徑、覆蓋設定) |
控制誰可以私訊機器人。選項:pairing、allowlist、open、disabled
如何處理您發給自己的訊息。選項:disabled、ai、note
允許給機器人發訊息的手機號碼清單(dmPolicy 為 allowlist 時使用)
處理訊息時是否傳送藍色雙勾已讀回執
用於確認收到訊息的表情符號
在私訊中傳送確認表情
在群組聊天中傳送確認表情
每次 AI 回覆的最大文字分段數
最大入站媒體檔案大小(MB)。發送限制由 agents.defaults.mediaMaxMb 控制(預設 5 MB)
群組聊天策略。選項:disabled、allowlist、open
群組中如何觸發機器人。選項:mention、always
作為 AI 上下文包含的最近訊息數量
如何處理長回覆。選項:split、newline、truncate
新增至所有發送訊息前的可選前綴
每個帳號的設定(手機號碼、憑證路徑、覆蓋設定)
WhatsApp 常見問題
WhatsApp 故障排除
工作階段憑證可能已過期,或者手機上的 WhatsApp 應用程式更新後使連結的工作階段失效。
通常發生在手機長時間離線,或另一個已連結裝置與 Gateway 工作階段衝突時。
速率限制、網路問題,或收件人已封鎖您的號碼。