Skip to content

About

antigravity to api,并新增 多种新功能

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

1,534 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gcl2api-plus

提供 Antigravity 与 Vertex 接入、API Key 管理、用量计费和多账号凭证管理

Antigravity 提供 OpenAI Chat Completions / Responses、Gemini 和 Anthropic Messages 兼容接口;Vertex 提供 OpenAI Chat Completions 和 Gemini 兼容接口。当前版本不再提供 GeminiCLI 通道。

Python 3.12+ License: CNC-1.0 Docker

中文 | English


关于本仓库

本仓库 Wzh0718/gcl2api-plus 基于上游项目 su-kaka/gcli2api 二次开发,遵循上游原有许可证。

本项目修改部分版权归 © 2026 Wzh0718(wangzehang)所有;保留上游版权声明,完整许可条款见 LICENSE。

当前版本功能

本仓库在上游基础上持续独立维护,主要能力与定制改进如下:

功能 具体说明
API 协议接入 Antigravity 支持 OpenAI Chat Completions / Responses、Gemini 和 Anthropic Messages;Vertex 支持 OpenAI Chat Completions 和 Gemini。当前不提供 GeminiCLI 通道。
API Key 管理 签发、复制、启停和吊销独立密钥;配置金额额度、到期时间,以及手动或每月额度重置;查看各密钥用量和剩余额度。
登录与凭证池 支持 Antigravity OAuth 登录、Refresh Token(RT)导入和多账号凭证管理;按可用账号轮转,控制每账号并发并在异常时切换凭证。
账号检查与恢复 检查账号健康、模型额度与网络资格;对可恢复的 403 定期复检,明确的 TOS / account_forbidden 账号仅人工复检;提供额度对账。
动态养号与渐进放量 可按账号或批量开启,使用真实业务请求逐档放量;限制账号及同出口 IP 组的并发和请求间隔,异常时退避或暂停。详见状态机说明。
账号代理与出口管理 支持继承全局代理、独立代理、直连及代理组;可启用一账号一节点的独占绑定,并检查出口 IP、地区资格和代理健康。
Token 用量与费用统计 配置模型 Token 单价,按请求去重入账,查看汇总、排行和密钥账单;历史账单保留当时价格。SQLite 持久化,Redis 可选作计费镜像和看板数据源,故障时回退 SQLite。
调用监控与日志 查看实时调用、用量和日志;对照请求模型与上游返回的实际执行模型 modelVersion,并持久化实际模型记录。
流式响应与抗截断 支持流式空闲超时守护,以及 假流式/、流式抗截断/、抗截断/ 三种模型前缀;抗截断仅对流式请求执行续传,旧前缀继续兼容。
配额耗尽降级 可配置模型降级链,默认关闭;仅在明确的配额耗尽型 429 时触发,图片请求不使用该降级链。
图片参数与传输 兼容 Gemini 图片参数及 OpenAI Chat Completions 顶层 size,保留历史尺寸后缀;图片请求使用独立的传输、容量错误处理和有限重试策略。详见图片 API 说明。
客户端名称过滤 支持对 system prompt 中的客户端名称执行替换或本地拦截,可配置内置词与自定义规则;不修改用户消息和工具调用。
部署与发布 提供桌面及移动控制面板、Docker / Compose 部署,以及 GHCR 多架构镜像;通过本地脚本或手动触发 GitHub Actions 发布,无自动上游同步。

详细配置、默认值和启用条件见开发与发布指南。

官方镜像

docker pull ghcr.io/wzh0718/gcl2api-plus:latest

日期版本使用 vYYYYMMDD 标签,例如:

docker pull ghcr.io/wzh0718/gcl2api-plus:v20260910

本仓库为独立完整项目(无覆盖层、无自动上游同步),开发与发布流程见 docs/CUSTOMIZATION.md。

快速部署

Docker Run

docker run -d \
  --name gcli2api \
  --network host \
  -e PASSWORD=pwd \
  -e PORT=7861 \
  -v "$(pwd)/data/creds:/app/creds" \
  ghcr.io/wzh0718/gcl2api-plus:latest

生产环境建议把 API 和控制面板密码分开:

docker run -d \
  --name gcli2api \
  --network host \
  -e API_PASSWORD=your_api_password \
  -e PANEL_PASSWORD=your_panel_password \
  -e PORT=7861 \
  -v "$(pwd)/data/creds:/app/creds" \
  ghcr.io/wzh0718/gcl2api-plus:latest

Docker Compose

docker compose up -d

仓库内的 docker-compose.yml 已默认使用 ghcr.io/wzh0718/gcl2api-plus:latest。修改 .env 后重新执行 docker compose up -d,不需要重新构建镜像。

配置建议

先复制示例文件:

