gcli2api

GitHub
4.4k 1.3k 简单 2 次阅读 昨天NOASSERTION插件
AI 解读 由 AI 自动生成,仅供参考

gcli2api 是一款强大的开源桥接工具,旨在将基于 Google OAuth 的 GeminiCLI 和 Antigravity 本地凭证,转换为标准的 OpenAI、Gemini 及 Claude API 接口。它有效解决了开发者难以直接利用个人 Google 账户额度对接主流开发框架的痛点,让免费或低成本的模型资源能无缝集成到现有工作流中。

该工具特别适合开发者、AI 研究人员及希望低成本探索大模型能力的技术爱好者使用。其核心亮点在于“多格式自动兼容”,无需修改代码即可智能识别并转换不同 API 的请求结构;同时具备先进的“智能凭证管理”系统,支持多账号自动轮换、负载均衡及故障自愈,显著提升了服务稳定性。此外,gcli2api 还内置了全功能 Web 控制台,方便用户直观地上传管理凭证、监控实时日志及配置系统参数。无论是构建聊天机器人、进行学术研究,还是测试多模态应用,它都能提供灵活且高效的后端支持,极大降低了调用前沿 AI 模型的门槛。

使用场景

某独立开发者希望利用免费的 Google 账号资源,为团队内部构建一个统一的高可用 AI 服务中台,以支持多个自动化脚本和聊天机器人。

没有 gcli2api 时

  • 接口碎片化严重:不同脚本分别依赖 GeminiCLI 命令行或 Antigravity 私有协议,无法复用标准的 OpenAI SDK,导致代码维护成本极高。
  • 单点故障频繁:单个 Google 账号的 API 配额(1000 次/天)极易耗尽,一旦触发 429 限流,整个服务即刻瘫痪,缺乏自动轮换机制。
  • 功能适配困难:想要使用 Gemini 的“思维链”推理或高分辨率图像生成功能时,需手动解析复杂的原生返回结构,开发耗时且容易出错。
  • 管理黑盒化:无法直观监控哪些账号凭证已失效或即将超限,只能依靠查看分散的日志文件进行人工排查。

使用 gcli2api 后

  • 统一标准接入:gcli2api 将后端转换为标准的 OpenAI/Claude 兼容接口,所有现有业务代码无需修改即可无缝切换至免费的 Gemini 算力。
  • 高可用集群调度:通过上传多个 OAuth 凭证,gcli2api 自动实现负载均衡与故障转移;当某个账号限流时,毫秒级切换至健康账号,保障服务永不中断。
  • 高级特性透明化:只需在模型名称后添加 -high-4k-16x9 等后缀,gcli2api 即自动处理思维内容分离及图像参数转换,让复杂功能像调用普通文本模型一样简单。
  • 可视化运维管控:内置 Web 控制台实时展示各凭证的健康状态、用量统计及错误日志,支持批量上传与管理,让资源池一目了然。

gcli2api 成功将分散且不稳定的个人免费额度,转化为了一个具备企业级稳定性、统一接口标准且易于管理的私有 AI 算力集群。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
  • Termux (Android)
GPU

未说明

内存

未说明

依赖
notes该工具是一个 API 转换网关,主要消耗网络资源而非计算资源,因此无特殊 GPU 或大内存需求。支持 Docker 部署及多种一键安装脚本。数据存储默认使用本地 SQLite,也可配置为 MongoDB。需通过 OAuth 获取 Google 凭证文件才能使用。许可证为 CNC-1.0,严禁商业用途。
python3.12+
FastAPI
Uvicorn
HTTPX
PyJWT
Google Auth Libraries
SQLite3 (内置)
Motor (MongoDB 驱动,可选)
gcli2api hero image

快速开始

GeminiCLI 转 API

将 GeminiCLI 和 Antigravity 转换为 OpenAI、GEMINI 和 Claude API 兼容接口

Python 3.12+ License: CNC-1.0 Docker

English | 中文 | 日本語

🚀 快速部署

Deploy on Zeabur Deploy to Render

⚠️ 许可证声明

