Tag: AI

  • 这个东西我不太想说,但它真的能解决我的 API token 焦虑

    最近习惯 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

    打开:

    👉 https://gemini.google.com

    用 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


    🚀 最后说一句

    账号被封得不偿失,目前自己用用还算安全的。所以虽然可以但不建议去做中转。