调研日期:2026-03-13
目标:实现 OpenClaw 同时对接 Telegram 和飞书(Lark)
一、当前环境分析
1.1 OpenClaw 现有配置
已配置的渠道:
渠道 │ 状态 │ 说明
─────────┼─────────────────┼────────────────────────────────────────────────
Telegram │ ✅ 正常运行 │ 3 个 bot(nexus、xiaoman、polymarket),DM 开放
飞书 │ ⚠️ Webhook 模式 │ 非原生 WebSocket,通过 bridge 中转 渠道 │ 状态 │ 说明
─────────┼─────────────────┼────────────────────────────────────────────────
Telegram │ ✅ 正常运行 │ 3 个 bot(nexus、xiaoman、polymarket),DM 开放
飞书 │ ⚠️ Webhook 模式 │ 非原生 WebSocket,通过 bridge 中转 当前飞书配置(~/.openclaw/openclaw.json):
{
"feishu": {
"domain": "lark",
"streaming": false,
"blockStreaming": false,
"textChunkLimit": 8000
}
}{
"feishu": {
"domain": "lark",
"streaming": false,
"blockStreaming": false,
"textChunkLimit": 8000
}
}1.2 当前飞书对接架构
现有方案:Webhook Bridge
飞书 → Cloudflare Tunnel → bridge.py (localhost:19800) → OpenClaw Gateway (localhost:18789)飞书 → 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:创建飞书应用
- 访问 飞书开放平台
- 创建企业应用
- 获取 App ID 和 App 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"
]
}
}{
"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:配置事件订阅
- 选择 使用长连接接收事件(WebSocket)
- 添加事件:
im.message.receive_v1
步骤 5:发布应用
在 版本管理与发布 中创建版本并提交审核。
2.3 OpenClaw 配置
方式一:CLI 配置(推荐)
openclaw channels add
# 选择 Feishu,输入 App ID 和 App Secretopenclaw channels add
# 选择 Feishu,输入 App ID 和 App Secret方式二:配置文件
{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"main": {
"appId": "[已脱敏]",
"appSecret": "xxx",
"botName": "内部助手"
}
}
}
}
}{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"main": {
"appId": "[已脱敏]",
"appSecret": "xxx",
"botName": "内部助手"
}
}
}
}
}飞书国际版(Lark)配置:
{
"channels": {
"feishu": {
"domain": "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 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 优化建议
- 统一代理:可考虑移除代理(如果网络可达)
- 安全策略:生产环境建议使用 pairing 模式
- Streaming:可开启流式响应提升体验
四、完整对接方案
4.1 目标架构
┌─────────────────────────────────────────────────────────────┐
│ 用户 │
├──────────────┬──────────────────────┬──────────────────────┤
│ Telegram │ 飞书 │ │
│ (原生) │ (原生) │ │
└──────┬───────┴──────────┬──────────┴──────────┬───────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────┐
│ OpenClaw Gateway │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Telegram │ │ Feishu │ │ 其他渠道 │ │
│ │ (WebSocket)│ │ (WebSocket)│ │ (WhatsApp等) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└──────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────┐
│ 用户 │
├──────────────┬──────────────────────┬──────────────────────┤
│ Telegram │ 飞书 │ │
│ (原生) │ (原生) │ │
└──────┬───────┴──────────┬──────────┴──────────┬───────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────┐
│ OpenClaw Gateway │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Telegram │ │ Feishu │ │ 其他渠道 │ │
│ │ (WebSocket)│ │ (WebSocket)│ │ (WhatsApp等) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└──────────────────────────────────────────────────────────────┘4.2 实施步骤
第一步:切换到原生飞书集成
- 停止当前 bridge 服务
- 配置 OpenClaw 飞书原生支持
- 重启 Gateway
- 验证飞书消息接收
# 配置飞书
openclaw channels add
# 选择 Feishu,输入 App ID 和 App Secret
# 重启 Gateway
openclaw gateway restart
# 查看状态
openclaw gateway status# 配置飞书
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"
}
}
}{
"channels": {
"telegram": {
"dmPolicy": "pairing",
"groupPolicy": "allowlist",
"streaming": "partial"
}
}
}第三步:配置群聊回复规则
飞书群聊支持两种模式:
strict:必须 @ 机器人才回复smart:智能判断,无 @ 也回复有价值的消息
{
"channels": {
"feishu": {
"accounts": {
"main": {
"groupPolicy": {
"groups": {
"[已脱敏]": {
"requireMention": true
}
}
}
}
}
}
}
}{
"channels": {
"feishu": {
"accounts": {
"main": {
"groupPolicy": {
"groups": {
"[已脱敏]": {
"requireMention": true
}
}
}
}
}
}
}
}五、飞书 Bot 高级功能
5.1 当前飞书 Bot 能力
基于现有配置,内部成员拥有的飞书 Bot:
能力 │ 状态 │ 说明
─────────────┼──────┼─────────────────
接收私聊消息 │ ✅ │ DM 策略:开放
接收群聊消息 │ ✅ │ 需 @ 或在群里
发送消息 │ ✅ │ send_as_bot
发送卡片消息 │ ✅ │ Interactive Card
处理媒体 │ ✅ │ 图片、文件等 能力 │ 状态 │ 说明
─────────────┼──────┼─────────────────
接收私聊消息 │ ✅ │ DM 策略:开放
接收群聊消息 │ ✅ │ 需 @ 或在群里
发送消息 │ ✅ │ send_as_bot
发送卡片消息 │ ✅ │ Interactive Card
处理媒体 │ ✅ │ 图片、文件等 5.2 飞书 API 能力(需额外配置)
能力 │ 权限名称 │ 用途
─────────────┼───────────────────────────────────┼─────────────
读取用户信息 │ contact:user.employee_id:readonly │ 获取用户身份
上传文件 │ im:resource │ 文件上传下载
创建群聊 │ im:chat:create │ 自动建群
@人 │ at:user │ 群聊@功能 能力 │ 权限名称 │ 用途
─────────────┼───────────────────────────────────┼─────────────
读取用户信息 │ contact:user.employee_id:readonly │ 获取用户身份
上传文件 │ im:resource │ 文件上传下载
创建群聊 │ im:chat:create │ 自动建群
@人 │ at:user │ 群聊@功能 5.3 消息类型支持
类型 │ 支持 │ 说明
───────┼──────┼─────────────────
文本 │ ✅ │ 基础文本消息
富文本 │ ✅ │ post 消息
卡片 │ ✅ │ Interactive Card
图片 │ ✅ │ image 消息
文件 │ ✅ │ file 消息
语音 │ ✅ │ audio 消息 类型 │ 支持 │ 说明
───────┼──────┼─────────────────
文本 │ ✅ │ 基础文本消息
富文本 │ ✅ │ post 消息
卡片 │ ✅ │ Interactive Card
图片 │ ✅ │ image 消息
文件 │ ✅ │ file 消息
语音 │ ✅ │ audio 消息 六、问题排查
6.1 常见问题
问题 │ 可能原因 │ 解决方案
───────────────┼──────────────────┼─────────────────────────
飞书消息收不到 │ Gateway 未运行 │ `openclaw gateway start`
事件订阅失败 │ WebSocket 未连接 │ 检查 gateway 状态
权限不足 │ 权限未配置 │ 在飞书开放平台添加权限
群聊无法回复 │ 未发布应用 │ 提交审核并发布 问题 │ 可能原因 │ 解决方案
───────────────┼──────────────────┼─────────────────────────
飞书消息收不到 │ 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# 查看 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 限制)
维护成本 │ 低 │ 高(额外服务) 维度 │ Telegram │ 飞书
───────────┼────────────────┼─────────────────────────
集成方式 │ 原生 WebSocket │ Webhook Bridge(需改造)
稳定性 │ 高 │ 中(依赖 bridge)
功能完整性 │ 完整 │ 部分(bridge 限制)
维护成本 │ 低 │ 高(额外服务) 7.2 建议方案
推荐:切换到原生飞书集成
优点:
- 无需公网暴露(WebSocket 长连接)
- 功能完整(原生支持所有飞书能力)
- 维护简单(OpenClaw 内置)
- 稳定性高
实施难度:
- 中等(需要重新配置飞书应用)
- 需要停机迁移(约 5 分钟)
7.3 实施优先级
- 内部排序:切换飞书到原生集成
- 内部排序:优化 Telegram 配置
- 内部排序:添加飞书高级功能(文件上传、用户识别等)
附录
A. 飞书应用权限清单
im:message # 接收消息
im:message:send_as_bot # 发送消息
im:message:readonly # 读取消息
im:chat.members:bot_access # 获取群成员
im:resource # 资源文件
aily:file:read # 读取文件
aily:file:write # 写入文件im:message # 接收消息
im:message:send_as_bot # 发送消息
im:message:readonly # 读取消息
im:chat.members:bot_access # 获取群成员
im:resource # 资源文件
aily:file:read # 读取文件
aily:file:write # 写入文件B. 相关链接
- 飞书开放平台:[内部链接已脱敏]
- OpenClaw 飞书文档:[内部链接已脱敏]
- 飞书 Bot 开发指南:[内部链接已脱敏]
C. 当前配置参考
飞书 App ID: [已脱敏]飞书 App ID: [已脱敏]报告撰写:内部助手 🌾
最后更新:2026-03-13 18:55 GMT+8