本项目采用 Cooperative Non-Commercial License (CNC-1.0)

这是一个反商业化的严格开源协议,详情请查看 LICENSE 文件。

✅ 允许的用途:

  • 个人学习、研究、教育用途
  • 非营利组织使用
  • 开源项目集成(需遵循相同协议)
  • 学术研究和论文发表

❌ 禁止的用途:

  • 任何形式的商业使用
  • 年收入超过100万美元的企业使用
  • 风投支持或公开交易的公司使用
  • 提供付费服务或产品
  • 商业竞争用途

核心功能

🔄 API 端点和格式支持

多端点多格式支持

  • OpenAI 兼容端点/v1/chat/completions/v1/models
    • 支持标准 OpenAI 格式(messages 结构)
    • 支持 Gemini 原生格式(contents 结构)
    • 自动格式检测和转换,无需手动切换
    • 支持多模态输入(文本 + 图像)
  • Gemini 原生端点/v1/models/{model}:generateContentstreamGenerateContent
    • 支持完整的 Gemini 原生 API 规范
    • 多种认证方式:Bearer Token、x-goog-api-key 头部、URL 参数 key
  • Claude 格式兼容:完整支持 Claude API 格式
    • 端点:/v1/messages(遵循 Claude API 规范)
    • 支持 Claude 标准的 messages 格式
    • 支持 system 参数和 Claude 特有功能
    • 自动转换为后端支持的格式
  • Antigravity API 支持:同时支持 OpenAI、Gemini 和 Claude 格式
    • OpenAI 格式端点:/antigravity/v1/chat/completions
    • Gemini 格式端点:/antigravity/v1/models/{model}:generateContentstreamGenerateContent
    • Claude 格式端点:/antigravity/v1/messages
    • 支持所有 Antigravity 模型(Claude、Gemini 等)
    • 自动模型名称映射和思维模式检测

🔐 认证和安全管理

灵活的密码管理

  • 分离密码支持:API 密码(聊天端点)和控制面板密码可独立设置
  • 多种认证方式:支持 Authorization Bearer、x-goog-api-key 头部、URL 参数等
  • JWT Token 认证:控制面板支持 JWT 令牌认证
  • 用户邮箱获取:自动获取和显示 Google 账户邮箱地址

📊 智能凭证管理系统

高级凭证管理

  • 多个 Google OAuth 凭证自动轮换
  • 通过冗余认证增强稳定性
  • 负载均衡与并发请求支持
  • 自动故障检测和凭证禁用
  • 凭证使用统计和配额管理
  • 支持手动启用/禁用凭证文件
  • 批量凭证文件操作(启用、禁用、删除)

凭证状态监控

  • 实时凭证健康检查
  • 错误码追踪(429、403、500 等)
  • 自动封禁机制(可配置)

🌊 流式传输和响应处理

多种流式支持

  • 真正的实时流式响应
  • 假流式模式(用于兼容性)
  • 流式抗截断功能(防止回答被截断)
  • 异步任务管理和超时处理

响应优化

  • 思维链(Thinking)内容分离
  • 推理过程(reasoning_content)处理
  • 多轮对话上下文管理
  • 兼容性模式(将 system 消息转换为 user 消息)

🎛️ Web 管理控制台

全功能 Web 界面

  • OAuth 认证流程管理(支持 GCLI 和 Antigravity 双模式)
  • 凭证文件上传、下载、管理
  • 实时日志查看(WebSocket)
  • 系统配置管理
  • 使用统计和监控面板
  • 移动端适配界面

批量操作支持

  • ZIP 文件批量上传凭证(GCLI 和 Antigravity)
  • 批量启用/禁用/删除凭证
  • 批量获取用户邮箱
  • 批量配置管理
  • 统一批量上传界面管理所有凭证类型

📈 使用监控

实时监控

  • WebSocket 实时日志流
  • 系统状态监控
  • 凭证健康状态

🔧 高级配置和自定义

网络和代理配置

  • HTTP/HTTPS 代理支持
  • 代理端点配置(OAuth、Google APIs、元数据服务)
  • 超时和重试配置
  • 网络错误处理和恢复

