用途:把本地图片(截图、示意图、视觉差异图)嵌入 GitHub PR 描述或评论,而不将图片提交到仓库。GitHub 没有公开 API 可直接上传图片到 PR 描述,网页拖拽上传依赖未公开端点与浏览器会话 Cookie,无法用 API token 调用。本技能改用 GitHub Release 资源作为图床,是唯一完全可脚本化、仅用 CLI 且适用于私有仓库的方案。
主要能力:创建预发布(prerelease)并附加图片资源;提取每个资源的 browser_download_url;用标准 Markdown 把 URL 嵌入 PR 正文。资源 URL 对拥有仓库读取权限的人可见,因此在私有仓库 PR 中也能正常显示。
使用方式:需已认证的 gh CLI(gh auth status)和对仓库的写权限。典型流程:用 gh release create 创建带图片的预发布,例如 gh release create "$TAG" /tmp/before.png /tmp/after.png --repo "$REPO" --title "PR #${PR_NUMBER} screenshots" --notes "..." --prerelease;再用 gh api repos/$REPO/releases/tags/$TAG --jq 提取 browser_download_url;最后用 gh pr edit 把 Markdown 图片链接写入 PR 正文。也可只上传单张图片获取 URL,或用 gh release upload 向已有 release 追加图片。合并 PR 后可用 gh release delete "pr-137-images" --yes --cleanup-tag 清理。
适用场景:需要在 PR 中展示前后对比截图、视觉差异或示意图,且希望保持纯 CLI 工作流、不污染仓库历史、支持私有仓库时。
限制:会在仓库中创建预发布标签;资源名在同一 release 内必须唯一;私有仓库的资源 URL 下载需 GitHub 认证,在 PR 描述中由有权限者查看时自动完成。其他收费、平台或效果信息暂未提供。