SuperAPI AI 工具集

github

部署与运维

查看项目

更新于 10-15 22:34

技能介绍

用途:在本地开发与测试中模拟 GitHub REST API,让需要调用 GitHub 接口的程序无需访问真实 GitHub,即可完成集成测试。模拟器带状态,创建、更新、删除会持久在内存中并影响相关实体。

主要能力:覆盖用户、仓库、Contents 与提交历史、Issues、Pull Requests、评论、Reviews、标签与里程碑、分支与 Git 数据、组织与团队、GitHub Apps、Releases 等端点的读写;提供分页(page、per_page 与 Link 头);支持 OAuth URL 映射,便于 Auth.js / NextAuth.js 等库改指向模拟器;支持 GitHub App JWT 与安装访问令牌;事件发生时向配置的 webhook_url 发送事件回调,并携带 X-GitHub-Event 与 X-Hub-Signature-256 头;可通过 seed 配置预置用户、组织、仓库、OAuth 应用与 App。

使用方式:CLI 启动,例如 npx emulate --service github,默认端口 4001,即 http://localhost:4001;也可编程调用 createEmulator(如 createEmulator({ service: 'github', port: 4001 }))。默认监听 127.0.0.1,需供容器或其他机器访问时使用 --host 0.0.0.0 或 hostname: '0.0.0.0',并通过 --base-url 或 baseUrl 配置对外可达地址。认证使用 Authorization: Bearer <token> 或 Authorization: token <token>;公开仓库端点无需认证,私有仓库与写操作需有效令牌,未提供令牌时回退到首个种子用户。Octokit 可通过 baseUrl 指向模拟器地址。

限制与注意:GitHub App 在编程用法或适配器中可省略 private_key,由模拟器生成 RSA 密钥并通过 generatedSecrets 暴露;CLI 种子文件在未使用 --generated-secrets-file 时仍需要 private_key。生成密钥文件需保持私密并排除在源码管理之外;--generated-secrets-file 在 Windows 上不受支持,Linux 需 acl 包提供 setfacl 与 getfacl。其他未在资料中说明的功能、收费与平台信息暂未提供。