性能和稳定性配置

  • 429 错误自动重试(可配置间隔和次数)
  • 抗截断最大重试次数

日志和调试

  • 多级日志系统(DEBUG、INFO、WARNING、ERROR)
  • 日志文件管理
  • 实时日志流
  • 日志下载和清空

🔄 环境变量和配置管理

灵活的配置方式

  • 环境变量配置
  • 热配置更新(部分配置项)
  • 配置锁定(环境变量优先级)

支持的模型

所有模型均具备 1M 上下文窗口容量。每个凭证文件提供 1000 次请求额度。

🤖 基础模型

  • gemini-2.5-pro
  • gemini-3-pro-preview
  • gemini-3.1-pro-preview

🧠 思维模型(Thinking Models)

  • gemini-2.5-pro-high:思考模式
  • gemini-2.5-pro-low:低思考模式
  • 支持自定义思考预算配置
  • 自动分离思维内容和最终回答

🔍 搜索增强模型

  • gemini-2.5-pro-search:集成搜索功能的模型

🖼️ 图像生成模型(Antigravity)

  • gemini-3.1-flash-image:基础图像生成模型
  • 分辨率后缀
    • -2k:2K 分辨率
    • -4k:4K 高清分辨率
  • 比例后缀
    • -1x1:正方形(头像)
    • -16x9:横屏(电脑壁纸)
    • -9x16:竖屏(手机壁纸)
    • -21x9:超宽屏(带鱼屏)
    • -4x3:传统显示器
    • -3x4:竖版海报
  • 组合使用示例
    • gemini-3.1-flash-image-4k-16x9:4K 横屏
    • gemini-3.1-flash-image-2k-9x16:2K 竖屏
  • 不指定比例时,API 自动决定横竖比例

🌊 特殊功能变体

  • 假流式模式:在任何模型名称后添加 -假流式 后缀
    • 例:gemini-2.5-pro-假流式
    • 用于需要流式响应但服务端不支持真流式的场景
  • 流式抗截断模式:在模型名称前添加 流式抗截断/ 前缀
    • 例:流式抗截断/gemini-2.5-pro
    • 自动检测响应截断并重试,确保完整回答

🔧 模型功能自动检测

  • 系统自动识别模型名称中的功能标识
  • 透明地处理功能模式转换
  • 支持功能组合使用

安装指南

Termux 环境

初始安装

curl -o termux-install.sh "https://raw.githubusercontent.com/su-kaka/gcli2api/refs/heads/master/termux-install.sh" && chmod +x termux-install.sh && ./termux-install.sh

重启服务

cd gcli2api
bash termux-start.sh

Windows 环境

初始安装

iex (iwr "https://raw.githubusercontent.com/su-kaka/gcli2api/refs/heads/master/install.ps1" -UseBasicParsing).Content

重启服务 双击执行 start.bat

Linux 环境

初始安装

curl -o install.sh "https://raw.githubusercontent.com/su-kaka/gcli2api/refs/heads/master/install.sh" && chmod +x install.sh && ./install.sh

重启服务

cd gcli2api
bash start.sh

macOS 环境

初始安装

curl -o darwin-install.sh "https://raw.githubusercontent.com/su-kaka/gcli2api/refs/heads/master/darwin-install.sh" && chmod +x darwin-install.sh && ./darwin-install.sh

重启服务

cd gcli2api
bash start.sh

Docker 环境

Docker 运行命令

# 使用通用密码
docker run -d --name gcli2api --network host -e PASSWORD=pwd -e PORT=7861 -v $(pwd)/data/creds:/app/creds ghcr.io/su-kaka/gcli2api:latest

# 使用分离密码
docker run -d --name gcli2api --network host -e API_PASSWORD=api_pwd -e PANEL_PASSWORD=panel_pwd -e PORT=7861 -v $(pwd)/data/creds:/app/creds ghcr.io/su-kaka/gcli2api:latest

Docker Mac

