Skip to content
广告 · 本站推荐广告

渠道概览 - 多平台消息接入

渠道(Channel)是 OpenClaw 中连接外部消息平台的核心模块。通过渠道系统,你的 Agent(智能体)可以同时接入多个平台,统一处理来自不同来源的消息。

什么是渠道

Channel(渠道)本质上是一个消息平台的集成适配器。每个渠道负责:

  • 接收消息:从目标平台获取用户发送的消息
  • 格式转换:将平台特有的消息格式转换为 OpenClaw 统一的内部格式
  • 发送回复:将 Agent 的回复转换回平台格式并发送给用户
  • 管理会话:维护用户的会话状态和上下文

核心概念

渠道是 OpenClaw 与外部世界沟通的桥梁。没有渠道,Agent 只能通过 CLI(命令行界面)或 API 交互。配置渠道后,Agent 就能通过用户熟悉的聊天工具直接对话。

系统架构

OpenClaw 的渠道系统采用三层架构设计:

┌──────────────────────────────────────────────────┐
│                   OpenClaw Core                   │
│              (Agent / Session Manager)            │
└──────────────────┬───────────────────────────────┘

         ┌─────────┴─────────┐
         │   Gateway (网关)    │
         └─────────┬─────────┘

    ┌──────────────┼──────────────┐
    │              │              │
┌───┴───┐    ┌────┴────┐   ┌────┴────┐
│Adapter│    │ Adapter  │   │ Adapter │
│(Slack)│    │(Telegram)│   │(WeChat) │
└───┬───┘    └────┬────┘   └────┬────┘
    │              │              │
┌───┴───┐    ┌────┴────┐   ┌────┴────┐
│ Slack │    │Telegram  │   │ WeChat  │
│  API  │    │ Bot API  │   │   API   │
└───────┘    └─────────┘   └─────────┘

Gateway(网关) 负责统一调度,Channel Adapter(渠道适配器) 负责协议转换,Platform API(平台接口) 是具体的第三方服务。

支持的渠道

OpenClaw 目前支持以下渠道,按类别分组:

IM(即时通讯)

渠道标识符状态说明
Telegramtelegram✅ 稳定支持私聊、群组、Inline Mode
WhatsAppwhatsapp✅ 稳定通过 WhatsApp Business API 接入
Signalsignal🧪 实验通过 Signal CLI 接入

社交平台(Social)

渠道标识符状态说明
Discorddiscord✅ 稳定支持 Server、Thread、DM
Slackslack✅ 稳定支持 Workspace、Channel、DM
Matrixmatrix🧪 实验开源去中心化协议

企业通讯(Enterprise)

渠道标识符状态说明
飞书 / Feishufeishu✅ 稳定支持单聊、群聊、机器人消息卡片
企业微信 / WeComwecom✅ 稳定支持应用消息、群聊机器人
钉钉 / DingTalkdingtalk✅ 稳定支持单聊、群聊、互动卡片
Microsoft Teamsteams🧪 实验通过 Bot Framework 接入

自托管(Self-hosted)

渠道标识符状态说明
Web Chatwebchat✅ 稳定可嵌入任何网页的聊天组件
REST APIapi✅ 稳定通用 HTTP API 接口
WebSocketwebsocket✅ 稳定实时双向通讯

渠道生命周期

每个渠道从启用到运行,遵循以下 Lifecycle(生命周期):

enable → configure → pair → running
  │          │         │        │
  │          │         │        └─ 正常运行,收发消息
  │          │         └─ 配对认证,验证用户身份
  │          └─ 填写平台凭据和参数
  └─ 在配置中启用渠道

快速上手

大多数渠道只需三步:启用 → 填写 Token → 运行。配对认证是可选的安全机制,详见 配对认证

通用配置模式

所有渠道共享一套统一的 Config Pattern(配置模式),在 openclaw.yaml 中配置:

yaml
channels:
  telegram:
    enabled: true
    dmPolicy: pairing      # DM 策略:pairing / allowlist / open
    allowFrom:              # 允许的用户列表(allowlist 模式时必填)
      - "user_123"
      - "user_456"
    groups:                 # 群组配置
      - id: "group_789"
        requireMention: true
