1.前言
在AI大模型竞争白热化的今天,各家厂商的顶级模型订阅费用让不少开发者望而却步。Claude Opus 4.5官方订阅每月20美金,Gemini 3 Pro的API调用费用也不便宜。对于个人开发者或学习者来说,想要体验这些顶级模型的能力,token焦虑成了普遍的"时代病"------用着用着就担心额度不够用了,每次调用都得精打细算。
好消息来了!Google随着Gemini 3发布推出了一个叫做Antigravity的平台,这个平台不仅内置了Gemini系列模型,还集成了Claude Sonnet 4.5和Claude Opus 4.5!更让人惊喜的是,Google One Pro账号的免费额度大概是Claude官方订阅20刀版本的3倍左右,而且每天重置!如果是Ultra订阅用户,那几乎就是无限量使用。即使是免费Google账号,也有一定额度,只是一周重置一次。据说Antigravity中的Claude模型还是经过Google调教过的,速度更快。通过CLIProxyAPI这个开源项目,我们可以将Antigravity的能力转化为标准API接口,在Cherry Studio、Claude Code等各种工具中畅快使用。

今天研究了一下CLIProxyAPI这个开源项目,然后把这个免费的路给跑通了。今天我们就手把手教大家如何部署这套反代服务,让你在本地CLI命令行中也能白嫖顶级大模型,彻底告别token焦虑!
2.部署实战
下载源码
首选我们需要去github上下载一个叫做CLIProxyAPI 项目。

这里我们使用git命令下载本地。由于我之前已经下载了,这里就不展开。

配置文件修改
程序启动需要config.yaml个配置文件,我们这里使用下面命名复制
shell
cp config.example.yaml config.yaml
window 上直接复制。

记下来我们编辑一下config.yaml,主要是修改api-keys、remote-management.allow-remote、secret-key

参考上面的设置即可。其中secret-key 主要是后面启动登录的账号,可以设置比较简单的123456等等。系统会加密,不用管上面截图信息。
下载容器镜像
这里考虑到部署方便,我们使用docker 容器部署。输入下面的命令下载最新的镜像,我电脑安装了wsl,所以我使用linux运行环境来部署这个程序
bash
docker pull eceasy/cli-proxy-api:v6.6.77

启动服务
镜像下载完成后,我们输入下面命令启动容器
bash
docker run -d \
-p 8317:8317 \
-v ./config.yaml:/CLIProxyAPI/config.yaml \
-v ./auths:/root/.cli-proxy-api \
eceasy/cli-proxy-api:latest

启动完成后我们可以在容器环境查看到8317服务端口启动
验证
程序启动完成后,我们可以输入下面地址验证一下服务是否可以访问
http://localhost:8317/management.html

看到上面的页面 说明服务端是可以使用的。我们输入管理员秘钥,这管理员秘钥就是我们上面截图设置的

账号秘钥。输入密码后点击登录按钮完成登录

通过以上方式我们就完成了CLIProxyAPI程序的部署。解析我们需要在安装EasyCLI 这个子项目
EasyCLI安装
接下来我们在github上找到这个EasyCLI项目,并下载它的安装包。

我这里就那windows为案例,下载后直接解压打开即可。

双击打开后我们选择远程。输入请求地址和密码

这个地址和账号密码其实就是上面的CLIProxyAPI 后端管理账号和密码。登录成功后进入EasyCLI后台管理

等后我们选择authentication files ,然后在右下角new 按钮点击Antigravity


Google Antigravity" 授权
点击open link打开google 授权

因为我浏览器之前记录2个google 的账号,所以我这边点击授权。弹出"Google Antigravity" 授权页面,点击登录按钮


完成授权。
这里需要注意的是由于Google 的限制,我们需要把自己的国家和地区改成非中国地区(包括香港),建议直接改美国。
policies.google.com/terms?hl=zh...

下载授权文件并导入
接下来我们把刚才授权店2个json文档下载并导出。

回到CLIProxyAPI 后台管理界面,我们在认证文件导入2个文件

通过上面的方式我们的CLIProxyAPI 反带就配置完成了。我点击其中一个账号模型详细信息可以看到可以使用的模型

3.第三方平台使用
接下来我们就可以在第三方平台上使用者这个免费的反带API 了
cherry stuido
我们使用cherry stuido 这个第三方工具来测试验证一下反带的效果。
我们先在cherry stuido配置一下

