一个油猴脚本,把 Google AI Studio 变成了你自己的 Gemini API 后端。
这事的背景很简单:Google AI Studio 网页端可以免费使用 Gemini 系列模型,包括 Gemini 2.5 Pro 这种旗舰级别的。但它只有网页界面,没有给你一个可以编程调用的 API endpoint。于是就有人想——能不能把网页端的请求拦下来,包一层 API 壳子?
这就是 bbbugg 开发的 AIStudioToAPI 项目干的事。而最近 Linux.do 社区的开发者 xjetry 又往前推了一步:写了一个油猴脚本,把整个流程中最麻烦的「提取认证信息」这一步自动化了。
先说清楚这条链路是怎么跑通的
AIStudioToAPI 的原理并不复杂。Google AI Studio 网页端跟后端通信时,靠的是一组 Google 账号的认证 Cookie。只要你能拿到这些 Cookie,就能在服务端模拟网页端的请求,把 AI Studio 当成一个 Gemini 推理后端来用。
整条链路分三步:
- 从浏览器里提取 Google 账号的认证 Cookie(SID、HSID、SSID、SAPISID 等)
- 把这些信息喂给 AIStudioToAPI 服务
- AIStudioToAPI 对外暴露兼容 OpenAI / Gemini / Anthropic 格式的 API 接口
第一步是整个流程的卡点。这些核心 Cookie 带了 httpOnly 标记,浏览器的 JavaScript 根本读不到。以前的做法是手动打开 DevTools → Application → Cookies,一个一个复制粘贴,再手工拼成 JSON 文件。Cookie 数量不少,名字又长,搞一次就够烦的,换个账号还得再来一遍。
xjetry 的油猴脚本就是来解决这个问题的。
脚本做了什么

