乐于分享
好东西不私藏

飞书发送图片总失败?可能是插件没选对

飞书发送图片总失败?可能是插件没选对

飞书发送图片总失败?可能是插件没选对

总结日期: 2026-02-27

前言

最近在调试 OpenClaw 飞书插件时,遇到了一个棘手的问题:无论怎么尝试,都无法成功发送内联图片到飞书群聊。尝试了各种参数配置,結果都是失败或者只能以附件形式发送。

经过一番深入研究,终于找到了问题根源。今天把这段踩坑经历分享出来,希望对大家有所帮助。


问题回顾

我尝试了以下几种方式发送图片:

尝试方式
结果
使用 buffer 参数(Base64)
报错或无效
使用 filePath 参数
作为附件发送,无法内联显示
设置 msgType 为 “image”
参数被忽略,仍然发附件

可以说能踩的坑都踩了一遍。


三个误导点

误导一:工具参数就是最终行为

最初我以为,只要在 message 工具中配置了 buffer 参数,就能直接发送 Base64 图片数据。

实际上,OpenClaw 官方 @openclaw/feishu 插件的 outbound.ts 根本没有暴露 buffer 参数。也就是说即使用户指定了 buffer,插件也不会处理这个参数。

误导二:filePath 发送的就是图片

我曾以为使用 filePath 上传了图片文件,就会直接显示在聊天中。

实际上,filePath 方式调用的是 sendFileFeishu,消息类型是 msg_type: "file"。在飞书中,这会被当作附件处理,而不是内联图片消息。

误导三:msgType 参数有效

我天真地以为设置 msgType: "image" 就能发送图片消息。

实际上,这个参数被插件的处理逻辑直接忽略了,最终仍然走文件上传流程。


为什么最终成功了

转折点在于使用了第三方插件 @m1heng-clawd/feishu 的专用脚本。

这个插件的解决方案是:

  1. 1. 手动调用飞书 SDK
    • • 第一步:调用 client.im.image.create() 上传图片,获取 image_key
    • • 第二步:调用 client.im.message.create() 发送图片消息,明确指定 msg_type: "image"
  2. 2. 关键区别
    • • 官方插件:自动化处理,但功能有局限
    • • 专用脚本:手动控制每一步,精确指定消息类型

核心教训

  1. 1. 工具参数 ≠ 实际行为:工具声明的参数不一定被插件正确处理,要以实际测试结果为准
  2. 2. 附件 ≠ 内联图片:filePath 方式发送的是文件附件,不会像微信/飞书图片那样直接显示在对话中
  3. 3. 插件选择很重要:官方插件功能可能有局限,社区插件可能提供更完善的能力

正确流程

如果你需要通过 OpenClaw 发送内联图片到飞书,可以参考以下流程:

用户请求发图片    ↓检查插件类型    ↓├─ 官方 @openclaw/feishu → 只能发附件└─ @m1heng-clawd/feishu → 可发内联图片    ↓使用专用脚本或直接调用 SDK    ↓1. uploadImage → 获取 image_key2. sendMessage msg_type:image → 发送内联图片

结语

这次调试经历让我深刻体会到:在使用自动化工具时,官方文档和实际行为之间可能存在差距。遇到问题时,除了查阅文档,亲自动手测试才是最快的解决方式。

希望这篇文章能帮助大家避免同样的坑。如果有其他问题,欢迎在评论区交流!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 飞书发送图片总失败?可能是插件没选对

评论 抢沙发

4 + 5 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