Skip to content
项目

ShawTim/gemini-app2api has 21 GitHub stars and 3 forks. GitHot measured +9 stars in 24 hours. Last checked 2026-11-15 01:40 UTC. Last push 2026-11-13.

这些数字如何统计

21 星标3 复刻 +9 24小时

可以做什么

  • Scoped OpenAI Compatibility (Chat & Responses): Supports GET /v1/models, POST /v1/chat/completions, and POST /v1/responses with JSON or incremental SSE streaming, reasoning_effort / reasoning.effort mapping, and static PNG/JPEG/WebP image input.
  • Caller-Owned Function Tools: Clients declare JSON Schema functions (including Responses type: "namespace" groups), execute approved calls locally, and replay results. The gateway validates every tool name and argument schema before emission—never executing shell commands or touching your workspace.
  • gemini-argon - Flagship Pro-tier mode for complex coding, architecture, and multi-step agent loops - 8 - context_window: 128000 (advisory client budget)
  • gemini-hydrogen - Gemini 4 Hydrogen for low-latency everyday reasoning and fast interactive tasks (upstream Hydrogen attribution verified) - FAST (1) - context_window: 512000 (advisory client budget)

实测星标增长

24小时
+9
7天
正在收集历史
15天
正在收集历史
1个月
正在收集历史

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

关于

Zero-dependency native HTTP/2 gateway connecting your Gemini subscriptions to OpenAI-compatible coding agents (Cursor, Cline, Codex, Pi, DSH) with multi-account pooling & bilingual console.

自托管

README.zh.md

原文

Gemini App2API

你的開發工具、你的 Gemini 訂閱帳戶、一個零依賴的原生 HTTP/2 獨立閘道。

透過自行部署的純 Node.js 閘道,將你名下合資格的 Gemini 帳戶直接接上 OpenAI 相容 IDE、CLI Agent 與官方 SDK —— 支援增量 SSE 串流、客戶端工具驗證、多帳戶容錯移轉與雙語維運後台。

CI Node.js >= 22 Zero Runtime Dependencies Docker Ready License: MIT

English · 繁體中文 · 快速開始 · 連接客戶端 · API 參考 · 維運指南

[!IMPORTANT] 非官方互通性研究專案。 本專案與 Google 無任何關聯、合作或背書關係。使用第三方客戶端或閘道可能違反 Google 服務條款 —— 你的帳戶,風險自負。你需要自行準備合資格的 Google 帳戶與相容的 OAuth client profile;本專案不分發任何憑證、Token 或 Google 二進位程式。請先詳閱完整免責聲明。

Gemini App2API 維運管理台 —— 深色主題(合成示範資料)


為什麼需要 Gemini App2API?

MGGA — GigaChad 底層模型 vs 消費級受限外殼
🧢 MGGA — Make Gemini Great Again:頂級 GigaChad 底層模型,不該被困在消費級聊天外殼裡。

為什麼在官方 Gemini App 內處理大型程式開發時總是綁手綁腳、容易遺失上下文?瓶頸往往不在底層模型,而在於官方 App 面向一般消費者所設計的封閉外殼(Harness)。

  • 將模型解放到真正的工程工具鏈: 透過標準 /v1/chat/completions 與 /v1/responses 介面,直接連接 Cursor、Cline、Roo Code、OpenAI Codex CLI、PI-Desktop、Cherry Studio 或 Open WebUI,由你的本地客戶端完整掌管對話歷史與專案工具執行。
  • 原生 HTTP/2 協定直連(非脆弱網頁爬蟲): 直接使用 Node.js 內建模組(node:http2、node:crypto)實作 Gemini Robin 原生 HTTP/2 傳輸與可續傳圖片上傳,不依賴無頭瀏覽器、網頁 Cookie 擷取或修改桌面版二進位檔案。
  • 多帳戶池應對滾動額度視窗: 高強度 Agent 多輪工具呼叫容易迅速觸及單一帳戶的 5 小時或每週滾動上限。支援匯集多個你合法持有的帳戶,提供軟性 Session 路由偏好、唯讀官方用量進度條與自動配額容錯(Failover)。
  • 專為 Agent 迴圈穩定性設計: 當上游長連線在中途斷開時,自動保留已送出的可用程式碼與工具呼叫並平穩收尾,防止 Agent 客戶端丟棄數千 bytes 已生成內容或陷入無限重送整份歷史的死循環(詳見完成與失敗語義)。
  • 誠實標示上游邊界: 解耦本地客戶端並不代表繞過 Google 伺服器管控;所有上游 Context 容量、頻率限制、安全審查與帳戶方案權限依然由 Google 強制執行。