# 使用通用密码
docker run -d \
  --name gcli2api \
  -p 7861:7861 \
  -p 8080:8080 \
  -e PASSWORD=pwd \
  -e PORT=7861 \
  -v "$(pwd)/data/creds":/app/creds \
  ghcr.io/su-kaka/gcli2api:latest
# 使用分离密码
docker run -d \
--name gcli2api \
-p 7861:7861 \
-p 8080:8080 \
-e API_PASSWORD=api_pwd \
-e PANEL_PASSWORD=panel_pwd \
-e PORT=7861 \
-v $(pwd)/data/creds:/app/creds \
ghcr.io/su-kaka/gcli2api:latest

Docker Compose 运行命令

  1. 将以下内容保存为 docker-compose.yml 文件:
    version: '3.8'
    
    services:
      gcli2api:
        image: ghcr.io/su-kaka/gcli2api:latest
        container_name: gcli2api
        restart: unless-stopped
        network_mode: host
        environment:
          # 使用通用密码(推荐用于简单部署)
          - PASSWORD=pwd
          - PORT=7861
          # 或使用分离密码(推荐用于生产环境)
          # - API_PASSWORD=your_api_password
          # - PANEL_PASSWORD=your_panel_password
        volumes:
          - ./data/creds:/app/creds
        healthcheck:
          test: ["CMD-SHELL", "python -c \"import sys, urllib.request, os; port = os.environ.get('PORT', '7861'); req = urllib.request.Request(f'http://localhost:{port}/v1/models', headers={'Authorization': 'Bearer ' + os.environ.get('PASSWORD', 'pwd')}); sys.exit(0 if urllib.request.urlopen(req, timeout=5).getcode() == 200 else 1)\""]
          interval: 30s
          timeout: 10s
          retries: 3
          start_period: 40s
    
  2. 启动服务:
    docker-compose up -d
    

配置说明

  1. 访问 http://127.0.0.1:7861 (默认端口,可通过 PORT 环境变量修改)
  2. 完成 OAuth 认证流程(默认密码:pwd,可通过环境变量修改)
    • GCLI 模式:用于获取 Google Cloud Gemini API 凭证
    • Antigravity 模式:用于获取 Google Antigravity API 凭证
  3. 配置客户端:

OpenAI 兼容客户端:

  • 端点地址http://127.0.0.1:7861/v1
  • API 密钥pwd(默认值,可通过 API_PASSWORD 或 PASSWORD 环境变量修改)

Gemini 原生客户端:

  • 端点地址http://127.0.0.1:7861
  • 认证方式
    • Authorization: Bearer your_api_password
    • x-goog-api-key: your_api_password
    • URL 参数:?key=your_api_password

🌟 双认证模式支持

GCLI 认证模式

  • 标准的 Google Cloud Gemini API 认证
  • 支持 OAuth2.0 认证流程
  • 自动启用必需的 Google Cloud API

Antigravity 认证模式

  • Google Antigravity API 专用认证
  • 独立的凭证管理系统
  • 支持批量上传和管理
  • 与 GCLI 凭证完全隔离

统一管理界面

  • 在"批量上传"标签页中可一次性管理两种凭证
  • 上半部分:GCLI 凭证批量上传(蓝色主题)
  • 下半部分:Antigravity 凭证批量上传(绿色主题)
  • 各自独立的凭证管理标签页

💾 数据存储模式

🌟 存储后端支持

gcli2api 支持两种存储后端:本地 SQLite(默认)MongoDB(云端分布式存储)

📁 本地 SQLite 存储(默认)

默认存储方式

  • 无需配置,开箱即用
  • 数据存储在本地 SQLite 数据库中
  • 适合单机部署和个人使用
  • 自动创建和管理数据库文件

🍃 MongoDB 云端存储模式

云端分布式存储方案

当需要多实例部署或云端存储时,可以启用 MongoDB 存储模式。

⚙️ 启用 MongoDB 模式

步骤 1: 配置 MongoDB 连接

# 本地 MongoDB
export MONGODB_URI="mongodb://localhost:27017"

