ShawTim/gemini-app2api
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.
可以做什么
- 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 串流、客戶端工具驗證、多帳戶容錯移轉與雙語維運後台。
[!IMPORTANT] 非官方互通性研究專案。 本專案與 Google 無任何關聯、合作或背書關係。使用第三方客戶端或閘道可能違反 Google 服務條款 —— 你的帳戶,風險自負。你需要自行準備合資格的 Google 帳戶與相容的 OAuth client profile;本專案不分發任何憑證、Token 或 Google 二進位程式。請先詳閱完整免責聲明。

為什麼需要 Gemini App2API?
🧢 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/:
- 輸入
GATEWAY_ADMIN_PASSWORD登入後台(若留空,僅限本機 loopback 免密碼管理;遠端連線必須設定密碼與 TLS 反向代理)。 - 在 帳戶(Accounts) 頁面點擊 + Google 登入,親自於瀏覽器完成 Google 授權與 MFA 驗證。
- 在帳戶卡片點擊 Test 測試模型連線(注意:Test 會發送真實請求並消耗配額;單純完成 OAuth 登入不代表模型權限已驗證)。
- 前往 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
- 開啟 Cursor Settings → Models。
- 新增自訂模型名稱
gemini-argon(亦可一併加入gemini-hydrogen)。 - 開啟 Override OpenAI Base URL,填入你的閘道
/v1網址(若 Cursor 雲端轉發模式要求公開 HTTPS,請搭配你的私人 TLS 反向代理網址),並貼上客戶端 API 金鑰。
Cline / Roo Code(VS Code)
- API Provider 選擇
OpenAI Compatible。 - Base URL:
http://127.0.0.1:18989/v1 - API Key: 貼上後台建立的 client key。
- 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步 Agenttool_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 或帳戶憑證。