架構方案比較

比較維度 Gemini App2API 網頁版 / Cookie 爬蟲方案 桌面 App 注入 / 流量攔截
底層傳輸 原生 HTTP/2(ProcessQuery)+原生可續傳圖片上傳 脆弱的網頁 DOM 解析或逆向瀏覽器 Cookie Hook 本機二進位檔或 MITM 攔截
驗證週期 標準 Google OAuth + 本機 0600 私密 Refresh Token Cookie 頻繁過期、易觸發驗證碼阻擋 綁定單一開啟中的桌面 GUI 視窗
工具呼叫 嚴格 JSON Schema 驗證提示詞協定 + Responses namespace 缺乏結構驗證或僅靠鬆散正規表示式 受限於消費級聊天介面既有功能
多帳戶調度 帳戶池路由、軟性 Session 親和度、批量官方用量與訂閱查詢 需手動替換 Cookie 僅限當前桌面登入之單一帳號
執行環境依賴 純 Node.js >= 22,0 個第三方生產環境 npm 套件 需安裝 Playwright / Puppeteer 或龐大依賴 綁定特定作業系統與特定 App 版本

核心特色

  • 精確定義的 OpenAI 相容介面(Chat 與 Responses): 支援 GET /v1/models、POST /v1/chat/completions 與 POST /v1/responses,涵蓋 JSON 與增量 SSE 串流、reasoning_effort / reasoning.effort 思考強度對應,以及靜態 PNG/JPEG/WebP 圖片輸入。
  • 客戶端自主工具權限(Caller-Owned Tools): 由客戶端宣告函數與 JSON Schema(含 Responses type: "namespace" 工具分組)、在本機執行獲准呼叫並回傳結果;閘道嚴格驗證工具名稱與參數結構,絕不代為執行 Shell 指令或存取你的專案目錄。
  • 零第三方 Runtime 依賴與嚴密安全邊界: 零外部生產套件;強制檢查 0700/0600 私密目錄與檔案權限、採用 scrypt 管理密碼雜湊、以 SHA-256 驗證雜湊搭配 0600 本機私密金鑰保存(僅於建立當下或通過驗證與 CSRF 保護後按需回傳)、嚴格 Origin/Host/X-CSRF-Token 後台寫入保護,以及預設關閉且具 SSRF 防護的公開圖片下載。
  • 中英雙語現代化維運後台(English / 繁體中文): 支援桌面與手機響應式檢視及深淺色主題;內建帳戶池狀態脈搏與請求延遲快照圖、側欄帳戶檢視器(Inspector Drawer)、一鍵批量唯讀更新 目前用量(Current usage) 與 每週限額(Weekly limit)、客戶端快速連接設定範本(Codex CLI、Cline、cURL)、可隨時複製或撤銷的 API 金鑰管理、明確記錄或確認接受 Gemini 服務條款,以及遮罩後的上游 HTTP/gRPC 診斷資訊。
淺色主題 —— 帳戶側欄檢視與狀態脈搏 手機版後台 —— 繁體中文介面
淺色主題帳戶側欄檢視與狀態脈搏,使用合成示範資料 手機版管理台,使用合成示範資料

快速開始

1. 準備工作

  • Node.js 22+(>= 22.0.0)、npm、現代瀏覽器,以及具備相應 Gemini 模型權限的 Google 帳戶(適用於 macOS 與 Linux)。
  • 從獲授權的私密來源取得相容的靜態 OAuth client profile(本儲存庫不隨附任何憑證,亦無法以 Google AI Studio API key 替代)。請先參閱私密初始化與 Profile 格式要求。

