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本地媒体根目录的安全限制默认只允许从特定目录读取文件进行上传。代码显示loadWebMedia函数需要localRoots参数来指定允许读取的目录默认只允许resolveStateDir()返回的目录包含 workspace/root/.openclaw/workspace/在允许列表中/tmp/不在允许列表中所以✅/root/.openclaw/workspace/→ 可以读取并上传❌/tmp/→ 被安全策略拦截无法读取文件内容解决方案将图片保存到 workspace 目录后再发送import shutil shutil.copy(/tmp/image.png, /home/gem/workspace/agent/workspace/media/image.png) message(actionsend, filePath/home/gem/workspace/agent/workspace/media/image.png, ...)总结✅ workspace 目录 → 直接预览❌ /tmp 或其他临时目录 → 只能看到链接最佳实践所有需要直接预览的图片都保存到 workspace 目录或 media/ 子目录下。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2523736.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!