当前位置: 首页 > news >正文

OpenClaw飞书消息发送图片的坑:filePath 路径导致的显示差异

问题背景

在使用 OpenClaw 的 message 工具向飞书发送本地图片时,遇到一个奇怪的问题:同一张图片,不同的保存路径会导致不同的显示效果。

  • 保存在 workspace 目录:图片直接显示预览

  • 保存在 /tmp 目录:图片显示为附件 📎,无法查看

调试过程

第一次发送

  • 文件路径:/home/gem/workspace/agent/workspace/skills/pollinations-ipt/ipt_output_xxx.png

  • 结果:图片直接可见,预览正常 ✅

第二次发送

  • 文件路径:/tmp/test_image.png

  • 结果:显示为附件图标,点击后无法查看 ❌

对比分析

保存路径

显示效果

workspace 目录

直接预览

/tmp 目录

附件形式

问题根源:

OpenClaw 的安全限制

OpenClaw 有一个mediaLocalRoots(本地媒体根目录)的安全限制,默认只允许从特定目录读取文件进行上传。代码显示:

  1. loadWebMedia函数需要localRoots参数来指定允许读取的目录

  2. 默认只允许resolveStateDir()返回的目录(包含 workspace)

  3. /root/.openclaw/workspace/在允许列表中

  4. /tmp/不在允许列表中

所以:

  • /root/.openclaw/workspace/→ 可以读取并上传

  • /tmp/→ 被安全策略拦截,无法读取文件内容

解决方案

将图片保存到 workspace 目录后再发送:

import shutil shutil.copy("/tmp/image.png", "/home/gem/workspace/agent/workspace/media/image.png") message(action="send", filePath="/home/gem/workspace/agent/workspace/media/image.png", ...)

总结

  • ✅ workspace 目录 → 直接预览

  • ❌ /tmp 或其他临时目录 → 只能看到链接

最佳实践:所有需要直接预览的图片,都保存到 workspace 目录或 media/ 子目录下。

http://www.jsqmd.com/news/650859/

相关文章:

  • Linux 帮助手册与用户管理完全指南
  • 离心泵CAE_2_ICEM结构化网格划分实战
  • 5分钟搞定!Docker快速部署MQTT服务mosquitto(附手机APP测试指南)
  • 就在2月5日!维普系统全面升级:查重库与AI算法双重施压,2026毕业季保姆级通关指南
  • flutter--基础环境安装
  • 宁夏卷帘门加工维修找哪家?首选银川开源门业,承接各类卷帘门加工和维修,十年老厂,正规靠谱有实力,全区域上门服务 - 宁夏壹山网络
  • 08. Python进阶之路:深度解析递归、推导式、生成器与模块化编程
  • 从GAN到U-Net:实战中PyTorch转置卷积的参数配置与避坑指南
  • 永磁体温度稳定性优化:从剩磁温度系数到材料改性策略
  • 告别虚拟机!用ZYNQ7000和PYNQ 2.6.0打造一个能实时识别人脸的“智能摄像头”
  • Image Signal Processing(ISP)-第二章-从Bayer到RGB:Demosaic算法详解与BMP编码实战
  • 收官篇 —— 从会做事,到把事做对
  • STM32CubeIDE在Ubuntu上安装后必做的5件事:优化配置、安装中文包与插件推荐
  • 2026 年经营美发店,美发店会员管理系统如何选合适? - 记络会员管理软件
  • 保姆级教程:用Burp Suite Community 2024抓取DVWA本地请求(附证书配置避坑指南)
  • 湘仪台式高速离心机型号解析:转速、容量与转子的精准匹配 - 品牌推荐大师1
  • 2026,自动驾驶“分水岭”:L3持证上岗,L4冲向无人区
  • 【OS】互斥锁和自旋锁的区别
  • 慕课助手终极指南:5分钟学会用智能插件轻松完成在线课程
  • AI也有两幅面孔?复旦等最新研究:高压之下大模型集体变脸
  • 从架构到实现:基于FPGA与AD7768-4的高精度同步数据采集系统设计
  • 终极指南:使用SMUDebugTool深度优化AMD Ryzen处理器性能
  • 微服务治理陷阱:从100个崩溃案例总结的熔断机制
  • Arduino IDE串口监视器与绘图器:5大核心功能详解与实战指南 [特殊字符]
  • 5步掌握ROFL播放器:从英雄联盟回放文件到深度分析实战指南
  • 4diacIDE IEC61499 开发环境编译实战:从源码到可执行文件的完整指南
  • 脑机接口:从“意念控物”到“大脑装修”,我们离未来还有多远?
  • 新手避坑指南:用PHPStudy搭建DVWA靶场时,80端口被占用的3种解决方法
  • 有实力的数字资产遗产继承纠纷明星律师事务所哪家口碑好 - mypinpai
  • 自动驾驶感知实战:如何用高精地图给红绿灯检测算法‘开天眼’?