名称: smart-image-loader
描述: 智能图像加载器,可同时处理网络URL和本地文件。自动将URL下载到临时位置,并使用read工具显示图像。适用于用户想要查看或显示图像的场景,无论图像来自网络链接还是工作区文件。
当用户要求显示图像时:
检查输入是URL还是本地路径
- URL 以 http:// 或 https:// 开头
- 本地路径是工作区内的文件路径
处理URL:
- 使用Python脚本将图像下载到临时位置
- 使用 read 工具显示图像
- 显示完成后清理临时文件
处理本地文件:
- 验证文件是否存在(支持相对路径或绝对路径)
- 直接使用 read 工具显示图像
用户说: "显示这张图片:https://example.com/photo.jpg"
python3 scripts/smart_image_loader.py https://example.com/photo.jpg/tmp/dir/photo.jpg/tmp/dir/photo.jpg 使用 read 工具用户说: "显示 ./images/logo.png"
python3 scripts/smart_image_loader.py ./images/logo.png/home/node/clawd/images/logo.png(绝对路径)使用 read 工具python3 scripts/smart_image_loader.py <image_path_or_url>
| 参数 | 描述 |
|---|---|
image_path_or_url |
本地文件路径(相对或绝对)或URL |
脚本返回类JSON格式的输出,包含:
- Status: 成功(SUCCESS)或失败(FAILED)
- Type: 类型(url 或 local)
- File Path: 供 read 工具使用的本地路径
- Message: 状态描述
- Cleanup Needed: 是否需要清理临时文件(true/false)
# URL示例
python3 scripts/smart_image_loader.py https://example.com/image.jpg
# 输出:下载到 /tmp/xyz/image.jpg,对该路径使用read工具
# 本地文件示例(相对路径)
python3 scripts/smart_image_loader.py ./photos/vacation.jpg
# 输出:在 /home/node/clawd/photos/vacation.jpg 找到文件
# 本地文件示例(绝对路径)
python3 scripts/smart_image_loader.py /home/node/clawd/downloads/graphic.png
# 输出:在 /home/node/clawd/downloads/graphic.png 找到文件
用户要求显示图像
|
v
是否为URL?(以http://或https://开头)
|
+----+---------------------------+
| |
是 否
| |
v v
下载到临时位置 文件是否存在?
| |
v +-----+-----+
使用read工具 | |
| 存在 不存在
v |
清理临时文件 v
使用read工具
|
v
完成(无需清理)
exec 配合 rm <file_path> 进行清理| 场景 | 处理方式 |
|---|---|
| URL下载失败 | 向用户报告错误 |
| 本地文件未找到 | 向用户报告错误 |
| 无效输入 | 显示使用说明 |