cp .env.example .env
配置 作用 默认/建议
API_PASSWORD API 端点密码 生产环境单独设置
PANEL_PASSWORD 控制面板密码 生产环境单独设置
PASSWORD 兼容旧部署的通用密码 设置后优先级最高
CREDENTIALS_DIR SQLite 数据库和凭证目录 ./creds
PROXY 全局代理 按需设置 http / https / socks5
REDIS_URL 计费镜像和看板加速 可选,故障时回退 SQLite
REDIS_USER / REDIS_PASSWORD Redis 分离认证 推荐单独设置
ANTIGRAVITY_MODEL_FALLBACK_CHAIN 配额耗尽时的模型降级链 逗号分隔,留空关闭
MAX_NON_STREAM_BUFFER_BYTES 非流响应最大缓冲区 16777216
CREDENTIAL_CANDIDATE_LIMIT 单次账号候选上限 32

配置优先级为:显式环境变量 > .env > SQLite 配置 > 代码默认值。SQLite 是唯一的持久化主账本,Redis 只作为计费和看板镜像,不替代 SQLite。

上面只是常用项。全部环境变量(含本 fork 新增的 ★ 标记变量,如 403 复检、网络检查、计费看板等)按功能分组收录在 环境变量参考;.env.example 中每个变量也带默认值注释。

模型降级链示例

默认关闭(留空)。需要启用时显式配置,例如:

ANTIGRAVITY_MODEL_FALLBACK_CHAIN=gemini-3.8-flash,gemini-3.8-flash-tiered

只有明确的配额耗尽型 429 才会触发降级;图片请求不会自动切换模型。具体配置映射见 config.py 和控制面板设置页。

普通模型与流式抗截断

普通模型和流式抗截断模型可按需选择,例如:

请求模型名 行为
gemini-2.5-flash 正常调用,不启用抗截断
流式抗截断/gemini-2.5-flash 调用同一基础模型,流式请求启用抗截断续传
抗截断/gemini-2.5-flash 兼容旧前缀,行为与 流式抗截断/ 相同

模型列表保留普通模型,并使用 流式抗截断/ 展示抗截断选项;旧客户端已保存的 抗截断/ 模型名仍可使用。基础模型是否可用取决于对应通道的模型列表和账号权限。

抗截断仅对流式请求生效:OpenAI / Anthropic 请求需设置 stream: true,Gemini 请求需使用 :streamGenerateContent。非流式请求仍接受这两种前缀,会剥离前缀并正常调用基础模型,但不执行抗截断续传。该前缀兼容适用于 Antigravity 通道。

控制面板功能展示

API Key 管理

API Key management

RT 与 Antigravity 登录

RT and Antigravity login

凭证管理优化

Credential management

统计模块

Statistics

设置页优化

Settings

Token 统计

Token statistics

调用监控:请求模型 vs 实际执行模型

上游 Antigravity 会把不同请求模型归一到同一物理后端(实测 gemini-3.6/3.7/3.8 各档位、pro-agent 等请求实际均由 gemini-3.8-flash-n 执行,响应中的 modelVersion 是唯一可信来源)。本仓库在三个层面透出真实执行模型:

  • 调用监控「实时」视图逐条显示 请求模型 → 实际模型,不一致时高亮实际模型,一致或上游未返回时保持原样;
  • OpenAI 兼容(流式/非流式)与 Anthropic Messages 响应附加顶层 modelVersion 字段(model 仍按协议回显请求名,客户端兼容性不受影响);
  • 每条调用记录(call_records.upstream_model)持久化实际上游模型,重启不丢。

Request model vs actual upstream model

日志模块优化

Logs

相关文档

致谢

  • 感谢上游项目 su-kaka/gcli2api,本仓库在其基础上二次开发,遵循上游原有许可证。
  • 感谢 LINUX DO 社区提供的交流与开源推广平台,本项目认可并链接 LINUX DO 社区。

免责声明

  • 本项目仅供学习与技术研究使用,严禁用于任何违反 Google 服务条款、上游项目许可证或当地法律法规的用途。
  • 本项目与 Google 无任何关联,并非官方产品;Gemini、GeminiCLI、Antigravity 等名称与商标归其各自权利人所有。
  • 使用本项目可能涉及账号限制、封禁、额度扣除等风险,使用者须自行承担由此产生的一切后果与责任。
  • 本项目按「现状」提供,不附带任何明示或默示的保证;作者不对因使用本项目而产生的任何直接或间接损失承担责任。
  • 请勿将本项目用于任何商业转售、批量滥用或侵犯第三方权益的行为。
  • 如本项目内容侵犯了您的合法权益,请通过 GitHub Issue 联系,确认后将及时处理。

About

antigravity to api,并新增 多种新功能

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages