← 返回实践列表

OpenClaw + Telegram + 飞书对接方案研究报告

调研 OpenClaw 原生飞书集成方案,梳理从 Webhook Bridge 迁移到 WebSocket 长连接的完整路径与配置步骤

调研日期:2026-03-13

目标:实现 OpenClaw 同时对接 Telegram 和飞书(Lark)

一、当前环境分析

1.1 OpenClaw 现有配置

已配置的渠道

  渠道     │ 状态            │ 说明                                           
  ─────────┼─────────────────┼────────────────────────────────────────────────
  Telegram │ ✅ 正常运行      │ 3 个 bot(nexus、xiaoman、polymarket),DM 开放
  飞书     │ ⚠️ Webhook 模式 │ 非原生 WebSocket,通过 bridge 中转             

当前飞书配置(~/.openclaw/openclaw.json):

{
  "feishu": {
    "domain": "lark",
    "streaming": false,
    "blockStreaming": false,
    "textChunkLimit": 8000
  }
}

1.2 当前飞书对接架构

现有方案:Webhook Bridge

飞书 → Cloudflare Tunnel → bridge.py (localhost:19800) → OpenClaw Gateway (localhost:18789)

bridge.py 功能

  • 接收飞书事件(卡片消息、私聊、群聊)
  • 转发给 OpenClaw Gateway
  • 群聊智能回复(strict 模式:必须 @ 才回复)
  • 消息去重和持久化

问题

  • 非原生集成,依赖额外 bridge 服务
  • 需要 Cloudflare Tunnel 暴露公网
  • 功能受限(无法使用 OpenClaw 原生飞书功能)

二、OpenClaw 原生飞书集成

2.1 官方支持情况

OpenClaw 官方原生支持飞书,通过 WebSocket 长连接接收事件,无需公网暴露。

支持的功能

  • 私聊消息
  • 群聊消息(支持 @ 机器人)
  • 卡片消息(Interactive Card)
  • 发送消息(send_as_bot)
  • 媒体文件处理

2.2 配置步骤

步骤 1:创建飞书应用

  1. 访问 飞书开放平台
  2. 创建企业应用
  3. 获取 App IDApp Secret

步骤 2:配置权限

在飞书应用权限中批量导入:

{
  "scopes": {
    "tenant": [
      "im:message",
      "im:message:send_as_bot",
      "im:message:readonly",
      "im:chat.members:bot_access",
      "im:resource",
      "aily:file:read",
      "aily:file:write"
    ]
  }
}

步骤 3:启用机器人能力

应用能力 → 机器人 中启用并设置机器人名称。

步骤 4:配置事件订阅

  1. 选择 使用长连接接收事件(WebSocket)
  2. 添加事件:im.message.receive_v1

步骤 5:发布应用

版本管理与发布 中创建版本并提交审核。

2.3 OpenClaw 配置

方式一:CLI 配置(推荐)

openclaw channels add
# 选择 Feishu,输入 App ID 和 App Secret

方式二:配置文件

{
  "channels": {
    "feishu": {
      "enabled": true,
      "dmPolicy": "pairing",
      "accounts": {
        "main": {
          "appId": "cli_xxx",
          "appSecret": "xxx",
          "botName": "小满"
        }
      }
    }
  }
}

飞书国际版(Lark)配置

{
  "channels": {
    "feishu": {
      "domain": "lark"
    }
  }
}

三、Telegram 对接现状

3.1 当前配置

已有 3 个 Telegram bot

  Bot        │ Token                         │ DM 策略 │ 群聊策略 
  ───────────┼───────────────────────────────┼─────────┼──────────
  nexus      │ 8605513784:AAHpV9JvZECkHc0... │ pairing │ allowlist
  xiaoman    │ 8679985454:AAFMmTZSHeBL_...   │ open    │ open     
  polymarket │ 8617997098:AAFtetMdfopk_...   │ open    │ allowlist

配置特点

  • 均使用代理:http://127.0.0.1:7897
  • DM 策略:nexus 需配对,其他开放
  • 群聊:xiaoman 完全开放,其他需白名单

3.2 优化建议

  1. 统一代理:可考虑移除代理(如果网络可达)
  2. 安全策略:生产环境建议使用 pairing 模式
  3. Streaming:可开启流式响应提升体验

四、完整对接方案

4.1 目标架构

┌─────────────────────────────────────────────────────────────┐
│                        用户                                  │
├──────────────┬──────────────────────┬──────────────────────┤
│   Telegram   │       飞书           │                     │
│   (原生)     │       (原生)         │                     │
└──────┬───────┴──────────┬──────────┴──────────┬───────────┘
       │                   │                      │
       ▼                   ▼                      ▼
┌──────────────────────────────────────────────────────────────┐
│                    OpenClaw Gateway                         │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │
│  │ Telegram    │  │   Feishu    │  │     其他渠道         │  │
│  │ (WebSocket)│  │ (WebSocket)│  │   (WhatsApp等)      │  │
│  └─────────────┘  └─────────────┘  └─────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

4.2 实施步骤