2. 初始化並啟動閘道

在專案根目錄執行:

npm ci --omit=dev --ignore-scripts
export GATEWAY_DATA_DIR="$HOME/.gemini-app2api"

# 建立權限為 0600 的私密 .env 設定檔(若已存在則不覆寫):
test -e .env || cp .env.example .env
chmod 600 .env
# 編輯 .env,將 GATEWAY_ADMIN_PASSWORD 設為獨立的 12–256 字元密碼。

node bin/gemini-gateway init
node bin/gemini-gateway import-profile < /private/path/oauth-profile.json
node bin/gemini-gateway start

偏好使用 Docker? 請參閱強化安全設定的 Docker Compose 部署指南(預設以 uid 1000、唯讀根目錄、最小權限及本機 loopback 連接埠運行)。

3. 登入 Google 帳戶並建立客戶端金鑰

在瀏覽器開啟 http://127.0.0.1:18989/admin/:

  1. 輸入 GATEWAY_ADMIN_PASSWORD 登入後台(若留空,僅限本機 loopback 免密碼管理;遠端連線必須設定密碼與 TLS 反向代理)。
  2. 在 帳戶(Accounts) 頁面點擊 + Google 登入,親自於瀏覽器完成 Google 授權與 MFA 驗證。
  3. 在帳戶卡片點擊 Test 測試模型連線(注意:Test 會發送真實請求並消耗配額;單純完成 OAuth 登入不代表模型權限已驗證)。
  4. 前往 API 金鑰(API keys)→ 建立金鑰,建立並複製客戶端金鑰(之後亦可在該頁隨時複製、顯示或撤銷有效金鑰)。

連接你的客戶端

在任何支援自訂 OpenAI 相容介面的客戶端填入以下設定:

設定項目 填寫內容
Base URL http://127.0.0.1:18989/v1(遠端部署請填寫已設定的 HTTPS 閘道網址 /v1)
API Key 在管理後台 API 金鑰頁面建立的 client key(切勿填寫管理員密碼或 Google token)
Model gemini-argon(旗艦推理與編碼模式)、gemini-hydrogen(Gemini 4 Hydrogen)或 gemini-flash-lite
API 類型 /v1/chat/completions 或 /v1/responses(以支援契約為準)

測試模型清單連線(不消耗生成額度):

curl -fsS http://127.0.0.1:18989/v1/models \
  -H "Authorization: Bearer $GEMINI_GATEWAY_KEY"

發送對話請求(如需增量串流,請在 JSON 加入 "stream": true 並搭配 curl -N):

curl -fsS http://127.0.0.1:18989/v1/chat/completions \
  -H "Authorization: Bearer $GEMINI_GATEWAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemini-argon","messages":[{"role":"user","content":"Hello!"}]}'

常用客戶端設定範例

Cursor
  1. 開啟 Cursor Settings → Models。
  2. 新增自訂模型名稱 gemini-argon(亦可一併加入 gemini-hydrogen)。
  3. 開啟 Override OpenAI Base URL,填入你的閘道 /v1 網址(若 Cursor 雲端轉發模式要求公開 HTTPS,請搭配你的私人 TLS 反向代理網址),並貼上客戶端 API 金鑰。
Cline / Roo Code(VS Code)
  1. API Provider 選擇 OpenAI Compatible。
  2. Base URL: http://127.0.0.1:18989/v1
  3. API Key: 貼上後台建立的 client key。
  4. Model ID: 建議高頻率多輪 Agent 迴圈優先選用配額友善的 gemini-hydrogen,或選用 gemini-argon(請先參閱配額消耗比較);兩者皆完整支援增量串流、多輪本地工具呼叫與靜態圖片輸入。
OpenAI Codex CLI(~/.codex/config.toml)

