写在前面
最近在折腾 OpenClaw 时,最大的痛点就是飞书机器人的配置。官方文档分散,社区方案各异,加上权限、配对、插件冲突等问题,花了整整两天才搞定。这篇文章记录了完整的踩坑过程和最终可行的方案,希望能帮你省下这些时间。
一、准备工作
1.1 环境要求
-
Windows / macOS / Linux 均可(本文以 Windows 为例)
-
已安装 Node.js(建议 v18+)
-
已安装 OpenClaw(全局安装:
npm install -g openclaw) -
飞书账号(企业版或标准版均可)
1.2 你需要的东西
-
飞书开放平台的应用凭证(App ID 和 App Secret)
-
你的飞书个人 Open ID(用于接收私聊消息)
-
耐心(配置过程中可能会遇到几个坑,但都能解决)
二、飞书开放平台配置
2.1 创建企业自建应用
-
访问 飞书开放平台
-
点击「创建企业自建应用」
-
填写应用名称(如"龙虾助手"),上传图标
-
创建成功后,进入应用详情页
2.2 获取应用凭证
在左侧菜单点击「凭证与基础信息」,复制:
-
App ID (以
cli_开头) -
App Secret (以
se-开头,或是一串随机字符)
⚠️ 这两个凭证非常重要,后面配置 OpenClaw 时会用到。
2.3 配置权限
左侧点击「权限管理」,必须开启以下权限:
| 权限代码 | 说明 |
|---|---|
im:message |
发送消息 |
im:message.p2p_msg:readonly |
接收私聊消息 |
im:message.group_at_msg:readonly |
接收群聊 @ 消息 |
im:resource |
获取消息中的资源文件 |
contact:user.base:readonly |
获取用户基础信息 |
💡 如果开启了新权限,记得在「版本管理」中创建新版本并发布,否则权限不会生效。
2.4 配置事件订阅
左侧点击「事件订阅」,订阅方式选择:
-
「使用长连接接收事件」(不是 Webhook)
-
添加事件:
im.message.receive_v1(接收消息)
2.5 发布应用
左侧点击「版本管理」→「创建版本」→ 填写版本号(如 1.0.0)→「上线」。企业内部应用可自行审核通过。
三、OpenClaw 安装飞书插件
3.1 安装官方插件
powershell
openclaw plugins install @openclaw/feishu
3.2 检查已安装的插件
powershell
openclaw plugins list
如果看到多个飞书相关插件(如 @openclaw/feishu 和 openclaw-lark),建议只保留一个,避免冲突:
powershell
openclaw plugins disable openclaw-lark
3.3 配置 App ID 和 App Secret
OpenClaw 的飞书插件必须直接编辑配置文件,CLI 向导可能不包含飞书选项。
执行以下命令打开配置文件:
powershell
notepad "$env:USERPROFILE\.openclaw\openclaw.json"
添加或修改飞书配置:
json
{
"channels": {
"feishu": {
"enabled": true,
"connectionMode": "websocket",
"appId": "cli_你的AppID",
"appSecret": "你的AppSecret",
"dmPolicy": "open"
}
}
}
⚠️ 关键点:
connectionMode必须设为websocket(长连接)
dmPolicy设为open允许任何人私聊(避免配对问题)如果配置文件中有
plugins.entries.feishu项,建议删除,避免与channels.feishu冲突
3.4 重启网关
powershell
openclaw gateway restart
3.5 验证飞书状态
powershell
openclaw channels status feishu
应该显示 enabled, configured, running。
四、获取你的飞书 Open ID
飞书 API 不支持 "me" 作为接收者,需要你的真实 Open ID。
在飞书私聊中向你的机器人发送:
text
/status
机器人会回复类似这样的信息:
text
User: ou_8cae352df8a5d59a06b4eb06d716ab68
复制那个 ou_ 开头的字符串,后面会用到的。
💡 如果
/status没有回复,可以尝试发送任意消息,然后在 OpenClaw 日志中查找open_id。
五、解决常见的权限问题
5.1 设备配对
首次使用时,可能会遇到 scope upgrade pending approval 错误。
查看待批准的设备:
powershell
openclaw devices list
如果 Pending 列表中有请求,批准它:
powershell
openclaw devices approve <requestId>
5.2 网关模式配置
如果网关拒绝启动或报权限错误,检查配置:
powershell
openclaw config get gateway.mode
如果为空,设置为 local 模式:
powershell
openclaw config set gateway.mode local
openclaw gateway restart
六、测试飞书私聊
在飞书中找到你的机器人,发送:
text
你好
如果配置正确,机器人应该会回复你。如果回复很慢(几分钟),那是正常的,首次启动可能会有延迟。
七、实战案例:每天定时推送西安天气
7.1 创建定时任务
powershell
openclaw cron add `
--name "西安天气" `
--cron "0 9 * * *" `
--tz "Asia/Shanghai" `
--message "每天早上9点,用weather技能查询西安天气,然后通过飞书私聊发送给我" `
--announce `
--channel feishu `
--to "user:ou_你的OpenID"
⚠️ 注意:
--to必须使用user:ou_xxx格式,不能用"me"。
7.2 查看任务列表
powershell
openclaw cron list
输出示例:
text
ID Name Schedule Next Status
19f34cde-29b6-44a1-bfed-96b34b0c5c20 西安天气 cron 0 9 * * * @ Asia... in 18h idle
7.3 手动测试任务
powershell
openclaw cron run 19f34cde-29b6-44a1-bfed-96b34b0c5c20
7.4 查看任务执行记录
powershell
openclaw cron runs 19f34cde-29b6-44a1-bfed-96b34b0c5c20
八、常见问题排查
Q1:飞书机器人不回复任何消息
检查清单:
-
应用是否已发布?(版本管理 → 状态应为"已上线")
-
事件订阅是否选择"长连接"?
-
im.message.receive_v1事件是否已添加? -
配置文件中的
appId和appSecret是否正确?
Q2:报错 Invalid ids: [me]
原因 :飞书 API 不支持 "me" 作为接收者。
解决 :使用真实的 Open ID,格式 user:ou_xxxxxxxxxx。
Q3:报错 scope upgrade pending approval
解决:
powershell
openclaw devices list
openclaw devices approve <requestId>
Q4:飞书回复非常慢(几分钟)
可能原因:
-
Ollama 模型推理慢(检查
ollama ps是否正常运行) -
插件版本旧,不支持流式输出
优化方法:
powershell
# 升级插件
openclaw plugins install @openclaw/feishu --force
# 开启流式输出
openclaw config set channels.feishu.streaming true
# 重启网关
openclaw gateway restart
Q5:报错 ECONNABORTED 连接飞书超时
原因:插件尝试访问不存在的 API 端点。
解决 :更新到最新版本的飞书插件,并确保 connectionMode 设为 websocket。
九、性能优化建议
9.1 Ollama 加速(如果你使用本地模型)
使用独立显卡:
powershell
ollama serve --num-gpu 0.8 --batch-size 16
使用 CPU 模式:
powershell
ollama serve --cpu-only --threads 8
9.2 开启飞书插件流式输出
powershell
openclaw config set channels.feishu.streaming true
openclaw gateway restart
9.3 定时任务使用独立会话
创建任务时加上 --session isolated,避免与日常对话互相阻塞。
十、总结
配置 OpenClaw + 飞书机器人的核心要点:
-
飞书开放平台:创建应用 → 开启权限 → 配置长连接事件
-
OpenClaw 插件 :安装
@openclaw/feishu→ 编辑配置文件 → 重启网关 -
配对与权限 :批准设备请求 → 设置
gateway.mode=local -
Open ID :必须用真实 ID,不能用
"me" -
调试工具 :善用
openclaw logs --limit 50和openclaw devices list
完成以上配置后,你的飞书机器人应该能正常收发消息,并且可以创建定时任务实现自动化推送。
附录:常用命令速查
| 命令 | 说明 |
|---|---|
openclaw plugins install @openclaw/feishu |
安装飞书插件 |
openclaw channels status feishu |
查看飞书通道状态 |
openclaw gateway restart |
重启网关 |
openclaw devices list |
查看待批准的设备 |
openclaw devices approve <id> |
批准设备 |
openclaw cron add ... |
创建定时任务 |
openclaw cron list |
查看所有任务 |
openclaw cron run <id> |
手动运行任务 |
openclaw logs --limit 50 |
查看最近50条日志 |
希望这篇文章能帮你顺利配置 OpenClaw 飞书机器人。如果还有其他问题,欢迎在评论区留言交流