4

通道深度配置

约 25000 字DraftOpenClaw Book

第 4 章 · 通道深度配置

OpenClaw 的核心卖点不是"又一个聊天机器人框架",而是让你的 AI Agent 同时出现在你日常使用的所有聊天工具里。这一章,我们逐一配置每个通道,从最受欢迎的 WhatsApp 和 Telegram 开始,到企业级的 Slack 和 Discord,再到注重隐私的 Signal 和苹果生态的 iMessage。

4.1 通道体系总览

OpenClaw 支持 20+ 种消息通道,覆盖了从个人用户到企业级场景的几乎所有主流平台。但通道不是简单地"接上去就能用"——每个通道有自己的认证方式、消息模型、权限体系和行为特性。

通道对比速查表

通道 认证方式 推荐场景 群组支持 媒体支持 配置难度
WhatsApp QR 扫码配对 个人用户、全球覆盖 完整 完整 中等
Telegram Bot Token 个人/开发者、快速上手 完整 完整 简单
Discord Bot Token 个人/社区、互动性强 完整 完整 中等
Slack App Token + Bot Token 企业团队 完整 完整 较复杂
Signal signal-cli 隐私敏感场景 完整 附件 较复杂
iMessage BlueBubbles / imsg 苹果生态用户 有限 附件 复杂
WebChat 内置 开发调试、本地使用 N/A 完整 最简单

通道的通用规则

在深入每个通道之前,有几个所有通道共享的规则需要理解:

1. 路由是确定性的

OpenClaw 不会让模型"选择"回复哪个通道。消息从哪个通道进来,回复就一定回到哪个通道。这听起来是限制,其实是设计——确定性路由让你可以精确控制每个通道的行为。

2. DM 和群组使用不同的会话

默认情况下,同一个通道的 DM 会合并到 Agent 的主会话(session.dmScope: "main"),而每个群组都有独立的隔离会话。这意味着你在 Discord 服务器 A 的 #coding 频道和 #general 频道聊的内容是互不可见的。

3. 所有通道共享同一套访问控制模型

