最近习惯 vibe coding 的盆友肯定会有这样的焦虑,不管是用 CC、OpenCode等coding agent,还是养龙虾:
💸 API 额度烧得太快了,快到有点离谱
尤其是这种场景:
- 长对话 Agent(多轮上下文)
- tool calling
- prompt 调优 + debug
- 类似“龙虾对话”这种长上下文聊天
基本状态就是:
一边跑 demo,一边看 token 余额心跳加速
然后最近我发现一个比较“野”的方案:
直接把 Gemini 的 Web 对话包一层,变成 OpenAI API 来用
仓库在这:
👉 https://github.com/Sophomoresty/gemini-web2api
⚙️ 它是怎么工作的(很简单)
本质就一句话:
用 Gemini 网页版 + cookie 登录 → 模拟请求 → 转 OpenAI API
正常你写代码的 agent 调用的还是 OpenAI 那套,但底层模型其实换成了 Gemini Web。
🚀 怎么部署(直接上手)
1️⃣ 启动服务
git clone https://github.com/Sophomoresty/gemini-web2api
cd gemini-web2api
python gemini_web2api.py
Base URL默认地址:
http://localhost:8081/v1
2️⃣ OpenAI SDK 调用
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8081/v1",
api_key="sk-anything"
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "user", "content": "写一个贪吃蛇游戏"}
]
)
print(resp.choices[0].message.content)
3️⃣ curl 测试
看能不能正常返回,有返回说明部署成功了
curl http://localhost:8081/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-key" \
-d '{"model":"gemini-3.5-flash","messages":[{"role":"user","content":"Hello!"}]}'
4️⃣ 配置文件
可以参考 config.example.json,创一个config.json文件,可对这些参数做修改
| field | value |
|---|---|
| Base URL | http://localhost:8081/v1 |
| API Key | 随便自己创 |
| Model | gemini默认模型 |
🍪 gemini-3.1-pro:Cookie 怎么拿(核心步骤)
要稳定跑 gemini-3.1-pro 的话,就需要靠 cookie。
1️⃣ 登录 Gemini
打开:
用 Google 账号登录(前提需要有pro订阅)
2️⃣ 打开开发者工具
F12 → Application → Cookies:
https://gemini.google.com
3️⃣ 复制这些字段
重点:
- SID
- HSID
- SSID
- APISID
- SAPISID
- __Secure-1PSID
4️⃣ 写成 cookie.txt
创建一个cookie.txt文件,按下面填空即可
SID=xxx; HSID=xxx; SSID=xxx; APISID=xxx; SAPISID=xxx; __Secure-1PSID=xxx
5️⃣ 启动时加载
python gemini_web2api.py --cookie-file cookie.txt
⚠️ 需要注意的点
这个方案本质是 Web 层模拟,所以:
- ❌ 不稳定(Google 改页面可能直接失效)
- ❌ gemini-3.1-pro 模型依赖 cookie
- ❌ 有风控 / 限流
- ❌ 不适合生产级依赖
但它的定位也很清晰:
👉 本地开发 / Agent 实验非常合适
🧠 我自己的使用方式
现在基本是这样用的, picoclaw 机器上跑这个服务,整体体验是“飞起”的, coding agent替换base url跟api无脑蹬:
直接随便跑,不心疼 token
🚀 最后说一句
账号被封得不偿失,目前自己用用还算安全的。所以虽然可以但不建议去做中转。