Antigravity2api / README.md
liuzhao521
Add Hugging Face Spaces support with Dockerfile
bcd4897
metadata
title: Antigravity2api
emoji: 🚀
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit

Antigravity Gateway

Antigravity Logo

Google Antigravity API to OpenAI Proxy

将 Google Antigravity API 转换为 OpenAI 兼容格式的高性能网关服务。
内置现代化管理后台,支持多账号轮询、Token 自动刷新、密钥管理与实时监控。

Original Project

本项目基于 liuw1535/antigravity2api-nodejs 进行开发和优化。


⚠️ 重要提示

使用风险警告

  • 本项目仅供学习与技术研究,请勿用于商业用途或违反服务条款的场景
  • 使用本项目可能违反 Google 服务条款,存在账号被封禁的风险
  • 请妥善保管 data/accounts.json 文件,其中包含敏感的访问凭证
  • 建议不要将账号数据文件提交到版本控制系统或公开分享
  • 使用者需自行承担因使用本项目而产生的一切后果

✨ 功能特性

核心功能

  • OpenAI 兼容: 完全兼容 OpenAI Chat Completions API 格式,无缝对接现有生态。
  • 流式响应: 支持 SSE (Server-Sent Events) 流式输出,体验流畅。
  • 多模态支持: 支持文本及 Base64 编码的图片输入 (GPT-4 Vision 兼容)。
  • 工具调用: 支持 Function Calling,扩展模型能力。

增强特性

  • 多账号池: 支持配置多个 Google 账号,自动负载均衡与轮询。
  • Token 自动保活: 内置 Token 刷新机制,自动处理过期与 403 错误。
  • 高并发支持: 优化的请求处理队列,支持高并发场景。

管理后台 (Dashboard)

  • 现代化 UI: 基于 React + Tailwind CSS 构建的极简主义设计风格。
  • 密钥管理: 创建、删除、禁用 API Key,支持设置额度与过期时间。
  • Token 管理: 可视化管理 Google 账号,实时查看 Token 状态。
  • 系统监控: 实时监控 CPU、内存、请求数与响应时间。
  • 在线测试: 内置 Chat 调试界面,方便测试模型效果。
  • 日志审计: 完整的请求日志记录与查询。

🛠️ 技术栈

  • 后端: Node.js (Express), Native Fetch
  • 前端: React, Vite, Tailwind CSS, Framer Motion, Lucide React
  • 数据存储: 本地 JSON 文件存储 (轻量级,无外部数据库依赖)

🚀 快速开始

环境要求

  • Node.js >= 18.0.0

1. 安装与构建

# 安装项目依赖
npm install

# 构建前端资源
npm run build

2. 配置服务

编辑根目录下的 config.json 文件:

{
  "server": {
    "port": 8045,           // 服务端口
    "host": "0.0.0.0"       // 监听地址
  },
  "security": {
    "apiKey": "sk-admin",   // 管理员/默认 API Key
    "maxRequestSize": "50mb" // 最大请求体大小
  },
  "defaults": {
    "model": "gemini-2.0-flash-exp" // 默认模型
  }
}

3. 添加 Google 账号

运行 OAuth 登录脚本获取 Access Token:

npm run login

按提示在浏览器中授权,获取的 Token 将自动保存到 data/accounts.json

数据安全警告

  • data/accounts.json 文件包含您的 Google 账号访问令牌,具有高度敏感性
  • 请确保该文件权限设置正确 (建议 chmod 600),仅所有者可读写
  • 切勿将此文件上传到 GitHub、Gitee 等公开代码仓库
  • 切勿与他人分享此文件或将其暴露在公网环境
  • 定期检查 .gitignore 文件,确保 data/ 目录已被排除
  • 如发现令牌泄露,请立即在 Google 账号设置中撤销相关应用权限

4. 启动服务

# 生产模式
npm start

# 开发模式 (支持热重载)
npm run dev

服务启动后,访问 http://localhost:8045 进入管理后台。

首次登录提示

  • 默认管理密码: admin123
  • 登录后请及时在设置页面修改密码以确保安全

🔌 API 使用指南

基础 URL

http://localhost:8045

认证

所有请求需在 Header 中携带 API Key: Authorization: Bearer <YOUR_API_KEY>

1. 获取模型列表

GET /v1/models

2. 聊天补全

POST /v1/chat/completions

请求示例:

curl http://localhost:8045/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-admin" \
  -d '{
    "model": "gemini-2.0-flash-exp",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": true
  }'

📂 项目结构

.
├── client/                 # 前端 React 项目
│   ├── src/
│   │   ├── components/     # UI 组件
│   │   ├── pages/          # 页面组件
│   │   └── ...
│   └── ...
├── data/                   # 数据存储目录
│   ├── accounts.json       # Google 账号数据
│   ├── keys.json           # API Key 数据
│   └── ...
├── src/                    # 后端源码
│   ├── server/             # 服务器入口
│   ├── api/                # API 路由处理
│   ├── auth/               # 认证与 Token 管理
│   └── ...
├── scripts/                # 工具脚本
├── config.json             # 配置文件
└── package.json

⚖️ 免责声明

本项目 (Antigravity Gateway) 仅供技术学习、研究和交流使用,开发者不对使用本项目产生的任何后果负责。

使用条款

  1. 自行承担风险: 使用者在使用本项目时,需完全理解并接受相关风险,包括但不限于:

    • Google 账号被暂停、封禁或限制访问
    • 违反 Google 服务条款可能导致的法律责任
    • 数据泄露、隐私侵犯等安全风险
    • 服务不稳定、数据丢失等技术问题
  2. 禁止商业用途: 本项目严禁用于任何商业用途,包括但不限于:

    • 提供付费 API 代理服务
    • 作为商业产品的技术组件
    • 任何形式的盈利性活动
  3. 合规使用: 使用者需确保:

    • 遵守所在地区的法律法规
    • 遵守 Google 及相关服务的使用条款
    • 不利用本项目进行任何违法或侵权行为
  4. 数据安全: 使用者应当:

    • 妥善保管账号凭证和敏感数据
    • 采取适当的安全措施防止数据泄露
    • 对因疏忽导致的安全问题自行负责
  5. 无担保声明: 本项目按 "现状" 提供,不提供任何明示或暗示的担保,包括但不限于:

    • 适销性担保
    • 特定用途适用性担保
    • 不侵权担保
    • 服务质量或可靠性担保

责任限制

在任何情况下,本项目的开发者、贡献者及相关方均不对以下情况承担责任:

  • 因使用或无法使用本项目而产生的任何直接、间接、偶然、特殊或后果性损害
  • 数据丢失、业务中断、利润损失或其他经济损失
  • 第三方的任何索赔或诉讼

使用本项目即表示您已充分理解并接受上述所有条款。如不同意,请勿使用本项目。


📝 License

MIT License

本许可证授予的权利和义务不影响上述免责声明的效力。