SuperAPI AI 工具集

gh-attach

设计与创作

查看项目

更新于 10-16 09:28

技能介绍

用途:GitHub 没有公开的 user-attachments API,gh-attach 复刻网页端拖拽上传流程,让智能体在终端把本地文件上传为 github.com/user-attachments 链接,再把链接嵌入 PR、issue、评论或 README;也可将已有附件链接下载回本地文件。链接的可见性跟随所属仓库,私有仓库上传保持私有。支持 GitHub Cloud 与 GitHub Enterprise Server。

主要能力:上传本地文件(截图、图片、PDF、zip、日志、视频)并输出一行 URL;将 URL 嵌入 PR、issue、评论或 README;下载 user-attachments 链接到指定路径;可并发上传多个文件,并输出 Markdown 或 JSON(支持类似 jq 的过滤)。GitHub 会自动把 URL 渲染为图片、视频或文件。

使用方式(命令保持原样): gh auth status gh extension install sudosubin/gh-attach --pin v0.4.2 --force gh extension list | grep -F 'sudosubin/gh-attach' URL=$(gh attach "/abs/path/screenshot.png" -R <owner>/<repo>) printf '## Screenshots\n\n%s\n' "$URL" | gh pr comment <pr> -R <owner>/<repo> --body-file - gh attach download "$URL" -O "/abs/path/out.png" Enterprise Server 使用 -R host/owner/repo。嵌入时用 --body-file - 而非内联 --body,避免多行与特殊字符破坏 shell 引号。需要调整显示尺寸时用 <img width="800" src="$URL">。

限制与安全:上传依赖 GitHub user_session 浏览器 cookie,而非 gh token(该端点拒绝 token);默认需 gh 已认证以选择匹配的浏览器账户,选错可用 --browser <name> --profile <name>。不支持无头/CI 上传,禁止导出、保存或在日志中出现原始 cookie。上传需对目标仓库有写权限;私有仓库附件链接匿名访问会按设计返回 404 或 403。可接受的扩展名与内容类型由 GitHub Cloud 或 Enterprise Server 决定。gh attach 只打印 URL,嵌入由技能完成。安装应固定到已审查版本,不要用移动分支或未固定 latest;上传前确认 -R 目标仓库。