bash
# 环境变量后备模式(Environment Variable Fallback)
# 格式:CHANNEL_NAME_KEY
export TELEGRAM_BOT_TOKEN="your-bot-token-here"
export TELEGRAM_ENABLED="true"
export SLACK_BOT_TOKEN="xoxb-your-token"
export SLACK_APP_TOKEN="xapp-your-token"
export FEISHU_APP_ID="cli_your_app_id"
export FEISHU_APP_SECRET="your_app_secret"

安全提示

永远不要将 Token 或 Secret 直接写入配置文件并提交到版本控制。推荐使用环境变量或 .env 文件管理敏感信息。

通用配置字段说明

字段类型默认值说明
enabledbooleanfalse是否启用该渠道
dmPolicystring"pairing"DM(私信)策略
allowFromstring[][]允许的用户 ID 列表
groupsobject[][]群组配置列表

渠道状态管理

查看渠道状态

使用 CLI 查看所有渠道的运行状态:

bash
# 查看所有渠道状态
openclaw channels status

# 输出示例:
# Channel     Status    DM Policy   Groups   Last Activity
# telegram    running   pairing     2        2 min ago
# slack       running   allowlist   5        just now
# feishu      stopped   pairing     0        -
# whatsapp    error     open        1        10 min ago

启用与禁用渠道

bash
# 启用渠道
openclaw config set channels.telegram.enabled true --json

# 禁用渠道
openclaw config set channels.telegram.enabled false --json

# 热重载配置(无需重启)
openclaw channels reload

# 重启特定渠道
openclaw channels restart telegram

DM Policy(私信策略)详解

DM Policy(私信策略)控制谁可以通过私信与你的 Agent 对话。OpenClaw 提供三种策略:

1. Pairing(配对模式) — 默认

yaml
dmPolicy: pairing

用户首次发送消息时,Agent 生成一个 Pairing Code(配对码),需要 Owner(管理员)在 CLI 或控制台中批准后才能对话。

  • ✅ 最安全,适合生产环境
  • ❌ 每个新用户都需要手动批准

2. Allowlist(白名单模式)

yaml
dmPolicy: allowlist
allowFrom:
  - "U001"
  - "U002"

只有预先添加到 Allowlist(白名单)中的用户 ID 才能与 Agent 对话,其他用户的消息会被忽略。

  • ✅ 无需逐个审批,适合团队内部使用
  • ❌ 需要提前知道用户 ID

3. Open(开放模式)

yaml
dmPolicy: open

任何人都可以直接与 Agent 对话,无需任何验证。

  • ✅ 零门槛,适合公共服务场景
  • ❌ 存在滥用风险,请配合 Rate Limiting(速率限制)使用

安全警告

open 模式意味着任何人都可以消耗你的 API 额度。请务必配合速率限制和用量监控使用,或仅在内部测试环境中启用。

渠道专题页面

每个渠道的详细配置和接入指南请参阅对应文档:

最佳实践

  1. 从 Pairing 模式开始:生产环境推荐先用 Pairing 模式,逐步开放
  2. 使用环境变量:所有 Token/Secret 通过环境变量注入,不要硬编码
  3. 监控渠道状态:定期检查 openclaw channels status,关注异常状态
  4. 分渠道配置策略:不同渠道可以使用不同的 DM Policy,按需设置
  5. 启用日志openclaw logs --channel telegram 可查看特定渠道的详细日志

🇨🇳 中国用户须知

推荐渠道选择: 中国企业用户推荐优先接入 飞书(Feishu)企业微信(WeCom)钉钉(DingTalk),这三个平台在国内网络环境下访问稳定,且与国内企业办公生态深度集成。

海外渠道代理: WhatsApp、Telegram、Discord、Slack 等海外平台在中国大陆可能需要通过代理(Proxy)访问。可在配置中设置 HTTP 代理:

yaml
channels:
  telegram:
    enabled: true
    proxy: "http://your-proxy:8080"    # HTTP/SOCKS5 代理地址
    # 或通过环境变量设置
    # HTTPS_PROXY=http://your-proxy:8080

合规提示: 如果你的 Agent 面向国内用户提供服务,请确保遵守《生成式人工智能服务管理暂行办法》等相关法规,完成必要的算法备案和安全评估。

基于MIT协议开源 | 内容翻译自 官方文档,同步更新