# MongoDB Atlas 云服务
export MONGODB_URI="mongodb+srv://username:password@cluster.mongodb.net"

# 带认证的 MongoDB
export MONGODB_URI="mongodb://admin:password@localhost:27017/admin"

# 可选:自定义数据库名称(默认: gcli2api)
export MONGODB_DATABASE="my_gcli_db"

步骤 2: 启动应用

# 应用会自动检测 MongoDB 配置并使用 MongoDB 存储
python web.py

Docker 环境使用 MongoDB

# 单机 MongoDB 部署
docker run -d --name gcli2api \
  -e MONGODB_URI="mongodb://mongodb:27017" \
  -e API_PASSWORD=your_password \
  --network your_network \
  ghcr.io/su-kaka/gcli2api:latest

# 使用 MongoDB Atlas
docker run -d --name gcli2api \
  -e MONGODB_URI="mongodb+srv://user:pass@cluster.mongodb.net/gcli2api" \
  -e API_PASSWORD=your_password \
  -p 7861:7861 \
  ghcr.io/su-kaka/gcli2api:latest

Docker Compose 示例

version: '3.8'

services:
  mongodb:
    image: mongo:7
    container_name: gcli2api-mongodb
    restart: unless-stopped
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: password123
    volumes:
      - mongodb_data:/data/db
    ports:
      - "27017:27017"

  gcli2api:
    image: ghcr.io/su-kaka/gcli2api:latest
    container_name: gcli2api
    restart: unless-stopped
    depends_on:
      - mongodb
    environment:
      - MONGODB_URI=mongodb://admin:password123@mongodb:27017/admin
      - MONGODB_DATABASE=gcli2api
      - API_PASSWORD=your_api_password
      - PORT=7861
    ports:
      - "7861:7861"

volumes:
  mongodb_data:

🔧 高级配置

MongoDB 连接优化

# 连接池和超时配置
export MONGODB_URI="mongodb://localhost:27017?maxPoolSize=10&serverSelectionTimeoutMS=5000"

# 副本集配置
export MONGODB_URI="mongodb://host1:27017,host2:27017,host3:27017/gcli2api?replicaSet=myReplicaSet"

# 读写分离配置
export MONGODB_URI="mongodb://localhost:27017/gcli2api?readPreference=secondaryPreferred"

环境变量配置

基础配置

  • PORT: 服务端口(默认:7861)
  • HOST: 服务器监听地址(默认:0.0.0.0)

密码配置

  • API_PASSWORD: 聊天 API 访问密码(默认:继承 PASSWORD 或 pwd)
  • PANEL_PASSWORD: 控制面板访问密码(默认:继承 PASSWORD 或 pwd)
  • PASSWORD: 通用密码,设置后覆盖上述两个(默认:pwd)

性能和稳定性配置

  • RETRY_429_ENABLED: 启用 429 错误自动重试(默认:true)
  • RETRY_429_MAX_RETRIES: 429 错误最大重试次数(默认:3)
  • RETRY_429_INTERVAL: 429 错误重试间隔,秒(默认:1.0)
  • ANTI_TRUNCATION_MAX_ATTEMPTS: 抗截断最大重试次数(默认:3)