Codex CLI 原生支援 /v1/responses 協定(包含 namespace 工具分組與 reasoning.effort 對應)。高頻率多輪 Agent 迴圈建議優先選用配額友善的 gemini-hydrogen,與旗艦推理模式 gemini-argon 搭配使用(詳見配額消耗比較):

model = "gemini-hydrogen" # 或改設 "gemini-argon" 用於旗艦 Pro 推理
model_provider = "gemini_app2api"
model_reasoning_summary = "none"
web_search = "disabled"

[model_providers.gemini_app2api]
name = "Gemini App2API"
base_url = "http://127.0.0.1:18989/v1"
env_key = "GEMINI_GATEWAY_KEY"
wire_api = "responses"
Cherry Studio / Open WebUI / 官方 OpenAI SDK
  • Cherry Studio / Open WebUI: 新增 OpenAI 相容服務商,API 位址填寫 http://127.0.0.1:18989/v1 並貼上 client key,即可自動讀取 gemini-argon、gemini-hydrogen、gemini-flash-lite。
  • 官方 JavaScript 與 Python SDK: 儲存庫內附完整的多輪工具呼叫範例 examples/client.mjs 與 examples/client.py。請注意每一輪請求都必須回傳完整對話歷史(含原始 tool_call_id / call_id 與工具結果)。

模型與支援能力

模型別名 定位與用途 Native Mode 公布的 Context Metadata
gemini-argon 旗艦 Pro 級推理與程式開發模式,適合複雜架構設計與多輪 Agent 任務 8 context_window: 128000(客戶端建議預算)
gemini-hydrogen Gemini 4 Hydrogen 低延遲日常推理與快速互動任務(嚴格驗證上游 Hydrogen 模型歸屬) FAST(1) context_window: 512000(客戶端建議預算)
gemini-flash-lite 高吞吐、輕量級快速回應任務 6 未公布

模型別名對應 Gemini App 原生執行模式,並非 Google Cloud Vertex / AI Studio 的固定版本代號;實際可用性取決於各登入帳戶的上游方案權限。context_window: 128000(gemini-argon)與 context_window: 512000(gemini-hydrogen)為根據單輪長上下文召回率、prefill 延遲及閘道 4 MiB 請求上限實測訂立之客戶端建議預算,並非閘道強制截斷上限或 Google 官方 SLA 保證容量。

配額消耗提醒:gemini-argon vs gemini-hydrogen

[!WARNING] 在相同的程式開發任務下,gemini-argon 消耗的帳戶配額約為 gemini-hydrogen 的 60x。 以單一 Gemini AI Pro 帳戶為例,在 gemini-argon 上僅執行 ~4-5 輪重度編碼任務(約 15 KB 輸出)即可能耗盡整個 5 小時滾動視窗(觸發 429 NATIVE_QUOTA_EXHAUSTED);相較之下,gemini-hydrogen 在同一個 5 小時視窗內可容納約 ~290 輪重度編碼任務(或約 ~1,800 步 Agent tool_call 工具呼叫),且回應速度快約 ~2x-4x。建議將 gemini-hydrogen 作為日常多輪程式開發與工具呼叫的主力模型,並將 gemini-argon 留給架構規劃、疑難排錯,或已配置多帳戶池自動切換(GATEWAY_QUOTA_FAILOVER=1)的環境。

以下為使用相同真實工程任務(非空白測試)透過 GetUsageInfo 實測之配額消耗對照(Gemini AI Pro 帳戶,付費與試用方案實測比例為 1:1):

工程任務情境 gemini-hydrogen gemini-argon Argon 配額消耗倍數
重度 ~15 KB 程式碼審查+重寫(thinking=2) 每週 ~0.017%(5h < 1%,~60s) 每週 ~1.05%(5h ~21%,~115s) ~61x
多工具編碼 Agent 單步 tool_call(thinking=2) 每週 ~0.003%(5h < 1%,~4.6s) 每週 ~0.074%(5h ~1.5%,~9.0s) ~27x
標準 ~10 KB SQL 與遷移方案規劃(thinking=0) 每週 ~0.0046%(5h < 1%,~13s) 每週 ~0.44%(5h ~8.5%,~49s) ~75x-95x
單一帳戶 5 小時視窗可用容量(每週總池約為 5 小時視窗的 20x) ~290 輪重度任務 / ~1,800 步工具呼叫 ~4-5 輪重度任務 —

