跳到內容

讓你的 OpenClaw 機器人進駐 WhatsApp 群組

想像一下,你把機器人拉進 WhatsApp 群組,結果它不是瘋狂洗版,就是把群組對話跟你的私訊內容搞混,這真的挺崩潰的。處理群組邏輯最麻煩的就是如何讓它在該說話的時候才開口,而且還要知道到底是誰在點名它,而不是在那邊自言自語。

這篇文會教你如何讓機器人在 WhatsApp 群組裡乖乖聽話,只有被標記(ping)時才醒來,並且把群組對話跟你的個人私訊完全分開。

  • 運行中的 WhatsApp 帳號(用於跑 OpenClaw)
  • 已安裝並可編輯的 ~/.openclaw/openclaw.json 設定檔
  • 管理員權限(用於執行 /activation 指令)

要在 5 分鐘內讓機器人在群組運作,請按照以下步驟:

在 ~/.openclaw/openclaw.json 中加入 groupChat 區塊。這樣即使 WhatsApp 跑掉格式,機器人也能透過顯示名稱或號碼辨認出是在叫它。

{
channels: {
whatsapp: {
groups: {
"*": { requireMention: true },
},
},
},
agents: {
list: [
{
id: "main",
groupChat: {
historyLimit: 50,
mentionPatterns: ["@?openclaw", "\\+?15555550123"],
},
},
],
},
}
  1. 將你的 WhatsApp 帳號加入群組。
  2. 在群組中輸入 @openclaw 你好。
  3. 機器人應該會回覆,並在訊息末尾標註 [from: 你的名字 (+E164)]。

如果你是該帳號的擁有者,可以直接在群組發送指令切換模式:

  • /activation mention:只有被標記時才回覆(預設)。
  • /activation always:每一條訊息都會喚醒機器人,但它只有在覺得能提供價值時才會說話,否則會保持沈默。
  • 獨立 Session:群組的 Session Key 會標記為 agent:<agentId>:whatsapp:group:<jid>。這代表你在群組裡下的指令(如 /verbose on 或 /think high)只會影響該群組,不會弄亂你的個人私訊設定。
  • 上下文注入:機器人會自動抓取最近最多 50 條未觸發回覆的訊息作為背景資訊,放在 [Chat messages since your last reply - for context] 標籤下,讓你不需要重複解釋前面的對話。
  • 權限控制:透過 channels.whatsapp.groupPolicy 可以設定為 open(開放)、disabled(禁用)或 allowlist(僅限白名單)。預設是 allowlist。

如果你發現機器人沒反應,可以檢查以下幾點:

  • 沒收到回覆:檢查機器人是否在白名單中。除非你將 groupPolicy 設為 open,否則只有在 allowlist 裡的發送者才能觸發機器人。
  • 重複訊息不回覆:OpenClaw 有回音抑制機制。如果你發送了兩次完全相同的文字且沒有標記機器人,它只會處理第一條。
  • 確認日誌:執行時加上 --verbose 參數,查看 Gateway 日誌中是否有 inbound web message 項目,並確認 from 欄位是否顯示為 groupJid。
  • 查看狀態:在群組中發送 /status 獨立訊息,確認目前的 activation 模式是否正確。

想要更自動化的設定嗎?試試我們的 AI Setup Assistant。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。