网络和代理配置

  • PROXY: HTTP/HTTPS 代理地址(格式:http://host:port
  • OAUTH_PROXY_URL: OAuth 认证代理端点
  • GOOGLEAPIS_PROXY_URL: Google APIs 代理端点
  • METADATA_SERVICE_URL: 元数据服务代理端点

自动化配置

  • AUTO_BAN: 启用凭证自动封禁(默认:true)
  • AUTO_LOAD_ENV_CREDS: 启动时自动加载环境变量凭证(默认:false)

兼容性配置

  • COMPATIBILITY_MODE: 启用兼容性模式,将 system 消息转为 user 消息(默认:false)

日志配置

  • LOG_LEVEL: 日志级别(DEBUG/INFO/WARNING/ERROR,默认:INFO)
  • LOG_FILE: 日志文件路径(默认:log.txt)

存储配置

SQLite 配置(默认)

  • 无需配置,自动使用本地 SQLite 数据库
  • 数据库文件自动创建在项目目录

MongoDB 配置(可选云端存储)

  • MONGODB_URI: MongoDB 连接字符串(设置后启用 MongoDB 模式)
  • MONGODB_DATABASE: MongoDB 数据库名称(默认:gcli2api)

Docker 使用示例

# 使用通用密码
docker run -d --name gcli2api \
  -e PASSWORD=mypassword \
  -e PORT=7861 \
  ghcr.io/su-kaka/gcli2api:latest

# 使用分离密码
docker run -d --name gcli2api \
  -e API_PASSWORD=my_api_password \
  -e PANEL_PASSWORD=my_panel_password \
  -e PORT=7861 \
  ghcr.io/su-kaka/gcli2api:latest

注意:当设置了凭证环境变量时,系统将优先使用环境变量中的凭证,忽略 creds 目录中的文件。

API 使用方式

本服务支持三套完整的 API 端点:

1. OpenAI 兼容端点(GCLI)

端点: /v1/chat/completions 认证: Authorization: Bearer your_api_password

支持两种请求格式,会自动检测并处理:

OpenAI 格式:

{
  "model": "gemini-2.5-pro",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant"},
    {"role": "user", "content": "Hello"}
  ],
  "temperature": 0.7,
  "stream": true
}

Gemini 原生格式:

{
  "model": "gemini-2.5-pro",
  "contents": [
    {"role": "user", "parts": [{"text": "Hello"}]}
  ],
  "systemInstruction": {"parts": [{"text": "You are a helpful assistant"}]},
  "generationConfig": {
    "temperature": 0.7
  }
}

2. Gemini 原生端点(GCLI)

非流式端点: /v1/models/{model}:generateContent 流式端点: /v1/models/{model}:streamGenerateContent 模型列表: /v1/models

认证方式(任选一种):

  • Authorization: Bearer your_api_password
  • x-goog-api-key: your_api_password
  • URL 参数:?key=your_api_password

请求示例:

# 使用 x-goog-api-key 头部
curl -X POST "http://127.0.0.1:7861/v1/models/gemini-2.5-pro:generateContent" \
  -H "x-goog-api-key: your_api_password" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"role": "user", "parts": [{"text": "Hello"}]]
    ]
  }'

# 使用 URL 参数
curl -X POST "http://127.0.0.1:7861/v1/models/gemini-2.5-pro:streamGenerateContent?key=your_api_password" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"role": "user", "parts": [{"text": "Hello"}]}
    ]
  }'

3. Claude API 格式端点

端点: /v1/messages 认证: x-api-key: your_api_passwordAuthorization: Bearer your_api_password

请求示例:

curl -X POST "http://127.0.0.1:7861/v1/messages" \
  -H "x-api-key: your_api_password" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-2.5-pro",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello, Claude!"}
    ]
  }'

支持 system 参数:

{
  "model": "gemini-2.5-pro",
  "max_tokens": 1024,
  "system": "You are a helpful assistant",
  "messages": [
    {"role": "user", "content": "Hello"}
  ]
}

说明:

  • 完全兼容 Claude API 格式规范
  • 自动转换为 Gemini 格式调用后端
  • 支持 Claude 的所有标准参数
  • 响应格式符合 Claude API 规范

4. Antigravity API 端点

支持三种格式:OpenAI、Gemini 和 Claude

Antigravity OpenAI 格式端点

端点: /antigravity/v1/chat/completions 认证: Authorization: Bearer your_api_password

请求示例:

curl -X POST "http://127.0.0.1:7861/antigravity/v1/chat/completions" \
  -H "Authorization: Bearer your_api_password" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "messages": [
      {"role": "user", "content": "Hello"}
    ],
    "stream": true
  }'
Antigravity Gemini 格式端点

非流式端点: /antigravity/v1/models/{model}:generateContent 流式端点: /antigravity/v1/models/{model}:streamGenerateContent

认证方式(任选一种):

  • Authorization: Bearer your_api_password
  • x-goog-api-key: your_api_password
  • URL 参数:?key=your_api_password