以上數據為透過唯讀 GetUsageInfo 介面觀測所得之實測經驗值(並非 Google 官方 SLA 保證數據),上游配額權重與視窗計算方式可能隨時調整。

支援功能範圍

功能項目 支援範圍
API 端點 GET /v1/models、POST /v1/chat/completions、POST /v1/responses
函數工具 支援有界 JSON Schema 驗證、auto/none/required/指定函數 tool_choice 及 Responses 純函數 namespace 分組;工具一律由客戶端執行
圖片輸入 單次請求最多 4 張靜態 PNG / JPEG / WebP(合計 <= 2 MiB),支援 data: URL 及預設關閉、具 SSRF 防護的公開 HTTP(S) 圖片網址
Google 搜尋 明確傳入 "native_search": true(限 gemini-argon、thinking 2、純文字 <= 16 KiB,且不可同輪混用客戶端工具或圖片)
思考控制 支援同步 thinking_level(0、1、2、4,預設 2)與 OpenAI reasoning_effort(none/minimal→0、low→1、medium/high/xhigh→2);非同步 Deep Think(3)會於本機直接拒絕
用量統計 回傳標示 estimated: true 的啟發式 token 估算值,並非 Google 官方精確計費數據

安全運行與操作原則

  • 嚴格保護私密憑證: 切勿公開或提交 .env、OAuth client profile、refresh token、API 金鑰或 GATEWAY_DATA_DIR 目錄。詳見安全性政策。
  • 對話歷史與執行權歸屬客戶端: 閘道不會代執行任何本機指令、不會暗中摘要或刪減歷史訊息,亦絕不在上游發生降級時暗中替換成低階模型。
  • 誠實標示中斷與未完成狀態: 已輸出可用內容但中途斷線的串流會附帶明確的 incomplete: true 標記收尾,以保護客戶端已收到的工作成果;若需判斷上游是否完整結束,請一併檢查 incomplete 欄位。詳見完成與失敗語義。
  • 審慎配置自動恢復: 開啟 GATEWAY_QUOTA_FAILOVER=1 或 GATEWAY_AUTOMATIC_RECOVERY=1 可在單一帳戶觸頂或瞬斷時自動切換其他合資格帳戶,但故障重試亦可能消耗額外配額。詳見維運設定與鎖與限制清單。

文件索引

文件 說明
API 支援契約(docs/API_SUPPORT.md) 端點規格、事件順序、工具驗證、圖片上傳、原生搜尋與錯誤碼對照
維運指南(docs/OPERATIONS.md) 私密初始化、.env 設定、Docker Compose、遠端 TLS、launchd 常駐與排錯
帳戶生命週期(docs/ACCOUNT_LIFECYCLE.md) Google OAuth 登入、明確條款同意、唯讀訂閱層級與官方配額讀取語義
完成與失敗語義(docs/COMPLETION_CONTRACT.md) 部分輸出保留原則、GENERATION_FAILED 零輸出終局合約與責任分類
鎖、拒收規則與限制(docs/LOCKS_AND_LIMITS.md) 並行容量、記憶體/封包大小上限、請求合併機制與無鎖化設計
離線契約測試(docs/CURRENT_CONTRACT_TESTS.md) 離線合成測試套件、測試執行安全邊界與開發依賴清單
安全性(SECURITY.md) · 貢獻指南(CONTRIBUTING.md) 威脅邊界、私密漏洞通報流程與程式碼貢獻規範
更新日誌(CHANGELOG.md) · 免責聲明(DISCLAIMER.md) 版本變更紀錄與帳戶風險/法律聲明

MIT License · 免責聲明 · 安全性政策

非官方自行部署互通性研究軟體;不分發任何 Google 二進位程式、OAuth client profile 或帳戶憑證。