3.2 KiB
3.2 KiB
| name | description |
|---|---|
| read-remote-image-url | 通过「URL 下载到工作区 + Read 工具」可靠读取远程截图/设计图(PNG、JPEG、GIF、WebP),用于需求对照、UI 还原与画面描述。 在用户提供阿里文档/语雀/OSS 图片链接、或 URL 抓取工具对二进制图片失败时使用。 |
远程图片 URL 读取流程
何时使用
- 用户给出 图片直链(如
*.png/*.jpg),需要 描述界面、对照 PRD、或和代码页对比 - 对 URL 使用 网页/文档抓取工具 得到 非 200、500 或无法解码,但浏览器可打开
- 工作区内 已有图片文件:跳过下载,直接对路径执行 Read
不适用
- 需登录、防盗链、签名过期的一次性 URL:应用侧不可用时不要反复重试下载;请用户导出到本地再
Read - 仅信任业务相关或用户明确提供的 URL;勿对未知链接做批量下载
推荐流程(顺序执行)
- (可选) 对 URL 发起一次抓取/HEAD:若已能得到可用图片内容,可直接使用;多数环境下对二进制图片会失败,此时进入步骤 2。
- 下载到工作区(须为仓库内或可写路径,便于 Read):
- Windows(PowerShell):
curl常指向Invoke-WebRequest,须使用curl.exe。 - 链式命令(必读):Windows 自带的 PowerShell 5.x 不支持
cd ... && curl.exe ...(&&会解析失败,导致 curl 根本没执行)。智能体应二选一:- 推荐:在同一 shell 内先
Set-Location "<工作区根目录>",再执行curl.exe ...(两条命令或一行用;分隔:Set-Location "..."; curl.exe ...)。 - 仅当明确在 PowerShell 7+ 环境时,才可使用
&&。
- 推荐:在同一 shell 内先
-o的相对路径相对于 当前工作目录,故必须先切到工作区再下载,或通过终端工具的 working directory 设为工作区后再只写curl.exe一行。- 示例(路径按实际工作区调整):
- Windows(PowerShell):
Set-Location "D:\workspace\your-repo"
curl.exe -sL -o ".temp/tmp-remote-image.png" "https://example.com/path/to/image.png"
- (可选) 与下载是 另一次请求:
curl.exe -sI "<URL>"仅取响应头,用于确认HTTP/1.1 200、Content-Type: image/*;不做预检时可省略,只执行上面带-o的一次下载即可。
- Read:对保存后的 绝对路径或相对工作区路径 调用 Read(工具支持 jpeg/png/gif/webp),根据返回的图像理解结果回答用户。
- 清理:分析结束后 删除 临时文件,避免把无关二进制提交进 Git。
与本地文件的关系
- 用户已提供
D:\...\shot.png或仓库内requirements/...png:直接 Read,无需curl。
自检
- 临时文件放在
.temp/或明确临时目录,且已删除或已加入.gitignore - Windows 使用
curl.exe,避免 PowerShell 假curl报错 - Windows PowerShell 5.x 不用
&&链式cd与curl;用Set-Location+;或分两次执行,并确认curl退出码为 0、目标文件非空 - Read 失败时检查扩展名是否为支持格式,或文件是否实际为 HTML 错误页(可查看文件头或前几字节)