请求示例:

# Gemini 格式非流式请求
curl -X POST "http://127.0.0.1:7861/antigravity/v1/models/claude-sonnet-4-5:generateContent" \
  -H "x-goog-api-key: your_api_password" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"role": "user", "parts": [{"text": "Hello"}]}
    ],
    "generationConfig": {
      "temperature": 0.7
    }
  }'

# Gemini 格式流式请求
curl -X POST "http://127.0.0.1:7861/antigravity/v1/models/gemini-2.5-flash:streamGenerateContent?key=your_api_password" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"role": "user", "parts": [{"text": "Hello"}]}
    ]
  }'
Antigravity Claude 格式端点

端点: /antigravity/v1/messages 认证: x-api-key: your_api_password

请求示例:

curl -X POST "http://127.0.0.1:7861/antigravity/v1/messages" \
  -H "x-api-key: your_api_password" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello"}
    ]
  }'

支持的 Antigravity 模型:

  • Claude 系列:claude-sonnet-4-5claude-opus-4-5
  • Gemini 系列:gemini-2.5-flashgemini-2.5-pro
  • 自动支持思维模型(thinking models)

Gemini 原生示例:

from io import BytesIO
from PIL import Image
from google.genai import Client
from google.genai.types import HttpOptions
from google.genai import types
# The client gets the API key from the environment variable `GEMINI_API_KEY`.

client = Client(
            api_key="pwd",
            http_options=HttpOptions(base_url="http://127.0.0.1:7861"),
        )

prompt = (
    """
    画一只猫
    """
)

response = client.models.generate_content(
    model="gemini-3.1-flash-image",
    contents=[prompt],
    config=types.GenerateContentConfig(
        image_config=types.ImageConfig(
            aspect_ratio="16:9",
        )
    )
)
for part in response.candidates[0].content.parts:
    if part.text is not None:
        print(part.text)
    elif part.inline_data is not None:
        image = Image.open(BytesIO(part.inline_data.data))
        image.save("generated_image.png")

说明:

  • OpenAI 端点返回 OpenAI 兼容格式
  • Gemini 端点返回 Gemini 原生格式
  • 两种端点使用相同的 API 密码

📋 完整 API 参考

Web 控制台 API

认证端点

  • POST /auth/login - 用户登录
  • POST /auth/start - 开始 OAuth 认证(支持 GCLI 和 Antigravity 模式)
  • POST /auth/callback - 处理 OAuth 回调
  • POST /auth/callback-url - 从回调 URL 直接完成认证
  • GET /auth/status/{project_id} - 检查认证状态

凭证管理端点(支持 mode=geminiclimode=antigravity 参数)

  • POST /creds/upload - 批量上传凭证文件(支持 JSON 和 ZIP)
  • GET /creds/status - 获取凭证状态列表(支持分页和筛选)
  • GET /creds/detail/{filename} - 获取单个凭证详情
  • POST /creds/action - 单个凭证操作(启用/禁用/删除)
  • POST /creds/batch-action - 批量凭证操作
  • GET /creds/download/{filename} - 下载单个凭证文件
  • GET /creds/download-all - 打包下载所有凭证
  • POST /creds/fetch-email/{filename} - 获取用户邮箱
  • POST /creds/refresh-all-emails - 批量刷新用户邮箱
  • POST /creds/deduplicate-by-email - 按邮箱去重凭证
  • POST /creds/verify-project/{filename} - 检验凭证 Project ID
  • GET /creds/quota/{filename} - 获取凭证额度信息(仅 Antigravity)

配置管理端点

  • GET /config/get - 获取当前配置
  • POST /config/save - 保存配置

日志管理端点

  • POST /logs/clear - 清空日志
  • GET /logs/download - 下载日志文件
  • WebSocket /logs/stream - 实时日志流

版本信息端点

  • GET /version/info - 获取版本信息(可选 check_update=true 参数检查更新)

聊天 API 功能特性

多模态支持

