SuperAPI AI 工具集

attach-cli

通用与其它

查看项目

更新于 10-16 01:08

技能介绍

用途:通过自建 attach Worker 上传 PR 与验证媒体(截图、工件等)并返回公开 URL。人类用户优先使用已安装的 CLI,GitHub App 智能体仅使用 JWT enroll。

主要能力:attach put <file> [--repo owner/name] [--pr N] 上传文件;默认返回预览 /p/…,--url 返回原始 /o/…,--markdown 返回嵌入形式,--json 返回 API 体;--dry-run 可在无凭据、无网络请求下本地校验。attach delete <url-or-key> 删除,需 curl -sI <url> 返回 404/410 才视为成功。attach login 登录,attach logout 注销。attach help --json 提供机器可读命令契约,命令加 --json 输出结构化结果。

使用方式:先检查命令是否存在:command -v attach || command -v gh;attach --help 2>/dev/null || gh attach --help 2>/dev/null || true。若缺失,请用户按指定方式安装:brew install uinaf/tap/attach、npm i -g @uinaf/attach-cli 或 gh extension install uinaf/gh-attach。不要从本技能下载安装器,也不要编造 curl/fetch 上传脚本。托管服务 https://attach.uinaf.dev 已内置 GitHub App 客户端 id,attach login 无需环境配置;自定义 ATTACH_API_BASE 需该部署自有的 ATTACH_GITHUB_CLIENT_ID。登录时若 CLI 输出验证 URL 和设备码,需立即转交目标用户并保持登录进程运行。

智能体工作流(GitHub App):Worker 的 AGENT_REGISTRY 需 App 公钥,PEM 保存在智能体密钥库中。签名 JWT:iss=attach:<app_id>,aud=公开主机,exp≤120s,使用新 jti;通过 header file 向 POST /v1/enroll/agent 提供 Authorization;用同样方式 PUT /v1/objects,仅当 JSON 同时含 url 与 preview_url 才成功;put 返回 401 时用新 jti 重新 enroll 一次再 put,仍失败则硬失败。

限制与硬性规则:仅用 att_ 密钥上传,不得使用 GitHub token、PAT、ghs_ 或安装令牌;登录设备码只能转交目标用户,不得写入日志、issue、commit、PR 等公开或持久化产物;不得打印 App PEM 或 att_ 值;优先使用预览 URL,仅在需要嵌入时用 --markdown 或原始 URL;遇到安装、自定义客户端 id、白名单、注册表或认证阻塞时停止并报告确切阻塞点。部分细节(如具体费率、平台范围等)暂未提供。