OpenClaw 对所有通道使用统一的安全模型:

  • dmPolicy:控制谁能通过私聊和 Agent 对话(pairing / allowlist / open / disabled
  • groupPolicy:控制 Agent 在群组中的行为(open / allowlist / disabled
  • allowFrom:允许的发送者列表
  • requireMention:群组中是否需要 @提及才响应

4. 通道可以同时运行

配置多个通道后,OpenClaw 会根据消息来源自动路由。你可以在 WhatsApp 上问 Agent 一个问题,然后在 Telegram 上继续追问——它们共享同一个 Agent 主会话。

💡 经验之谈:如果你只是想快速体验 OpenClaw,Telegram 是最快的入口——只需要一个 Bot Token,几分钟就能跑起来。WhatsApp 需要 QR 扫码配对,流程稍长。Discord 的设置步骤最多,但功能也最丰富。


4.2 WhatsApp 通道

WhatsApp 是 OpenClaw 最受欢迎的通道,也是最复杂的一个。它通过 Baileys 协议(WhatsApp Web 的非官方实现)连接,需要 QR 码配对。

4.2.1 快速配置

# 安装 WhatsApp 插件
openclaw plugins install @openclaw/whatsapp

# 扫码配对
openclaw channels login --channel whatsapp

# 查看状态
openclaw channels status

配置文件:

{
  channels: {
    whatsapp: {
      dmPolicy: "pairing",
      allowFrom: ["+8613800138000"],
      groupPolicy: "allowlist",
      groupAllowFrom: ["+8613800138000"],
    },
  },
}

启动 Gateway 并批准配对:

openclaw gateway
openclaw pairing list whatsapp
openclaw pairing approve whatsapp <CODE>

配对码 1 小时后过期,每个通道最多同时 3 个待处理配对请求。

4.2.2 部署模式选择

专用号码(推荐)

这是最干净的运营方式:用一个独立的手机号运行 OpenClaw,避免与个人账号混淆。

{
  channels: {
    whatsapp: {
      dmPolicy: "allowlist",
      allowFrom: ["+8613800138000"],
    },
  },
}

个人号码回退

如果你不想办新卡,也可以用自己现有的 WhatsApp 号。Onboarding 向导会自动配置 selfChatMode: true,防止 Agent 回复自己发给自己消息时的死循环。

⚠️ 踩坑记录

问题:用个人号码时,Agent 偶尔会回复自己的消息

原因:Baileys 的消息同步机制在特定时序下可能产生 fromMe 消息的事件

解决:确保 selfChatMode: true,并且 allowFrom 包含你自己的号码。OpenClaw 会在运行时自动跳过 fromMe DM 的配对

4.2.3 WhatsApp 的消息行为细节

消息分块

WhatsApp 单条消息有长度限制。OpenClaw 默认按 4000 字符分块:

{
  channels: {
    whatsapp: {
      textChunkLimit: 4000,
      chunkMode: "newline",  // 优先按段落分块,而不是硬切
    },
  },
}

newline 模式比默认的 length 模式体验更好——它优先在空行处分割,保持段落的完整性。

已读回执

已读回执默认开启。Agent 读完你的消息后会自动标记为已读。如果你不想暴露"已读"状态:

{
  channels: {
    whatsapp: {
      sendReadReceipts: false,
    },
  },
}

确认反应(Ack Reaction)

你可以让 Agent 在处理消息时立即发送一个 emoji 反应(比如 👀),让你知道"你的消息已经被接收了":

{
  channels: {
    whatsapp: {
      ackReaction: {
        emoji: "👀",
        direct: true,         // DM 中发送
        group: "mentions",    // 群组中仅在 @提及时发送
      },
    },
  },
}

4.2.4 多账号

WhatsApp 支持多个独立账号同时运行。每个账号有独立的配置覆盖:

{
  channels: {
    whatsapp: {
      accounts: {
        work: {
          dmPolicy: "allowlist",
          allowFrom: ["+8613800138000"],
          sendReadReceipts: false,
        },
        personal: {
          dmPolicy: "pairing",
          selfChatMode: true,
        },
      },
    },
  },
}

4.2.5 常见问题

症状 可能原因 解决方案
通道状态显示"未链接" QR 码配对过期 重新运行 openclaw channels login --channel whatsapp
频繁断连重连 网络不稳定 openclaw doctor + openclaw logs --follow 排查
群组消息被忽略 群策略配置有误 检查 groupPolicygroupAllowFromgroups 白名单
发送失败"No active listener" Gateway 未运行 确认 Gateway 正在运行且账号已链接

⚠️ 踩坑记录

问题:Bun 运行时下 WhatsApp 不稳定

原因:Baileys 和 grammY(Telegram 通道)在 Bun 运行时下存在兼容性问题

解决:WhatsApp 和 Telegram 的 Gateway 必须使用 Node.js 运行时,不要用 Bun


4.3 Telegram 通道

Telegram 是配置最简单的通道——只需要一个 Bot Token,不需要扫码配对。

4.3.1 快速配置

第一步:在 BotFather 创建 Bot

  1. 打开 Telegram,搜索 @BotFather(确认用户名完全一致)
  2. 发送 /newbot,按提示设置名称和用户名
  3. 保存返回的 Bot Token

第二步:配置 OpenClaw

{
  channels: {
    telegram: {
      enabled: true,
      botToken: "123456:ABC-DEF...",
      dmPolicy: "pairing",
      groups: {
        "*": { requireMention: true },
      },
    },
  },
}

环境变量备选:

TELEGRAM_BOT_TOKEN=123456:ABC-DEF...

第三步:启动并配对

openclaw gateway
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>

4.3.2 Telegram 的独特优势

实时流式输出(Streaming)

Telegram 是所有通道中对"实时打字效果"支持最好的。OpenClaw 可以在 Agent 思考的同时,实时更新消息内容:

{
  channels: {
    telegram: {
      streaming: "partial",  // 实时更新预览消息
    },
  },
}

效果是:Agent 先发一条临时消息,然后随着生成的进行不断编辑这条消息的内容。读者看到的是一个"逐渐变长"的回复,而不是等了很久后突然收到一大段文字。

Inline Buttons

Telegram 支持在消息下方嵌入交互按钮:

{
  channels: {
    telegram: {
      capabilities: {
        inlineButtons: "allowlist",
      },
    },
  },
}

Agent 可以通过消息动作发送按钮,用户点击后结果会作为回调传回给 Agent。

Forum Topics(论坛主题)

Telegram 的 Forum 群组支持主题(Topic)功能,OpenClaw 完整支持了这一特性——每个 Topic 有独立的会话,甚至可以路由到不同的 Agent:

{
  channels: {
    telegram: {
      groups: {
        "-1001234567890": {
          topics: {
            "1": { agentId: "main" },
            "3": { agentId: "coder" },
            "5": { agentId: "reviewer" },
          },
        },
      },
    },
  },
}

这意味着在同一个 Telegram 群组中,#综合讨论 路由到 main Agent,#代码审查 路由到 coder Agent,#产品评审 路由到 reviewer Agent——每个 Agent 有自己的工作空间和会话。

4.3.3 隐私模式与群组可见性

Telegram Bot 默认开启 Privacy Mode,这意味着在群组中,Bot 只能看到 @提及它的消息。

如果你的 Bot 需要看到所有群消息(比如用于监控或自动回复),有两种方式:

  1. 在 BotFather 中执行 /setprivacy → Disable
  2. 将 Bot 设为群组管理员(管理员自动获得所有消息权限)

⚠️ 踩坑记录

问题:关闭 Privacy Mode 后 Bot 仍然看不到群组消息

原因:Telegram 要求修改 Privacy Mode 后,需要先移除 Bot 再重新添加到群组,修改才会生效

解决:从群组中移除 Bot,然后重新添加

4.3.4 查找 Telegram User ID

所有 allowFrom 都使用数字 User ID,不是用户名。获取方式:

方法一(最安全)

  1. DM 你的 Bot
  2. 运行 openclaw logs --follow
  3. 在日志中找到 from.id

方法二(API)

curl "https://api.telegram.org/bot<bot_token>/getUpdates"

方法三(第三方 Bot):给 @userinfobot@getidsbot 发消息

4.3.5 Long Polling vs Webhook

默认使用 Long Polling(轮询)。如果你有公网服务器,可以切换到 Webhook 模式以获得更低的延迟:

{
  channels: {
    telegram: {
      webhookUrl: "https://your-domain.com/telegram-webhook",
      webhookSecret: "your-webhook-secret",
      webhookHost: "0.0.0.0",  // 绑定到所有网络接口
      webhookPort: 8787,
    },
  },
}

💡 提示:对于大多数个人用户,Long Polling 完全够用。Webhook 主要用于生产部署和需要极低延迟的场景。


4.4 Discord 通道

Discord 是功能最丰富的通道——支持 Slash Commands、交互组件(按钮/选择器/表单)、语音频道、线程绑定等。

4.4.1 快速配置

Discord 的设置步骤最多,但每一步都很清晰:

第一步:创建 Discord Application

  1. 访问 Discord Developer Portal
  2. 点击 New Application
  3. 进入 Bot 页面,设置用户名
  4. 启用 Privileged Gateway Intents
    • Message Content Intent(必需)
    • Server Members Intent(推荐)
    • Presence Intent(可选)
  5. 复制 Bot Token

第二步:生成邀请 URL

  1. 进入 OAuth2 页面
  2. Scopes:勾选 botapplications.commands
  3. Bot Permissions:View Channels、Send Messages、Read Message History、Embed Links、Attach Files
  4. 复制生成的 URL,在浏览器中打开,选择你的服务器

第三步:收集 ID

在 Discord 中启用 Developer Mode(用户设置 → 高级 → Developer Mode),然后:

  • 右键服务器图标 → 复制服务器 ID
  • 右键自己的头像 → 复制用户 ID

第四步:配置 OpenClaw

{
  channels: {
    discord: {
      enabled: true,
      token: {
        source: "env",
        provider: "default",
        id: "DISCORD_BOT_TOKEN",
      },
      groupPolicy: "allowlist",
      guilds: {
        "YOUR_SERVER_ID": {
          requireMention: true,
          users: ["YOUR_USER_ID"],
        },
      },
    },
  },
}

或者用 CLI 命令:

export DISCORD_BOT_TOKEN="your-bot-token"
openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN --dry-run
openclaw config set channels.discord.enabled true --strict-json
openclaw gateway

4.4.2 Guild 工作空间

Discord 的服务器是天然的工作空间。你可以为每个频道分配独立的 Agent 会话:

{
  channels: {
    discord: {
      guilds: {
        "123456789012345678": {
          requireMention: false,  // 私有服务器可以关闭 @mention 要求
          channels: {
            general: { allow: true },
            coding: { allow: true, requireMention: true },
            help: { allow: true },
          },
        },
      },
    },
  },
}

每个频道(如 #coding#general)都有独立的会话上下文。Agent 在 #coding 频道的对话内容,在 #general 频道是完全不可见的。

4.4.3 交互组件(Components v2)

Discord 通道支持丰富的交互 UI:

{
  action: "send",
  channel: "discord",
  to: "channel:123456789012345678",
  components: {
    reusable: true,
    text: "部署到哪个环境?",
    blocks: [
      {
        type: "actions",
        buttons: [
          { label: "Production", style: "success", allowedUsers: ["123456789"] },
          { label: "Staging", style: "primary" },
          { label: "Cancel", style: "danger" },
        ],
      },
    ],
    modal: {
      title: "部署详情",
      triggerLabel: "填写备注",
      fields: [
        { type: "text", label: "原因" },
        { type: "select", label: "优先级", options: [
          { label: "高", value: "high" },
          { label: "低", value: "low" },
        ]},
      ],
    },
  },
}

用户点击按钮后,回调会作为消息传回给 Agent 处理。

4.4.4 语音频道

Discord 是唯一支持语音频道的通道。Agent 可以加入语音频道进行实时对话:

{
  channels: {
    discord: {
      voice: {
        enabled: true,
        autoJoin: [
          {
            guildId: "123456789012345678",
            channelId: "234567890123456789",
          },
        ],
        tts: {
          provider: "openai",
          openai: { voice: "alloy" },
        },
      },
    },
  },
}

4.4.5 角色路由(Role-based Routing)

Discord 独有的特性:根据用户的角色(Role ID)路由到不同的 Agent:

{
  bindings: [
    {
      agentId: "opus",
      match: {
        channel: "discord",
        guildId: "123456789012345678",
        roles: ["111111111111111111"],
      },
    },
    {
      agentId: "sonnet",
      match: {
        channel: "discord",
        guildId: "123456789012345678",
      },
    },
  ],
}

管理员看到的消息路由到 opus Agent(更强大),普通用户的消息路由到 sonnet Agent(更快速更便宜)。


4.5 Slack 通道

Slack 是企业团队最常用的通道,OpenClaw 通过 Bolt SDK 连接。

4.5.1 快速配置

Socket Mode(默认)

  1. 在 Slack App 设置中:

    • 启用 Socket Mode
    • 创建 App Tokenxapp-...),需要 connections:write scope
    • 安装 App,复制 Bot Tokenxoxb-...
  2. 配置 OpenClaw:

{
  channels: {
    slack: {
      enabled: true,
      mode: "socket",
      appToken: "xapp-...",
      botToken: "xoxb-...",
    },
  },
}

HTTP Events API 模式

{
  channels: {
    slack: {
      enabled: true,
      mode: "http",
      botToken: "xoxb-...",
      signingSecret: "your-signing-secret",
      webhookPath: "/slack/events",
    },
  },
}

4.5.2 Slack 的 Scope 清单

Slack Bot 需要以下 OAuth Scopes:

chat:write, channels:history, channels:read, groups:history,
im:history, im:read, im:write, mpim:history, mpim:read, mpim:write,
users:read, app_mentions:read, assistant:write, reactions:read,
reactions:write, pins:read, pins:write, emoji:read, commands,
files:read, files:write

⚠️ 踩坑记录

问题:Bot 能看到消息但不回复

原因:忘记在 Slack App 设置中订阅 Bot Events

解决:确保订阅了 app_mentionmessage.channelsmessage.im 等 Events,同时启用 Messages Tab

4.5.3 Slack 的线程特性

Slack 的线程模型与其他通道不同——线程消息在主频道中是隐藏的。OpenClaw 对此有特殊处理:

{
  channels: {
    slack: {
      replyToMode: "off",  // 默认关闭回复线程
      thread: {
        historyScope: "thread",  // 线程内上下文
        initialHistoryLimit: 20,
      },
    },
  },
}

如果你希望 Agent 的回复以线程形式出现(不污染主频道),设置 replyToMode: "first"


4.6 Signal 通道

Signal 是注重隐私的用户的首选。通过 signal-cli 外部工具集成。

4.6.1 两种注册方式

方式 A:QR 链接(最简单)

如果你已经有一个 Signal 账号,可以直接链接:

signal-cli link -n "OpenClaw"
# 用 Signal 扫描 QR 码

方式 B:SMS 注册专用号码

如果你想用一个独立的号码运行 Agent:

# 安装 signal-cli
VERSION=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/AsamK/signal-cli/releases/latest | sed -e 's/^.*\/v//')
curl -L -O "https://github.com/AsamK/signal-cli/releases/download/v${VERSION}/signal-cli-${VERSION}-Linux-native.tar.gz"
sudo tar xf "signal-cli-${VERSION}-Linux-native.tar.gz" -C /opt
sudo ln -sf /opt/signal-cli /usr/local/bin/

# 注册(可能需要验证码)
signal-cli -a +<BOT_PHONE_NUMBER> register

# 如果需要验证码
signal-cli -a +<BOT_PHONE_NUMBER> register --captcha '<SIGNALCAPTCHA_URL>'
signal-cli -a +<BOT_PHONE_NUMBER> verify <CODE>

配置:

{
  channels: {
    signal: {
      enabled: true,
      account: "+15551234567",
      cliPath: "signal-cli",
      dmPolicy: "pairing",
      allowFrom: ["+15557654321"],
    },
  },
}

⚠️ 踩坑记录

问题:signal-cli 注册后,手机上的 Signal 应用被登出

原因:注册一个号码会在 Signal 服务器上创建新的设备,可能使旧设备的会话失效

解决:使用专用 Bot 号码,或使用 QR 链接模式(不会影响现有设备)

4.6.2 Signal 的特殊之处

  • 没有原生 @提及:Signal 不支持 @mention,所以 OpenClaw 使用正则模式来检测是否需要响应
  • UUID 标识:Signal 用户可能通过 UUID(而非手机号)标识,存储为 uuid:<id> 格式
  • 媒体大小限制:默认只有 8MB(WhatsApp 和 Telegram 是 50-100MB)

4.7 iMessage 通道

iMessage 通过 BlueBubbles 桥接(推荐)或传统的 imsg CLI 集成。

4.7.1 BlueBubbles(推荐新部署使用)

BlueBubbles 是一个运行在 Mac 上的 REST API 服务器,它充当 iMessage 和外部应用之间的桥接层。

⚠️ 重要:BlueBubbles 需要一台 macOS 设备持续运行。如果你没有 Mac,iMessage 通道不可用。

4.7.2 传统 imsg 集成(已弃用)

OpenClaw 还支持通过 imsg CLI 的传统方式,但官方已标记为 legacy。如果你已经有 imsg 配置在运行,可以继续使用,但新部署请使用 BlueBubbles。

imsg 的核心要求:

  1. Mac 上已安装并登录 Messages
  2. OpenClaw/imsg 进程有 完全磁盘访问权限
  3. OpenClaw/imsg 进程有 自动化权限(发送消息需要)

⚠️ 踩坑记录

问题:imsg 在无头模式下不工作

原因:macOS 的权限弹窗需要 GUI 交互

解决:如果 Gateway 以 LaunchAgent 或 SSH 运行,需要在同一个用户会话中先手动运行一次 imsg chats --limit 1 来触发权限弹窗


4.8 通道路由

当你配置了多个通道后,OpenClaw 如何决定消息应该由哪个 Agent 处理?这就是路由(Routing)的作用。

4.8.1 路由优先级

当一条消息到达时,OpenClaw 按以下优先级匹配 Agent:

1. 精确匹配(bindings + peer.id)
2. 父级匹配(线程继承)
3. Guild + 角色匹配(Discord 特有)
4. Guild 匹配(Discord 特有)
5. Team 匹配(Slack 特有)
6. 账号匹配(accountId)
7. 通道匹配(任何账号)
8. 默认 Agent

4.8.2 多 Agent 路由示例

假设你有两个 Agent:main(日常助手)和 coder(编程助手),想让 Discord 的 #coding 频道路由到 coder:

{
  agents: {
    list: [
      { id: "main", name: "助手", workspace: "~/.openclaw/workspace" },
      { id: "coder", name: "程序员", workspace: "~/.openclaw/workspace-coder" },
    ],
  },
  bindings: [
    {
      match: {
        channel: "discord",
        peer: { kind: "channel", id: "222222222222222222" },
      },
      agentId: "coder",
    },
  ],
}

4.8.3 广播组(Broadcast)

默认情况下,一条消息只由一个 Agent 处理。广播组可以让一条消息同时触发多个 Agent:

{
  broadcast: {
    strategy: "parallel",
    "120363403215116621@g.us": ["alfred", "baerbel"],
  },
}

当你在这个 WhatsApp 群里发消息时,alfredbaerbel 两个 Agent 会并行处理并各自回复。

4.8.4 会话键结构

理解会话键的结构有助于调试路由问题:

DM(合并到主会话):
  agent:main:main

群组(独立会话):
  agent:main:whatsapp:group:120363403215116621@g.us
  agent:main:telegram:group:-1001234567890

频道(独立会话):
  agent:main:discord:channel:123456789012345678

线程:
  agent:main:discord:channel:123456789012345678:thread:987654

4.9 访问控制深度指南

4.9.1 DM 策略四种模式

模式 行为 适用场景
pairing 陌生人收到配对码,批准后才能对话 默认推荐
allowlist 只有白名单中的用户能对话 明确知道谁能访问
open 任何人都能对话(需要 allowFrom: ["*"] 公开 Bot
disabled 完全关闭 DM 只用群组功能

4.9.2 群组策略三层控制

群组的访问控制有三层,全部通过才放行:

第一层:群组白名单(groups)
  ↓ 通过
第二层:发送者白名单(groupAllowFrom / allowFrom)
  ↓ 通过
第三层:@提及要求(requireMention)
  ↓ 通过
→ Agent 处理消息

4.9.3 配置示例:完整安全配置

{
  channels: {
    telegram: {
      enabled: true,
      botToken: "your-token",
      dmPolicy: "allowlist",
      allowFrom: ["8734062810"],       // 只有我能私聊
      groupPolicy: "allowlist",
      groups: {
        "-1001234567890": {
          requireMention: true,           // 群里需要 @Bot 才响应
          allowFrom: ["8734062810", "745123456"],  // 只有我能触发
        },
      },
    },
    whatsapp: {
      dmPolicy: "pairing",
      groupPolicy: "allowlist",
      groupAllowFrom: ["+8613800138000"],
      groups: {
        "120363403215116621@g.us": true,
      },
    },
    discord: {
      enabled: true,
      groupPolicy: "allowlist",
      guilds: {
        "123456789012345678": {
          requireMention: false,  // 私有服务器不需要 @
          users: ["987654321098765432"],
          channels: {
            general: { allow: true },
            bot-commands: { allow: true },
          },
        },
      },
    },
  },
}

4.10 多通道联动实战

配置多个通道后,你可以实现一些有趣的工作流。

4.10.1 同一 Agent,多通道访问

这是最简单的模式——所有通道连接到同一个 Agent。你在 WhatsApp 问了一个问题,下班后在电脑上打开 Discord 继续追问,上下文是连续的(因为 DM 合并到了同一个主会话)。

4.10.2 不同通道,不同 Agent

将不同通道绑定到不同 Agent,每个 Agent 有自己的人格、工作空间和记忆:

{
  agents: {
    list: [
      { id: "work", name: "工作助手", workspace: "~/.openclaw/workspace-work" },
      { id: "life", name: "生活助手", workspace: "~/.openclaw/workspace-life" },
    ],
  },
  bindings: [
    { match: { channel: "slack" }, agentId: "work" },
    { match: { channel: "telegram" }, agentId: "life" },
  ],
}

4.10.3 场景:WhatsApp 接收工作通知,Discord 处理

{
  agents: {
    list: [
      { id: "notifier", name: "通知转发", workspace: "~/.openclaw/workspace-notifier" },
      { id: "worker", name: "工作处理", workspace: "~/.openclaw/workspace-worker" },
    ],
  },
  bindings: [
    { match: { channel: "whatsapp" }, agentId: "notifier" },
    { match: { channel: "discord", peer: { kind: "channel", id: "coding" } }, agentId: "worker" },
  ],
}

WhatsApp 负责接收通知并转发摘要,Discord 的 #coding 频道负责实际的编程工作。


本章小结

  • OpenClaw 支持 20+ 种消息通道,统一通过 Gateway 管理
  • 每个通道有自己的认证方式和行为特性,但共享统一的访问控制模型
  • Telegram 配置最简单(只需 Bot Token),功能最丰富的是 Discord
  • 通道路由支持精确匹配、账号匹配、角色匹配等多种策略
  • 多通道联动的核心是 bindings 配置——将通道/账号/群组映射到不同的 Agent

下一步

现在你的 Agent 已经能在多个平台上和你对话了。但 Agent 的"大脑"还只是默认状态——它不知道你是谁,不知道应该用什么语气和你说话,也不知道应该记住什么。下一章,我们将深入 Agent 工作空间,学会通过 SOUL.md、USER.md 和 AGENTS.md 来定制 Agent 的行为。