脚本名叫 AI Studio Auth Extractor,核心逻辑很短。它利用 Tampermonkey 的 GM_cookie API 绕过 httpOnly 限制,批量读取 Google 域下的认证 Cookie,然后打包成 AIStudioToAPI 要求的 JSON 格式,直接触发浏览器下载。
需要提取的 Cookie 列表包括:
SID, HSID, SSID, SAPISID, APISID,
__Secure-1PSID, __Secure-3PSID,
__Secure-1PSIDTS, __Secure-3PSIDTS,
__Secure-1PSIDCC, __Secure-3PSIDCC,
__Secure-1PAPISID, __Secure-3PAPISID
这些是 Google 账号体系里的标准认证字段。1P 和 3P 分别对应第一方和第三方上下文,SID 是主会话标识,PSIDTS 是时间戳相关的令牌,PAPISID 用于 API 级别的身份绑定。脚本把它们全部抓下来,确保 AIStudioToAPI 在各种请求场景下都能正常鉴权。
输出文件以 {email}.json 命名,多账号的情况下不会搞混。
部署 AIStudioToAPI
拿到认证 JSON 之后,下一步是把 AIStudioToAPI 跑起来。项目地址在 GitHub 上:iBUHub/AIStudioToAPI。
最快的方式是 Docker:
docker run -d \
--name aistudio-api \
-p 8080:8080 \
-v ./auth:/app/auth \
ghcr.io/ibuhub/aistudiotoapi:latest
把脚本导出的 JSON 文件丢进 ./auth 目录就行。服务启动后,http://localhost:8080 就是你的 API endpoint。
它对外兼容三种格式:
- OpenAI API 格式(
/v1/chat/completions) - Gemini API 格式
- Anthropic API 格式
对大多数开发者来说,OpenAI 兼容格式是最实用的,因为市面上几乎所有 AI 工具链——LangChain、OpenAI SDK、各种 Agent 框架——都默认支持这个格式。
一个基本的调用示例:
import openai
client = openai.OpenAI(
base_url="http://localhost:8080/v1",
api_key="any-string-here" # 本地部署不需要真实 key
)
response = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[
{"role": "user", "content": "用三句话解释 Transformer 的自注意力机制"}
]
)
print(response.choices[0].message.content)
因为走的是 AI Studio 网页端的通道,模型列表跟你在 AI Studio 里能用到的一致。Gemini 2.5 Pro、Gemini 2.5 Flash、Gemini 2.0 Flash 这些都能调。
油猴脚本的安装和配置
这里有个细节值得单独说。脚本依赖 GM_cookie 这个 API,而 Tampermonkey 默认不开放 Cookie 访问权限,需要手动改一下设置:
- 打开 Tampermonkey 管理面板 → 设置
- 把「配置模式」切到「高级」
- 找到「安全」区域,把「允许脚本访问 Cookie」改成「All」
- 保存,刷新 AI Studio 页面
这一步是必须的。不改的话脚本拿不到 httpOnly 的 Cookie,提取出来的 JSON 会缺关键字段,AIStudioToAPI 鉴权直接失败。
安装脚本本身没什么特别的,标准的油猴脚本安装流程。脚本的 @match 规则是 https://aistudio.google.com/*,只在 AI Studio 页面生效。
说说实际体验和局限
这套方案的优势很明显:零成本用上 Gemini 2.5 Pro 级别的模型,而且是 API 方式调用,能接入各种工作流。对于个人开发者做原型验证、跑实验,确实很香。
但局限也得讲清楚。
第一,Cookie 有有效期。Google 的认证 Cookie 不是永久的,过期了就得重新提取。具体多久过期取决于 Google 那边的策略,实测大概几天到几周不等。好在有了油猴脚本,重新提取也就是点一下的事。
第二,稳定性不如官方 API。你本质上是在模拟网页端行为,Google 随时可能改接口、加验证、调整 Cookie 策略。AIStudioToAPI 项目需要持续跟进适配。作为一个社区驱动的开源项目,响应速度取决于维护者的精力。
第三,并发和速率限制。AI Studio 网页端本身有使用限制,不可能让你无限量调用。如果你拿它当生产环境的推理后端,大概率会撞上限流。这套方案更适合开发测试场景。
第四,合规性。用脚本提取 Cookie、模拟网页请求调用 AI 服务,这在 Google 的服务条款里大概率属于灰色地带。个人折腾没问题,但别拿去做商业服务。
跟官方 API 和其他方案的对比
Google 自己有 Gemini API,通过 Google AI for Developers 或者 Vertex AI 都能用。官方 API 的免费额度其实也不少,Gemini 2.5 Flash 每分钟 10 次请求的免费层级对轻度使用够了。但 Gemini 2.5 Pro 的免费额度就比较紧张,而且官方 API 需要绑定 Google Cloud 账号、配置 API Key,对国内开发者来说网络访问也是个问题。
AIStudioToAPI 这条路的核心价值在于:它走的是 AI Studio 网页端的额度,跟官方 API 的配额体系是分开的。换句话说,你在 AI Studio 网页上能用多少,通过这个方案就能用多少。
如果你需要稳定的、生产级别的 Gemini API 调用,更靠谱的方式还是走正规渠道。比如通过 OpenAI Hub 这类 API 聚合平台,一个 Key 就能调 GPT、Claude、Gemini、DeepSeek 等主流模型,国内直连,不用折腾网络问题,格式也是 OpenAI 兼容的:
import openai
client = openai.OpenAI(
base_url="https://api.openai-hub.com/v1",
api_key="your-openai-hub-key"
)
response = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[
{"role": "user", "content": "对比 Gemini 2.5 Pro 和 Claude Opus 在代码生成任务上的表现"}
]
)
print(response.choices[0].message.content)
两种方案各有适用场景。AIStudioToAPI 适合折腾党和预算为零的实验场景,正规 API 服务适合需要稳定性和 SLA 的项目。
多账号轮换的玩法
社区里有人提到一个进阶用法:用多个 Google 账号的认证信息做轮换,变相提高可用额度。油猴脚本导出的文件以邮箱命名,天然支持多账号管理。把多个 JSON 文件都放进 AIStudioToAPI 的 auth 目录,服务会自动轮换使用。
这个思路能缓解单账号的速率限制问题,但也让 Cookie 管理变得更复杂——每个账号的 Cookie 过期时间不同,你得定期检查和更新。如果账号多了,手动管理还是挺累的。
有开发者在讨论是不是可以写个定时任务自动刷新 Cookie,但这就涉及到自动化登录 Google 账号的问题了,技术上和合规上都更复杂。目前来看,油猴脚本 + 手动触发是最稳妥的方案。
总结一下
这个油猴脚本解决的是一个很具体的痛点:把 AIStudioToAPI 部署流程中最繁琐的认证信息提取步骤,从手动操作简化成了一键完成。它不是什么革命性的东西,但确实让整条链路的体验顺滑了不少。
如果你正好想零成本体验 Gemini 2.5 Pro 的 API 调用,这套方案值得花半小时折腾一下。记住它的定位:开发测试用的工具,不是生产方案。
参考来源:
- 提取 AI Studio auth.json 的油猴脚本 — Linux.do 社区原帖,包含脚本完整代码和使用说明
- AIStudioToAPI - GitHub — 将 Google AI Studio 封装为兼容 OpenAI API 的开源项目