1152 字
6 分钟
OpenClaw 多渠道消息配置:统一管理你的所有聊天平台
为什么需要多渠道支持?
现代人有多个沟通渠道:
- 工作:企业微信、钉钉、飞书
- 生活:微信、QQ
- 开发:Discord、Telegram
- 国外:WhatsApp、Signal
如果每个平台都要单独配置一个 AI 助手,那太麻烦了。
OpenClaw 的设计思路是:一个 AI,所有渠道。
支持的消息渠道
OpenClaw 目前支持以下渠道:
| 渠道 | 平台 | 需要的凭证 |
|---|---|---|
| Telegram | Telegram | Bot Token |
| API Key | ||
| Discord | Discord | Bot Token |
| QQ Bot | Bot Token | |
| 企业微信 | 企业微信 | CorpID, Secret |
| 钉钉 | 钉钉 | AppKey, AppSecret |
| 飞书 | 飞书 | AppID, AppSecret |
| Signal | Signal | Signal CLI |
配置文件结构
OpenClaw 的配置文件位于:
~/.openclaw/config.yaml或者使用环境变量覆盖:
export BLOG_TITLE="My Blog"基础配置示例
model: provider: zhipu model: glm-4 apiKey: your_api_key
channels: qqbot: enabled: true telegram: botToken: your_bot_token enabled: falseQQ Bot 配置
QQ Bot 是最常用的渠道之一。
获取 QQ Bot Token
- 申请 QQ 机器人账号
- 获取 Bot Token
配置示例
channels: qqbot: enabled: true botToken: your_qq_bot_token # 可选配置 allowList: # 允许访问的用户/群组 - "用户ID1" - "用户ID2" denyList: # 拒绝访问的用户/群组 - "被封用户ID" inlineButtons: "dm" # 内联按钮支持:dm(私聊), group(群聊), all(所有), allowlist(白名单)允许/拒绝列表
控制谁可以与你的 AI 对话:
channels: qqbot: allowList: - "EF8BB6C433AD64C02811E441F9E47CB9" # 只允许特定用户 # 或者 denyList: - "被封用户ID" # 拒绝特定用户Telegram 配置
创建 Telegram Bot
- 在 Telegram 中搜索 @BotFather
- 发送
/newbot命令 - 按提示设置 bot 名称和用户名
- 获得 Bot Token
配置示例
channels: telegram: enabled: true botToken: your_telegram_bot_token # 可选:限制只允许特定用户 allowList: - "username1" - "username2"企业微信配置
获取企业微信凭证
- 登录企业微信管理后台
- 应用管理 → 创建应用
- 获取
CorpID和应用的Secret
配置示例
channels: wecom: enabled: true corpId: your_corp_id agentId: your_agent_id secret: your_secret钉钉配置
获取钉钉凭证
- 登录钉钉开发者后台
- 创建应用
- 获取
AppKey和AppSecret
配置示例
channels: dingtalk: enabled: true appKey: your_app_key appSecret: your_app_secret飞书配置
获取飞书凭证
- 登录飞书开放平台
- 创建企业自建应用
- 获取
AppID和AppSecret
配置示例
channels: feishu: enabled: true appId: your_app_id appSecret: your_app_secret多渠道同时使用
你可以同时启用多个渠道:
channels: qqbot: enabled: true botToken: qq_bot_token
telegram: enabled: true botToken: telegram_bot_token
wecom: enabled: true corpId: corp_id agentId: agent_id secret: secret每个渠道的用户是独立的,但 AI 的知识和记忆是共享的。
渠道隔离
虽然 AI 的记忆是共享的,但有些情况下需要渠道隔离:
主会话 vs 共享会话
主会话(Main Session):
- 与你的直接对话
- 可以访问 MEMORY.md 等敏感信息
- 通常是私聊
共享会话:
- 群聊、Discord 公共频道等
- 不加载敏感信息
- AI 表现更”公开”
配置隔离
channels: qqbot: enabled: true sessionMode: main # 主会话模式
discord: enabled: true sessionMode: shared # 共享会话模式消息格式差异
不同渠道有不同的消息格式:
富文本支持
| 渠道 | Markdown | 代码块 | 表格 | 图片 |
|---|---|---|---|---|
| Telegram | ✅ | ✅ | ❌ | ✅ |
| Discord | ✅ | ✅ | ❌ | ✅ |
| ✅ | ✅ | ❌ | ✅ | |
| 企业微信 | ✅ | ✅ | ❌ | ✅ |
| ❌ | ❌ | ❌ | ✅ |
代码块示例
\`\`\`pythonprint("Hello, World!")\`\`\`大多数渠道支持代码块高亮。
跨平台消息发送
使用 message 工具可以主动发送消息到任意渠道:
# 在 cron 任务中发送消息channels: qqbot: enabled: true
# 定时任务配置cron: - name: "Morning reminder" time: "09:00" channel: qqbot to: "EF8BB6C433AD64C02811E441F9E47CB9" message: "早上好!新的一天开始了。"渠道最佳实践
1. 私聊用主会话
channels: qqbot: sessionMode: main # 私聊使用主会话2. 群聊用共享会话
channels: discord: sessionMode: shared # 群聊使用共享会话3. 敏感操作需要确认
channels: qqbot: requireConfirmation: true # 敏感操作需要确认4. 白名单控制访问
channels: qqbot: allowList: - "EF8BB6C433AD64C02811E441F9E47CB9"调试渠道配置
查看 Gateway 日志
openclaw gateway logs测试消息发送
# 发送测试消息echo "测试消息" | openclaw channel send --channel qqbot --to "用户ID"检查渠道状态
openclaw gateway status切换渠道
如果某个渠道需要临时禁用:
channels: qqbot: enabled: false # 临时禁用
telegram: enabled: true # 启用另一个渠道修改配置后重启 Gateway:
openclaw gateway restart总结
OpenClaw 的多渠道支持让你可以:
- 统一管理所有平台的 AI 助手
- 根据渠道特点调整配置
- 控制访问权限和会话模式
- 跨平台发送消息
关键要点:
- 每个渠道独立配置凭证
- 主会话和共享会话注意隔离
- 使用白名单控制访问
- 修改配置后需要重启 Gateway
一个 AI,所有渠道。这就是 OpenClaw 的强大之处。
辉哥说: 不要为每个平台分别配置。用一个 AI,掌控所有渠道。🤖
OpenClaw 多渠道消息配置:统一管理你的所有聊天平台
https://www.599.red/posts/openclaw-channels-config/