logo
03

接入消息平台

⏱️ 30分钟

接入消息平台

"装好 OpenClaw 之后第一个接哪个平台?"——Discord 群里这个问题被问烂了。

我的建议很简单:国内团队用的话接飞书或钉钉,个人体验就 Telegram,最省事。OpenClaw 支持 22+ 消息平台,但真没必要一上来全接,先搞定一个跑通了再说嘛。我当时贪心一口气接了三个,结果配置搞混了排查了一晚上,后来才觉得自己挺蠢的...

支持的平台

主要平台列一下:Telegram(用 grammY 库,最简单,推荐入门)、Discord(discord.js,开发者和游戏社区用得多)、飞书(飞书 API,国内团队首选)、WhatsApp(Baileys,个人用户)、Slack(Bolt,海外团队)、微信企业版(企微 API)、钉钉(DingTalk SDK)。

然后是第二梯队:Signal(通过 signal-cli 桥接)、iMessage(有两种方式——BlueBubbles 是目前主推方案,还有个 legacy 模式但官方已经不太推荐了)、Google ChatMicrosoft TeamsMatrix(去中心化协议,隐私党最爱)、LINEIRCNostr(去中心化社交协议,加密圈用得多)、Twitch(直播聊天互动)、QQ。这些都支持但配置相对折腾——比如 iMessage 的 BlueBubbles 方案需要一台 Mac 常驻运行做桥接,这个门槛就拦住不少人了。社区里碰到问题能帮你的人也少,自己折腾能力得强一点。

Telegram(推荐入门)

为什么推荐 Telegram?就三个字:最简单。创建 Bot 不需要企业认证,5 分钟搞定。我去年十二月第一次接平台选的就是它。

第一步:创建 Bot。 在 Telegram 搜 @BotFather,发 /newbot,按提示设置名称和用户名,拿到 Bot Token(长这样:110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw)。这一步不会有人卡住吧...

第二步:配置 OpenClaw。

openclaw channels add telegram
# 输入你的 Bot Token

也可以直接改配置文件:

// ~/.openclaw/openclaw.json(注意是 JSON5 格式,支持注释)
{
	channels: {
		telegram: {
			enabled: true,
			token: 'YOUR_BOT_TOKEN'
		}
	}
}

第三步:验证。 在 Telegram 里找到你的 Bot,随便发条消息。OpenClaw 应该会回复。没反应的话先 openclaw logs 看看——十有八九是 Token 填错了或者 Gateway 没起来。

也可以用命令行直接测,不用打开 Telegram 手动发:

openclaw message send telegram --to "@your_bot" --text "测试消息"

这个在调试的时候特别方便,不用来回切窗口。

Discord

  1. 访问 Discord Developer Portal,点 New Application,设名称
  2. 左侧选 BotAdd Bot,复制 Token
  3. 一定要开 Message Content Intent——坑爹的是官方文档这里写得特别不起眼,但不开的话 Bot 读不到消息内容。我当时就栽在这儿了,搞了好久才发现是这个开关的问题
  4. OAuth2 > URL Generator 中,Scopes 勾 bot,Permissions 勾 Send MessagesRead Message History
  5. 用生成的 URL 邀请 Bot 到你的服务器

然后配置:

openclaw channels add discord
# 输入 Bot Token

飞书(Feishu)

飞书接入比 Telegram 麻烦不少,需要创建飞书应用,步骤比较多。

  1. 打开 飞书开放平台,创建企业自建应用
  2. 添加机器人能力
  3. 获取 App IDApp Secret
  4. 配置事件订阅 URL:http://your-server:18789/webhook/feishu

配置 OpenClaw:

openclaw channels add feishu

配置文件长这样:

// ~/.openclaw/openclaw.json
{
	channels: {
		feishu: {
			enabled: true,
			appId: 'YOUR_APP_ID',
			appSecret: 'YOUR_APP_SECRET',
			verificationToken: 'YOUR_TOKEN'
		}
	}
}

插一嘴:飞书需要公网可访问的 URL 来接收事件回调,这是很多人卡住的地方。本地开发的话用 Tailscale Funnel 或 ngrok 做内网穿透吧。如果 callback 一直收不到,先别急着怀疑 OpenClaw 有 bug,大概率是穿透工具没配对。群里小陈前阵子折腾了两天飞书接入,最后发现是 ngrok 免费版的 URL 过期了没注意...

最后在飞书管理后台发布应用,团队成员就可以跟 Bot 对话了。

WhatsApp

WhatsApp 的接入方式不太一样啊,是通过扫码连接你的账号:

openclaw channels login whatsapp

终端会显示二维码,用 WhatsApp 扫(设置 → 关联设备)。

