OpenClaw的cron任务飞书通知失败,报错"lark通道未配置"。排查发现配置中通道名应为feishu而非lark,修正后仍报"Unknown channel"。通过CLI测试定位到根本原因是缺少@larksuiteoapi/node-sdk依赖。安装该SDK并重启Gateway后问题解决。关键教训:遇"Unknown channel"错误时使用CLI可获取更详细错误信息,此类问题常因依赖缺失
问题现象
在使用 OpenClaw 的 cron 定时任务时,飞书通知发送失败,报错信息:
飞书通知: ❌ 发送失败 (lark 通道未配置)
排查过程
第一步:检查 Cron 任务配置
首先检查 cron 任务的配置,发现 payload 里写的是 lark://openclaw-lark/5346,而 OpenClaw 的飞书通道名应该是 feishu:
"payload": {
"kind": "agentTurn",
"message": "...用 lark://openclaw-lark/5346 这个分类"
}
修正为 feishu://openclaw-lark/5346。
第二步:测试飞书通道
尝试用 message 工具发送飞书消息,结果报错:
Action send requires a target.
修正参数名后,又报:
Unknown channel: feishu
第三步:CLI 测试定位根因
用 OpenClaw CLI 测试:
openclaw message send --channel feishu --target ou_xxx -m "测试"
终于看到真正的错误信息:
Error: Cannot find module @larksuiteoapi/node-sdk
Error: Unknown channel: feishu
根本原因
飞书插件依赖的 SDK @larksuiteoapi/node-sdk 没有安装,导致整个飞书通道加载失败。
解决方案
1. 安装依赖
cd ~/.npm-global/lib/node_modules/openclaw
npm install @larksuiteoapi/node-sdk
2. 重启 Gateway
openclaw gateway restart
3. 验证
openclaw message send --channel feishu --target ou_xxx -m "测试成功"
输出:
✅ Sent via Feishu. Message ID: om_x100b55d7ccb7c8a0c31d8e427ee5c7b
总结
这次排查的关键是:当 message 工具报 "Unknown channel" 时,应该用 CLI 测试,能看到更详细的错误信息。问题的根因是依赖缺失,而非配置错误。
相关配置
如果你也遇到类似问题,检查以下几点:
channels.feishu.enabled是否为truechannels.feishu.appId和appSecret是否正确- 飞书 SDK 是否安装:
npm list @larksuiteoapi/node-sdk

暂无评论
要发表评论,您必须先 登录