SuperAPI AI 工具集

accessing-github-repos

编程与开发

查看项目

更新于 10-16 02:35

技能介绍

用途:该技能解决容器化 AI 环境中 git clone 被出口代理拒绝(CONNECT 隧道返回 401、无 ssh 二进制、git:// DNS 被阻断)导致无法克隆仓库的问题,改用标准 HTTPS 的 GitHub REST API 与 raw 文件 URL 完成仓库访问。资料明确建议不要尝试 git clone,也不要改用其他 git 标志、SSH URL、子模块或 git archive。

主要能力:按鉴权级别区分。无 PAT 时可获取公开文件、下载公开仓库 tarball;有只读 PAT 时可读取私有文件并下载私有 tarball;有写权限 PAT 时可创建/更新文件、创建分支、管理 Issue、创建 PR。还提供基于 API 的目录树列举、文件 SHA 获取(更新文件前必需)以及整仓 tarball 下载。

凭据检测:技能按顺序自动检测环境变量 GITHUB_PAT、GH_PAT、GITHUB_TOKEN、GH_TOKEN,若未找到则检查项目文件 /mnt/project/.env 与 /mnt/project/github.env,格式为 GITHUB_PAT=github_pat_...。创建 PAT 的步骤为 GitHub → Settings → Developer settings → Fine-grained tokens,并按需授予 Contents: Read/Write、Issues: Write、Pull requests: Write。Claude.ai 项目需将 api.github.com 与 raw.githubusercontent.com 加入网络允许列表。

使用方式:公开文件用 curl -sL "https://raw.githubusercontent.com/OWNER/REPO/BRANCH/path/file";目录树用 curl -sL "https://api.github.com/repos/OWNER/REPO/git/trees/BRANCH?recursive=1";私有文件与写入操作需带 Authorization: Bearer 头调用 api.github.com。资料给出 Python 辅助函数(凭据检测、单文件获取、tarball 下载、推送文件、获取 SHA)与对应 bash 示例,写入新文件需 PUT,更新已有文件需先取 sha。

限制:git clone 在本类环境中始终失败,不应重试;未提供 PAT 时无法访问私有仓库或写入。速率限制为已认证 5000 次/小时、未认证 60 次/小时,高频使用应提供 PAT。该技能不适用于有原生 git 访问的开发环境、本地机器,或已配置 MCP GitHub 服务器的环境(应改用 MCP 工具)。