{
  "model": "gemini-2.5-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "描述这张图片"},
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABA..."
          }
        }
      ]
    }
  ]
}

思维模式支持

{
  "model": "gemini-2.5-pro-maxthinking",
  "messages": [
    {"role": "user", "content": "复杂数学问题"}
  ]
}

响应将包含分离的思维内容:

{
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "最终答案",
      "reasoning_content": "详细的思考过程..."
    }
  }]
}

流式抗截断使用

{
  "model": "流式抗截断/gemini-2.5-pro",
  "messages": [
    {"role": "user", "content": "写一篇长文章"}
  ],
  "stream": true
}

兼容性模式

# 启用兼容性模式
export COMPATIBILITY_MODE=true

此模式下,所有 system 消息会转换为 user 消息,提高与某些客户端的兼容性。


💬 交流群

欢迎加入 QQ 群交流讨论!

QQ 群号:937681997

QQ群二维码

许可证与免责声明

本项目仅供学习和研究用途。使用本项目表示您同意:

  • 不将本项目用于任何商业用途
  • 承担使用本项目的所有风险和责任
  • 遵守相关的服务条款和法律法规

项目作者对因使用本项目而产生的任何直接或间接损失不承担责任。

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架

gpt4free

gpt4free 是一个由社区驱动的开源项目,旨在聚合多种可访问的大型语言模型(LLM)和媒体生成接口,让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点,通过统一的标准将不同提供商的资源整合在一起。 无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员,还是想免费体验最新技术的普通用户,都能从中受益。gpt4free 提供了丰富的使用方式:既包含易于上手的 Python 和 JavaScript 客户端库,也支持部署本地图形界面(GUI),更提供了兼容 OpenAI 标准的 REST API,方便无缝替换现有应用后端。 其技术亮点在于强大的多提供商支持架构,能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源,并支持 Docker 一键部署及本地推理。项目秉持社区优先原则,在降低使用门槛的同时,也为贡献者提供了扩展新接口的便利框架,是探索和利用多样化 AI 资源的实用工具。

66k|★★☆☆☆|2天前
插件语言模型Agent

gstack

gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。

64.3k|★★☆☆☆|今天
Agent插件

meilisearch

Meilisearch 是一个开源的极速搜索服务,专为现代应用和网站打造,开箱即用。它能帮助开发者快速集成高质量的搜索功能,无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果,而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性,并支持 AI 驱动的混合搜索(结合关键词与语义理解),显著提升用户查找信息的体验。 Meilisearch 特别适合 Web 开发者、产品团队或初创公司使用,尤其适用于需要快速上线搜索功能的场景,如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK,部署简单,资源占用低,本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下,为用户提供流畅、智能搜索体验的团队来说,Meilisearch 是一个高效且友好的选择。

57k|★★☆☆☆|今天
图像Agent数据工具

awesome-claude-skills

awesome-claude-skills 是一个精心整理的开源资源库,旨在帮助用户挖掘和扩展 Claude AI 的潜力。它不仅仅是一份列表,更提供了实用的“技能(Skills)”模块,让 Claude 从单纯的文本生成助手,进化为能执行复杂工作流的智能代理。 许多用户在使用 AI 时,常受限于其无法直接操作外部软件或处理特定格式文件的痛点。awesome-claude-skills 通过预设的工作流解决了这一问题:它不仅能教会 Claude 专业地处理 Word、PDF 等文档,进行代码开发与数据分析,还能借助 Composio 插件连接 Slack、邮箱及数百种常用应用,实现发送邮件、创建任务等自动化操作。这使得重复性任务变得标准化且可复用,极大提升了工作效率。 无论是希望优化日常办公流程的普通用户、需要处理复杂文档的研究人员,还是寻求将 AI 深度集成到开发管线中的开发者,都能从中找到适合的解决方案。其独特的技术亮点在于“技能”的可定制性与强大的应用连接能力,让用户无需编写复杂代码,即可通过简单的配置让 Claude 具备跨平台执行真实任务的能力。如果你希望让 Claude

51.3k|★★☆☆☆|今天
Agent插件