安全配置这块特别重要。 WhatsApp 连上之后,陌生人发消息会触发 Pairing 安全机制:

# 查看待配对请求
openclaw pairing list whatsapp

# 批准指定配对码
openclaw pairing approve whatsapp <code>

务必开 Pairing 啊,不然任何人给你发消息都会被 AI 回复——你猜怎么着?Discord 群里真有人因为没开这个,半夜 AI 自动回了前女友消息,第二天才发现... 虽然是个段子吧,但道理是真的。

Slack

openclaw channels add slack

需要创建 Slack App(api.slack.com/apps),安装到 Workspace,拿到 Bot Token(xoxb- 开头),然后配 Event Subscriptions。流程跟飞书差不多,也需要公网 URL 接收回调。

多平台同时接入

OpenClaw 可以同时连多个平台,所有消息汇聚到同一个 Agent,共享上下文和技能。而且同一个平台还支持接多个账号——比如你有两个 Telegram Bot,一个对内一个对外,用 accounts 配置就行:

// ~/.openclaw/openclaw.json
{
	channels: {
		telegram: {
			enabled: true,
			accounts: [
				{ name: 'internal-bot', token: 'BOT_TOKEN_1' },
				{ name: 'public-bot', token: 'BOT_TOKEN_2' }
			]
		},
		discord: { enabled: true, token: '...' },
		feishu: { enabled: true, appId: '...', appSecret: '...' }
	}
}

说实话我觉得这个"多平台汇聚"的设计挺牛的。不管你在飞书还是 Telegram 问它问题,上下文是通的——不过前提是你用的同一个 Agent 啊。多账号的场景在群里见过不少人用,比如公司内部一个 Bot 接研发群,另一个接客服群,各管各的但底层共享同一套技能。

群聊激活模式

把 Bot 拉到群里之后有个重要设置——激活模式。默认是 mention 模式,就是 @Bot 才回复:

/activation mention    # 只有 @Bot 才触发回复(默认,推荐群聊用)
/activation always     # 所有消息都回复(适合小群或专属频道)

always 模式在大群里慎用啊,不然每条消息都回,Token 费用蹭蹭涨不说,群友也会被刷屏搞烦的。我有个朋友在一个 200 人的 Discord 服务器开了 always 模式,一晚上烧了 $40 的 API 费用,第二天早上起来脸都绿了...

会话模型

顺便说下 OpenClaw 的会话模型。私聊就是一个用户对应一个主会话(main session),很直观。群聊的话默认是 group-isolated session——每个群有独立的上下文,A 群里聊的内容不会跑到 B 群去。这个设计挺合理的,不然跨群串上下文就乱套了。

平台怎么选?

刚入门先体验嘛 Telegram 最省心,这个没啥争议。国内团队协作选飞书、钉钉或企微。海外团队 Slack 或 Discord。想搞个人私密助手考虑 WhatsApp 或 iMessage。开发者社区 Discord 用得比较多。

别纠结选哪个了,反正后面都可以加,先跑起来再说吧。

聊天指令速查

连接成功后在任意平台都能用这些指令:

  • /status — 查看 Agent 状态
  • /new — 开始新对话
  • /reset — 重置上下文
  • /compact — 压缩对话历史(上下文太长的时候特别有用,我基本每天都要用一次)
  • /think <level> — 调整思考深度
  • /verbose — 切换详细模式
  • /usage — 查看 Token 用量
  • /activation <mode> — 切换群聊激活模式(mention/always)

常见问题

Q: Telegram Bot 不回复消息?

openclaw status 看看是不是正常运行的,确认 Bot Token 没填错,然后看 openclaw logs。大部分情况就是 Token 错了或者 Gateway 没启。这个问题简单到不好意思问但真的很多人碰到呢。

Q: 飞书事件回调收不到?

确保服务器有公网 IP 或者配了内网穿透。检查飞书开放平台的事件订阅 URL 对不对。对了,飞书有个 verification 过程,第一次配 URL 的时候要响应一个 challenge 请求——这步漏了的话后面全白搭。

Q: 能同时在手机和电脑上用吗?

没问题。消息平台本身就支持多设备嘛,OpenClaw 统一处理,不受影响。

Q: Gateway 连接不上?

先确认 Gateway Control Plane 跑起来了没——默认监听 ws://127.0.0.1:18789openclaw status 能看到 Gateway 状态。如果端口被占了可以在 openclaw.json 里改。还有个快速检查命令 openclaw doctor,能帮你扫一遍配置有没有明显问题,包括端口占用、Token 格式、权限之类的常见毛病。


平台接好之后你的 AI 助手就有了"嘴巴和耳朵"。不过现在它还不够聪明——接下来去配 LLM 提供商,给它换个更强的"大脑"吧。