填写api秘钥,这秘钥就是上面我们在conf.yaml配置的api-keys的秘钥
api地址 我们填写本地地址http://localhost:8317 (如果远程部署可以填写远程服务器地址)

以上我们就完成了模型基本设置。
接下来我们在聊天对话中验证测试
选择gemini-3-flash-preview

选择gemini-3-pro-image-preview模型 可以生图(这个就是我们所说的nano banana pro)


使用代码实现
这里我们使用python来实现这个接口调用,我们这里就文生图接口测试
testgemini-3-pro-image-preview.py
python
import requests
import json
import base64
import os
import re
url = "http://localhost:8317/v1/chat/completions"
payload = json.dumps({
"model": "gemini-3-pro-image-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "2个螃蟹在打架"
}
]
}
]
})
headers = {
'Authorization': 'Bearer sk_zhouhuizhou',
'Content-Type': 'application/json'
}
print("正在发送请求...")
response = requests.request("POST", url, headers=headers, data=payload)
if response.status_code == 200:
res_text = response.text
# 尝试匹配 base64 模式
# 模式 1: data:image/xxx;base64,xxxx
pattern1 = r'base64,([A-Za-z0-9+/=]{50,})'
match1 = re.search(pattern1, res_text)
base64_str = None
if match1:
base64_str = match1.group(1)
else:
# 模式 2: JSON 字段中的长字符串 (假设是 base64)
try:
res_data = response.json()
content = res_data.get('choices', [{}])[0].get('message', {}).get('content', '')
if isinstance(content, list):
# 处理列表形式的 content
for item in content:
if isinstance(item, dict):
text = item.get('text', '')
if 'base64,' in text:
base64_str = text.split('base64,')[1].strip()
break
elif len(text) > 100: # 可能是纯 base64
base64_str = text.strip()
break
elif isinstance(content, str):
if 'base64,' in content:
base64_str = content.split('base64,')[1].strip()
elif len(content) > 100:
base64_str = content.strip()
except:
pass
if base64_str:
# 清理可能存在的引号或转义字符
base64_str = base64_str.split('"')[0].split('\\')[0].strip()
try:
image_data = base64.b64decode(base64_str)
output_filename = "output_crab_fight.png"
with open(output_filename, "wb") as f:
f.write(image_data)
print(f"图片已成功保存!")
print(f"文件路径: {os.path.abspath(output_filename)}")
print(f"所在目录: {os.path.dirname(os.path.abspath(output_filename))}")
except Exception as e:
print(f"解码图片失败: {e}")
else:
print("未在响应中识别到 base64 数据。")
print("响应前 500 字符:", res_text[:500])
else:
print(f"请求失败,状态码: {response.status_code}")
print(response.text)


我们通过代码也实现了文生图调用Antigravity实现生图功能了
claude code
接下来我们使用本地claude code 来实现。这里配置我们使用cc-switch配置。关于cc-switch配置 配置不熟悉的可以看我之前的文章
《CC-Switch配置切换神器:5秒搞定多设备同步,坚果云让配置永不丢失》

cc-switch完成后,我们启动本地claud code

这样我们在cli命令中也可以使用google Antigravity 来实现国外顶级模型免费使用了。
4.总结
今天主要带大家了解并实现了CLIProxyAPI配合Google Antigravity的反代部署完整流程,该方案以"Docker容器化部署 + OAuth授权认证"为核心优势,结合开发者对顶级大模型免费使用的强烈需求,通过CLIProxyAPI后端服务与EasyCLI客户端工具,形成了一套从Google账号授权到标准API调用的全链路白嫖方案。
在实际应用中,该方案不仅支持多Google账号轮换使用实现额度叠加,还支持远程部署供团队共享使用,适配性远优于单一官方订阅方案;特别是通过标准OpenAI协议转换,有效解决了不同平台API协议不兼容的难题。同时,方案具备良好的扩展性------小伙伴们可以基于此扩展更多应用场景,如接入Cursor编辑器、配置到各类AI Agent框架、搭建私有化AI助手等,进一步发挥免费顶级模型在代码开发、内容创作、图像生成等领域的应用价值。需要注意的是Google账号地区需设置为美国等非受限地区,免费账号额度一周重置而Pro账号每天重置。
感兴趣的小伙伴可以按照文中提供的步骤进行实践,根据实际使用需求调整账号数量和部署方式。今天的分享就到这里结束了,我们下一篇文章见。