主题
通道配置
通道是什么
Channel(通道) 是 OpenClaw 与外部聊天平台的连接桥梁。每个通道对应一个消息平台,让 Agent 能够在该平台上收发消息。
OpenClaw 支持 20+ 种聊天平台,包括飞书、微信、Telegram、Discord、WhatsApp、Slack、Signal、iMessage 等。部分通道随核心安装附带,其余通过官方/社区插件按需安装。
| 通道 | 接入方式 | 安装方式 |
|---|---|---|
| Telegram | Bot API (grammY) | 核心自带 |
| iMessage | macOS imsg 桥接 | 核心自带 |
| WebChat | Gateway WebSocket | 核心自带 |
| 飞书/Lark | WebSocket Bot | 官方插件 |
| Discord | Bot API | 官方插件 |
| Baileys(QR 扫码配对) | 官方插件 | |
| Slack | Bolt SDK | 官方插件 |
| 微信 | Tencent iLink Bot(QR 登录) | 外部插件 |
| QQ Bot | QQ Bot API | 官方插件 |
| Signal | signal-cli | 官方插件 |
| Matrix | Matrix 协议 | 官方插件 |
| Microsoft Teams | Bot Framework | 官方插件 |
openclaw.json 中的通道配置段
每个通道在 openclaw.json 中有独立的配置段:
json5
// ~/.openclaw/openclaw.json
{
channels: {
telegram: {
enabled: true,
botToken: "123456:ABC-DEF1234ghijk",
dmPolicy: "pairing", // pairing | allowlist | open | disabled
allowFrom: ["tg:123456789"], // allowlist 模式时指定允许的用户
},
feishu: {
enabled: true,
appId: "cli_xxxxxxxxxxxx",
appSecret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
dmPolicy: "pairing",
groupPolicy: "allowlist",
groupAllowFrom: ["oc_xxx"],
},
},
}DM 策略选项
- pairing(默认):陌生用户收到配对码,需管理员批准
- allowlist:仅
allowFrom列表中的用户可对话 - open:公开对话,但仍需
allowFrom包含"*" - disabled:完全禁用该通道的私聊
飞书通道配置
飞书是最受欢迎的企业级通道之一,通过 WebSocket 连接,无需公网 URL。
快速配置
bash
# 交互式配置向导
openclaw channels login --channel feishu
# 重启 Gateway 生效
openclaw gateway restart配置向导支持两种模式:
- 手动配置:粘贴飞书开放平台的 App ID 和 App Secret
- 扫码配置:在飞书 App 中扫码自动创建机器人
群聊配置
json5
{
channels: {
feishu: {
groupPolicy: "allowlist",
groupAllowFrom: ["oc_xxx", "oc_yyy"], // 允许的群 ID
requireMention: true, // 需要 @ 才会响应
groups: {
oc_xxx: {
requireMention: false, // 指定群不需要 @
allowFrom: ["ou_user1", "ou_user2"], // 限制群内发送者
},
},
},
},
}获取飞书群 ID 和用户 ID
bash
# 群 ID(oc_xxx):打开群 → 右上角菜单 → 设置 → 群 ID
# 用户 ID(ou_xxx):给机器人发一条私信 → 查看日志
openclaw logs --follow
# 搜索 open_id 字段
# 或查看配对请求
openclaw pairing list feishu微信通道
微信通道通过 Tencent iLink Bot 实现(外部插件),使用 QR 码扫码登录。
bash
# 安装微信通道插件
openclaw plugins install <微信插件名>
# 配置
openclaw channels login --channel wechat注意
微信通道对自动化行为有限制,建议:
- 使用专用微信号,不要用个人主号
- 控制消息频率,避免触发风控
- 只支持私聊,暂不支持群聊
Telegram Bot 配置
Telegram 是配置最简单的通道,只需一个 Bot Token。
第一步:创建 Bot
- 在 Telegram 中找到 @BotFather
- 发送
/newbot - 填写 Bot 名称和用户名
- 获取 Bot Token(格式:
123456:ABC-DEF1234ghijk)
第二步:配置 OpenClaw
json5
{
channels: {
telegram: {
enabled: true,
botToken: "123456:ABC-DEF1234ghijk",
dmPolicy: "pairing",
},
},
}bash
openclaw gateway restart第三步:开始对话
在 Telegram 中搜索你的 Bot 用户名,发送 /start 即可开始对话。首次对话会触发配对流程(取决于 dmPolicy 设置)。
经验:多通道与限流
多通道共用同一个 Agent
OpenClaw 默认行为:
- 私聊(DM):所有通道的私聊共享 Agent 的 main session
- 群聊:每个群聊自动创建独立 session
如果你需要按通道隔离,可以配置多 Agent 路由:
json5
{
agents: {
entries: [
{ id: "work", workspace: "~/.openclaw/workspace-work" },
{ id: "personal", workspace: "~/.openclaw/workspace-personal" },
],
},
routing: {
// 按通道路由到不同 Agent
},
}通道限流策略
| 策略 | 配置方式 | 适用场景 |
|---|---|---|
| 发送者白名单 | allowFrom | 个人使用 |
| 群组白名单 | groupAllowFrom | 团队使用 |
| @提及限制 | requireMention: true | 群聊防骚扰 |
| DM 配对 | dmPolicy: "pairing" | 安全第一 |
| Bot 循环保护 | channels.defaults.botLoopProtection | 防止两个 Bot 互聊死循环 |
生产环境提醒
不要把 dmPolicy 设为 "open" 且不加 allowFrom 限制,否则任何人都能调用你的 Agent,消耗 API 额度。
通道状态检查
bash
# 查看所有通道状态
openclaw channels status --probe
# 查看特定通道
openclaw channels status --probe --channel feishu
# 查看配对请求
openclaw pairing list <channel>下一步
掌握了通道配置后,继续学习 模型配置 →
加载练习题中...
🎯 本章要点
- Channel 是 OpenClaw 与外部聊天平台的连接桥梁
- 原生支持 Telegram、Discord,飞书是官方插件,微信通过外部插件接入