百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

gcli2api

> 开发工具
开源

将 GeminiCLI 和 Antigravity 转换为 OpenAI、Gemini 和 Claude API 接口

5.0K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

将 GeminiCLI 和 Antigravity 转换为 OpenAI、Gemini 和 Claude API 接口

GeminiCLI to API

将 GeminiCLI 和 Antigravity 转换为 OpenAI 、GEMINI 和 Claude API 兼容接口 English | 中文 | 日本語

快速部署


安装指南

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 文件:
…
  1. 启动服务:
    docker-compose up -d
    

核心功能

API 端点和格式支持

多端点多格式支持

  • OpenAI 兼容端点:/v1/chat/completions 和 /v1/models
    • 支持标准 OpenAI 格式(messages 结构)
    • 支持 Gemini 原生格式(contents 结构)
    • 自动格式检测和转换,无需手动切换
    • 支持多模态输入(文本 + 图像)
  • Gemini 原生端点:/v1/models/{model}:generateContent 和 streamGenerateContent
    • 支持完整的 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}:generateContent 和 streamGenerateContent
    • 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
    • 通过合成工具调用绕过截断限制,确保完整回答(流式和非流式均有效)

模型功能自动检测

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

配置说明

  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:[email protected]"

# 带认证的 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:[email protected]/gcli2api" \
  -e API_PASSWORD=your_password \
  -p 7861:7861 \
  ghcr.io/su-kaka/gcli2api:latest

Docker Compose 示例

…

高级配置

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_password 或 Authorization: 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

请求示例:

…
Antigravity Claude 格式端点

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

请求示例:

curl -X POST

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Pythonantigravity-ideantigravity2apiclaudeclaude-api

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类开发工具
定价开源

> 相关工具

V
VS Code
流行的开源代码编辑器
G
Git
分布式版本控制系统
V
Vite
下一代前端构建工具