github star gitee star atomgit star PyPI Downloads AI 编程 AI 交流群

大家好,我是正在实战各种AI项目的程序员晚枫。

从今天开始,我们进入第二阶段:通道连接。在正式连接Telegram、WhatsApp等具体平台之前,先理解核心概念——这就像学开车前要先了解交通规则。


🚀 开篇:什么是"通道"?

通道(Channel) 就是消息进出的"管道"。

打个比方:

想象OpenClaw是一个快递公司

  • 你的消息是包裹
  • 不同的聊天软件(微信/Telegram/Discord)是不同的快递网点
  • 通道就是连接这些网点和快递公司总部的运输线路

通过通道,你可以:

  • 📤 从微信/Telegram/WhatsApp发送消息给AI
  • 📥 让AI回复到这些平台

OpenClaw支持的通道类型

类型代表平台接入方式难度
即时通讯Telegram/WhatsApp/SignalBot API或官方库
社交软件Discord/SlackBot Token
国内平台微信/钉钉/飞书插件或Webhook⭐⭐⭐
传统协议IRC/Matrix标准协议⭐⭐
其他iMessage/SMS特殊方案⭐⭐⭐

Pairing机制详解 🔑

Pairing(配对) 是OpenClaw建立通道连接的核心机制。就像手机连蓝牙音箱——需要先"配对"才能用。

配对流程

1
2
3
4
5
6
7
8
9
10
11
12
┌─────────┐     1.发起配对      ┌──────────┐
│ 用户 │ ─────────────────▶ │ Gateway │
│ (手机) │ │ (服务器) │
└─────────┘ └──────────┘
│ │
│ 2.扫描二维码/输入验证码 │
│ ◀────────────────────────────│
│ │
│ 3.确认授权 │
│ ────────────────────────────▶│
│ │
│◀──────── 4.配对成功 ─────────│

不同平台的配对方式

方式适用平台安全性便捷性说明
QR码扫描WhatsApp/微信⭐⭐⭐⭐⭐⭐手机扫电脑屏幕的二维码
Token输入Telegram/Discord⭐⭐⭐⭐⭐⭐把平台的Token填进配置
OAuth授权Slack/飞书⭐⭐⭐⭐⭐⭐⭐⭐在网页点击授权
手机号验证Signal/iMessage⭐⭐⭐⭐⭐⭐输入手机号收验证码

安全认证体系 🔐

OpenClaw有三层防护,确保只有授权的人才能使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
┌─────────────────────────────────────┐
│ Layer 3: Application Level │
│ 应用层:allowFrom白名单 │
│ - 特定用户ID才能用 │
│ - 群组@触发规则 │
├─────────────────────────────────────┤
│ Layer 2: Channel Level │
│ 通道层:Bot Token验证 │
│ - Telegram Bot Token │
│ - Session加密 │
├─────────────────────────────────────┤
│ Layer 1: Gateway Level │
│ 网关层:Auth Token │
│ - 访问令牌验证 │
│ - TLS/HTTPS加密 │
└─────────────────────────────────────┘

Layer 1: Gateway层认证

所有请求必须携带有效的Auth Token:

1
2
3
# 请求头中包含Authorization
curl -H "Authorization: Bearer your-token" \
http://localhost:18789/api/status

配置:

1
2
3
4
5
6
7
8
{
"gateway": {
"auth": {
"type": "token",
"token": "your-secret-token-min-32-chars"
}
}
}

Layer 2: Channel层认证

每个通道有自己的认证方式:

Telegram:Bot Token

1
2
3
4
5
6
7
{
"channels": {
"telegram": {
"botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
}
}
}

WhatsApp:Session密钥

1
2
3
4
5
6
7
8
{
"channels": {
"whatsapp": {
"sessionName": "default",
"pairingCode": null
}
}
}

Layer 3: Application层控制

最细粒度的权限控制——谁可以用:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"channels": {
"telegram": {
"allowFrom": [123456789, 987654321],
"blockFrom": [111111111],
"groups": {
"allowedGroups": [-1001234567890],
"requireMention": true,
"mentionPatterns": ["@mybot", "/ai"]
}
}
}
}

权限配置最佳实践

场景1:个人使用(最严格)🔒