第一步:切换到原生飞书集成

  1. 停止当前 bridge 服务
  2. 配置 OpenClaw 飞书原生支持
  3. 重启 Gateway
  4. 验证飞书消息接收
# 配置飞书
openclaw channels add
# 选择 Feishu,输入 App ID 和 App Secret

# 重启 Gateway
openclaw gateway restart

# 查看状态
openclaw gateway status

第二步:优化 Telegram 配置

根据需要调整 DM 和群聊策略:

{
  "channels": {
    "telegram": {
      "dmPolicy": "pairing",
      "groupPolicy": "allowlist",
      "streaming": "partial"
    }
  }
}

第三步:配置群聊回复规则

飞书群聊支持两种模式:

  • strict:必须 @ 机器人才回复
  • smart:智能判断,无 @ 也回复有价值的消息
{
  "channels": {
    "feishu": {
      "accounts": {
        "main": {
          "groupPolicy": {
            "groups": {
              "oc_0c097efa8e1dd026ed84a61d7a22fe80": {
                "requireMention": true
              }
            }
          }
        }
      }
    }
  }
}

五、飞书 Bot 高级功能

5.1 当前飞书 Bot 能力

基于现有配置,空空拥有的飞书 Bot:

  能力         │ 状态 │ 说明            
  ─────────────┼──────┼─────────────────
  接收私聊消息 │ ✅    │ DM 策略:开放   
  接收群聊消息 │ ✅    │ 需 @ 或在群里   
  发送消息     │ ✅    │ send_as_bot     
  发送卡片消息 │ ✅    │ Interactive Card
  处理媒体     │ ✅    │ 图片、文件等    

5.2 飞书 API 能力(需额外配置)

  能力         │ 权限名称                          │ 用途        
  ─────────────┼───────────────────────────────────┼─────────────
  读取用户信息 │ contact:user.employee_id:readonly │ 获取用户身份
  上传文件     │ im:resource                       │ 文件上传下载
  创建群聊     │ im:chat:create                    │ 自动建群    
  @人          │ at:user                           │ 群聊@功能   

5.3 消息类型支持

  类型   │ 支持 │ 说明            
  ───────┼──────┼─────────────────
  文本   │ ✅    │ 基础文本消息    
  富文本 │ ✅    │ post 消息       
  卡片   │ ✅    │ Interactive Card
  图片   │ ✅    │ image 消息      
  文件   │ ✅    │ file 消息       
  语音   │ ✅    │ audio 消息      

六、问题排查

6.1 常见问题

  问题           │ 可能原因         │ 解决方案                
  ───────────────┼──────────────────┼─────────────────────────
  飞书消息收不到 │ Gateway 未运行   │ `openclaw gateway start`
  事件订阅失败   │ WebSocket 未连接 │ 检查 gateway 状态       
  权限不足       │ 权限未配置       │ 在飞书开放平台添加权限  
  群聊无法回复   │ 未发布应用       │ 提交审核并发布          

6.2 调试命令

# 查看 Gateway 状态
openclaw gateway status

# 查看飞书通道日志
openclaw logs --follow | grep -i feishu

# 测试发送消息
openclaw message send --to <user_id> --message "测试"

# 飞书通道诊断
openclaw doctor

七、结论与建议

7.1 当前评估

  维度       │ Telegram       │ 飞书                    
  ───────────┼────────────────┼─────────────────────────
  集成方式   │ 原生 WebSocket │ Webhook Bridge(需改造)
  稳定性     │ 高             │ 中(依赖 bridge)       
  功能完整性 │ 完整           │ 部分(bridge 限制)     
  维护成本   │ 低             │ 高(额外服务)          

7.2 建议方案

推荐:切换到原生飞书集成

优点:

  • 无需公网暴露(WebSocket 长连接)
  • 功能完整(原生支持所有飞书能力)
  • 维护简单(OpenClaw 内置)
  • 稳定性高

实施难度:

  • 中等(需要重新配置飞书应用)
  • 需要停机迁移(约 5 分钟)

7.3 实施优先级

  1. P0:切换飞书到原生集成
  2. P1:优化 Telegram 配置
  3. P2:添加飞书高级功能(文件上传、用户识别等)

附录

A. 飞书应用权限清单

im:message                    # 接收消息
im:message:send_as_bot        # 发送消息
im:message:readonly           # 读取消息
im:chat.members:bot_access    # 获取群成员
im:resource                  # 资源文件
aily:file:read              # 读取文件
aily:file:write             # 写入文件

B. 相关链接

C. 当前配置参考

飞书 App ID: cli_a9147270bf785eef
飞书 App Secret: E0uJ4NbE4eAlMzN2wxbZIfTLgtmxZahD
GenGo 群 chat_id: oc_0c097efa8e1dd026ed84a61d7a22fe80
测试群 chat_id: oc_ff7ba9324d31ac25051ddb1e927cfa2b
空空 open_id: ou_f51b1ac9513c91b557b2e1017ae75fc4

报告撰写:小满 🌾

最后更新:2026-03-13 18:55 GMT+8

分享