Skip to content

频道与配对机制(按官方 Channels/Pairing) ​

为什么这页重要 ​

OpenClaw 的"可用性"来自渠道接入,"可控性"来自配对与路由。 如果只接渠道不做配对策略,团队很快会出现串话、误触发和权限外溢。

参考:

渠道层能力版图 ​

官方目录覆盖:

即时通讯 ​

渠道特点适用场景
Discord社区友好、支持频道和线程开源社区、游戏团队
Telegram简单可靠、API 稳定个人助理、小团队
WhatsApp用户基数大、需 QR 配对客服、企业对接
Slack企业友好、支持 App 集成企业团队协作
Signal隐私优先、端到端加密敏感通信

企业协作 ​

渠道特点适用场景
Microsoft TeamsOffice 集成、企业标准企业办公
Google ChatG Suite 集成Google 生态团队
Feishu国内友好、多语言支持国内企业
Mattermost自托管、隐私可控安全敏感场景

其他渠道 ​

渠道特点适用场景
IRC轻量、开源社区开源项目
Nostr去中心化Web3 社区
iMessageApple 生态个人使用
Web Chat内嵌网页、无依赖客服、产品集成

配对与路由实践 ​

1. 按业务域配对 ​

yaml
# 按业务域配对
pairing:
  - name: dev-support
    channels: [discord-dev, slack-eng]
    agent: dev-agent
    tools: coding

  - name: customer-service
    channels: [whatsapp-cs, telegram-cs]
    agent: cs-agent
    tools: minimal

  - name: ops-alerts
    channels: [slack-ops, pagerduty]
    agent: ops-agent
    tools: exec

原则:每个业务域或项目线绑定独立会话策略,高风险项目不与低风险项目共享同一执行上下文。

2. 按环境配对 ​

yaml
# 按环境配对
environments:
  dev:
    channels: [discord-dev]
    agent: dev-agent
    tools: full
    approval: relaxed

  staging:
    channels: [slack-staging]
    agent: staging-agent
    tools: coding
    approval: standard

  prod:
    channels: [slack-prod, pagerduty]
    agent: prod-agent
    tools: minimal
    approval: strict

原则:dev / stage / prod 分离,生产环境默认只允许低风险查询与审阅类动作。

3. 按角色配对 ​

yaml
# 按角色配对
roles:
  developer:
    channels: [discord-dev, slack-eng]
    agent: dev-agent
    tools: coding
    approval:
      exec: on-miss

  product_manager:
    channels: [slack-pm]
    agent: pm-agent
    tools: minimal
    approval:
      all: off

  ops:
    channels: [slack-ops, pagerduty]
    agent: ops-agent
    tools: full
    approval:
      exec:elevated: always

原则:

  • 开发者:可触发构建、排障、脚本类能力(受审批策略约束)
  • 产品经理:优先只读与流程调度能力
  • 运维:单独保留高权限通道

渠道配置示例 ​

Discord 配置 ​

yaml
channels:
  discord:
    enabled: true
    bot_token: ${secrets.discord_bot_token}
    application_id: ${secrets.discord_app_id}

    # 服务器配置
    guilds:
      - id: '123456789'
        name: My Server

    # 频道映射
    channel_mapping:
      general: dev-agent
      support: cs-agent
      alerts: ops-agent

    # 权限配置
    permissions:
      admin_roles: [Admin, Moderator]
      allowed_channels: [general, support, alerts]

Telegram 配置 ​

yaml
channels:
  telegram:
    enabled: true
    bot_token: ${secrets.telegram_bot_token}

    # 群组配置
    groups:
      - id: '-100123456789'
        name: Dev Team
        agent: dev-agent

    # 私聊配置
    private:
      allowed_users: [123456789, 987654321]
      agent: personal-agent

Slack 配置 ​

yaml
channels:
  slack:
    enabled: true
    app_token: ${secrets.slack_app_token}
    bot_token: ${secrets.slack_bot_token}

    # 工作区配置
    workspace: my-workspace

    # 频道映射
    channel_mapping:
      C12345678: dev-agent # #dev
      C87654321: ops-agent # #ops
      C11111111: cs-agent # #support

    # 触发配置
    trigger:
      mention: true # @机器人 触发
      direct_message: true # 私聊触发
      channel_prefix: 'ai:' # 频道前缀触发

路由规则 ​

基于关键词路由 ​

yaml
routing:
  rules:
    - trigger: 'dev:'
      agent: dev-agent
      channels: ['*']

    - trigger: 'ops:'
      agent: ops-agent
      channels: [slack-ops, discord-ops]

    - trigger: help
      agent: support-agent
      channels: ['*']

基于频道路由 ​

yaml
routing:
  by_channel:
    discord-dev:
      agent: dev-agent
      tools: coding

    slack-ops:
      agent: ops-agent
      tools: full

    whatsapp-cs:
      agent: cs-agent
      tools: minimal

基于用户路由 ​

yaml
routing:
  by_user:
    U123456: # Admin user
      agent: admin-agent
      tools: full

    U789012: # Regular user
      agent: standard-agent
      tools: coding

上线检查清单 ​

bash
# 1. 检查渠道状态
openclaw channels list
openclaw channels status --probe

# 2. 检查配对状态
openclaw pairing list

# 3. 测试消息收发
# 通过已配置渠道发送测试消息

# 4. 检查路由规则
openclaw config get routing

# 5. 检查整体状态
openclaw status

配对验证清单 ​

markdown
- [ ] 渠道已正确配置并连接
- [ ] 配对状态显示 active
- [ ] 测试消息能收到回复
- [ ] 路由规则按预期生效
- [ ] 权限策略正确应用
- [ ] 审批流程正常工作

常见问题排查 ​

问题 1:渠道配对失败 ​

bash
# 检查渠道配置
openclaw channels show <channel-name>

# 重新配对
openclaw channels pair <channel-name> --force

# 查看日志
openclaw logs --filter "channel:<channel-name>"

问题 2:消息未触发 Agent ​

bash
# 检查触发规则
openclaw config get routing

# 检查频道映射
openclaw config get channel_mapping

# 查看会话日志
openclaw logs --filter "session"

问题 3:权限问题 ​

bash
# 检查权限配置
openclaw config get permissions

# 检查用户权限
openclaw users show <user-id>

# 安全审计
openclaw security audit

常用扩展阅读 ​

  • 分组与群消息:/channels/groups.md、/channels/group-messages.md
  • 渠道排障:/channels/troubleshooting.md