--- 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

> [!NOTE] > 本项目基于 [liuw1535/antigravity2api-nodejs](https://github.com/liuw1535/antigravity2api-nodejs) 进行开发和优化。 --- ## ⚠️ 重要提示 > [!WARNING] > **使用风险警告** > - 本项目仅供学习与技术研究,请勿用于商业用途或违反服务条款的场景 > - 使用本项目可能违反 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. 安装与构建 ```bash # 安装项目依赖 npm install # 构建前端资源 npm run build ``` ### 2. 配置服务 编辑根目录下的 `config.json` 文件: ```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: ```bash npm run login ``` 按提示在浏览器中授权,获取的 Token 将自动保存到 `data/accounts.json`。 > [!CAUTION] > **数据安全警告** > - `data/accounts.json` 文件包含您的 Google 账号访问令牌,具有高度敏感性 > - 请确保该文件权限设置正确 (建议 chmod 600),仅所有者可读写 > - **切勿**将此文件上传到 GitHub、Gitee 等公开代码仓库 > - **切勿**与他人分享此文件或将其暴露在公网环境 > - 定期检查 `.gitignore` 文件,确保 `data/` 目录已被排除 > - 如发现令牌泄露,请立即在 Google 账号设置中撤销相关应用权限 ### 4. 启动服务 ```bash # 生产模式 npm start # 开发模式 (支持热重载) npm run dev ``` 服务启动后,访问 `http://localhost:8045` 进入管理后台。 > [!TIP] > **首次登录提示** > - 默认管理密码: `admin123` > - 登录后请及时在设置页面修改密码以确保安全 ## 🔌 API 使用指南 ### 基础 URL `http://localhost:8045` ### 认证 所有请求需在 Header 中携带 API Key: `Authorization: Bearer ` ### 1. 获取模型列表 `GET /v1/models` ### 2. 聊天补全 `POST /v1/chat/completions` **请求示例:** ```bash 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 本许可证授予的权利和义务不影响上述免责声明的效力。