只有自己能用的配置:

1
2
3
4
5
6
7
8
{
"channels": {
"telegram": {
"allowFrom": ["你的Telegram用户ID"],
"groups": {"enabled": false}
}
}
}

场景2:小团队使用(适度开放)👥

团队成员都能用:

1
2
3
4
5
6
7
8
9
10
11
{
"channels": {
"telegram": {
"allowFrom": ["成员1的ID", "成员2的ID", "成员3的ID"],
"groups": {
"allowedGroups": ["团队群ID"],
"requireMention": true
}
}
}
}

场景3:公开服务(开放但限制)🌐

任何人可以用,但有限制:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"channels": {
"telegram": {
"allowFrom": [],
"rateLimit": {
"requestsPerMinute": 10,
"requestsPerHour": 100
},
"usageQuota": {
"dailyTokens": 100000
}
}
}
}

如何获取用户ID?

Telegram

发送消息给 @userinfobot,它会返回你的用户ID:

1
2
User ID: 123456789
First name: 你的名字

或者在Control UI中发送消息,查看日志:

1
[telegram] Message from user_id: 123456789

WhatsApp

就是你的手机号,格式:+86138xxxxxxxx

Discord

  1. 开启开发者模式(设置→高级→开发者模式)
  2. 右键点击用户头像→复制用户ID

获取用户ID速查表

平台方法
Telegram@userinfobot 或查看日志
WhatsApp手机号
Discord开发者模式→右键头像→复制ID
微信查看日志中的wxid

通道状态管理

查看通道状态

1
2
3
4
5
# 列出所有通道
openclaw channels list

# 查看特定通道详情
openclaw channels status telegram

连接/断开通道

1
2
3
4
5
6
7
8
# 连接通道
openclaw channels connect telegram

# 断开通道
openclaw channels disconnect telegram

# 重新配对(如WhatsApp掉线)
openclaw channels repair whatsapp

故障排查 🛠️

问题1:配对失败

可能原因

  • Token无效或过期
  • 网络连接问题
  • 平台限制(如国内访问Telegram需要代理)

解决步骤

1
2
3
4
5
6
7
8
9
# 检查日志
tail -f ~/.openclaw/state/logs/channels.log

# 测试网络连通性(Telegram)
curl https://api.telegram.org/bot<token>/getMe

# 如果是国内,检查代理配置
export HTTPS_PROXY=http://127.0.0.1:7890
openclaw channels connect telegram

问题2:收不到消息

检查清单

  • Gateway是否运行:openclaw gateway status
  • 通道是否已连接:openclaw channels status
  • 用户是否在allowFrom列表
  • 群组中是否正确@了Bot

问题3:消息发不出去

检查清单

  • API密钥是否有效
  • 是否触发了频率限制
  • 目标用户是否屏蔽了Bot

通道选择建议

你的用户群体推荐通道原因
海外用户Telegram + Discord稳定、功能丰富
国内用户企业微信 + 飞书官方支持,稳定
混合用户多通道配置一套系统服务所有人
技术团队Discord + Slack代码分享体验好

下节预告

下一讲我们将实战连接Telegram,这是最简单的入门通道,5分钟搞定。

👉 继续阅读:第7讲-Telegram通道连接实战


💬 加入学习交流群

通道连接问题?加群交流:

👉 点击加入交流群


推荐:AI Python编程实战营

🎁 限时福利:送《利用Python进行数据分析》实体书

👉 点击了解详情


---## 📚 完整学习路线这是OpenClaw入门课程的第X讲。查看完整课程大纲:👉 **OpenClaw入门课程大纲**课程包含30讲,从安装部署到实战项目,带你全面掌握OpenClaw。

课程导航

上一篇: 第5讲-模型提供商配置

下一篇: 第7讲-Telegram通道连接实战


PS:理解Pairing机制和权限控制,是安全使用OpenClaw的基础。不要跳过这一讲!


💬 联系我

平台账号/链接
微信扫码加好友
微博@程序员晚枫
知乎@程序员晚枫
抖音@程序员晚枫
小红书@程序员晚枫
B 站Python 自动化办公社区

主营业务:AI 编程培训、企业内训、技术咨询

🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!