From 5c5dc07f92d2fb3f3213f1011a777687d56db42f Mon Sep 17 00:00:00 2001 From: Alessandro <155005371+3clyp50@users.noreply.github.com> Date: Tue, 23 Jun 2026 17:30:11 +0200 Subject: [PATCH] Clarify Gemini OAuth as Google Cloud Rename the Gemini OAuth provider surface to Google Cloud Gemini so the OAuth provider list points users toward the required Google Cloud project setup. Align model-provider metadata, usage-plan copy, README wording, and static assertions while keeping the Gemini API OAuth mechanics unchanged. --- plugins/_oauth/README.md | 4 ++-- plugins/_oauth/conf/model_providers.yaml | 2 +- plugins/_oauth/helpers/providers/gemini_api.py | 4 ++-- plugins/_oauth/helpers/usage_plans.py | 4 ++-- tests/test_oauth_static.py | 3 ++- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/plugins/_oauth/README.md b/plugins/_oauth/README.md index f343acfe4..4833d6d22 100644 --- a/plugins/_oauth/README.md +++ b/plugins/_oauth/README.md @@ -25,7 +25,7 @@ OAuth-backed model providers do not require users to enter API keys. Agent Zero - Exchanges the GitHub access token for a Copilot API token. - Stores credentials under `usr/plugins/_oauth/github_copilot/auth.json`. -### Google Gemini API (`gemini_api_oauth`) +### Google Cloud Gemini (`gemini_api_oauth`) - Uses Google's OAuth authorization-code flow with PKCE. - Requires a user-provided Google Cloud OAuth client with the Generative Language API enabled. @@ -41,7 +41,7 @@ OAuth-backed model providers do not require users to enter API keys. Agent Zero ## Usage Plan Metadata -The status API exposes `usage_plan_catalog` for subscription and billing context. It covers only connectable providers: Codex, GitHub Copilot, Google Gemini API, and xAI Grok. +The status API exposes `usage_plan_catalog` for subscription and billing context. It covers only connectable providers: Codex, GitHub Copilot, Google Cloud Gemini, and xAI Grok. The same status response also includes `oauth_accounts`, a compact summary used by the settings modal, welcome discovery card, and onboarding wizard. Keep that summary provider-registry driven so new OAuth providers appear consistently across those surfaces. diff --git a/plugins/_oauth/conf/model_providers.yaml b/plugins/_oauth/conf/model_providers.yaml index a9f5f36a6..c34d9c358 100644 --- a/plugins/_oauth/conf/model_providers.yaml +++ b/plugins/_oauth/conf/model_providers.yaml @@ -16,7 +16,7 @@ chat: kwargs: api_base: "http://127.0.0.1/oauth/github-copilot/v1" gemini_api_oauth: - name: Google Gemini API Account + name: Google Cloud Gemini Account litellm_provider: openai api_key_mode: oauth models_list: diff --git a/plugins/_oauth/helpers/providers/gemini_api.py b/plugins/_oauth/helpers/providers/gemini_api.py index 2252fb6d2..cf8cf4d3b 100644 --- a/plugins/_oauth/helpers/providers/gemini_api.py +++ b/plugins/_oauth/helpers/providers/gemini_api.py @@ -69,8 +69,8 @@ class GeminiApiOAuthProvider: base_path = cfg["proxy_base_path"] return OAuthProviderMetadata( provider_id=GEMINI_API_PROVIDER_ID, - display_name="Google Gemini API", - short_name="Gemini API", + display_name="Google Cloud Gemini", + short_name="Google Cloud", model_provider_id=GEMINI_API_PROVIDER_ID, icon="google", auth_flow="browser_pkce", diff --git a/plugins/_oauth/helpers/usage_plans.py b/plugins/_oauth/helpers/usage_plans.py index 511e3be21..aa3602489 100644 --- a/plugins/_oauth/helpers/usage_plans.py +++ b/plugins/_oauth/helpers/usage_plans.py @@ -57,10 +57,10 @@ USAGE_PLAN_CATALOG: dict[str, dict[str, Any]] = { }, GEMINI_API_PROVIDER_ID: { "provider_id": GEMINI_API_PROVIDER_ID, - "display_name": "Google Gemini API", + "display_name": "Google Cloud Gemini", "implemented": True, "plans": [ - {"id": "oauth_cloud_project", "label": "OAuth Cloud project", "billing": "Google Cloud project", "usage": "Official OAuth access using a user-provided Google Cloud OAuth client."}, + {"id": "oauth_cloud_project", "label": "Google Cloud project", "billing": "Google Cloud project", "usage": "Official OAuth access using a user-provided Google Cloud OAuth client."}, {"id": "api_key", "label": "API key", "billing": "Gemini API pricing", "usage": "Standard Gemini API key access through Google AI Studio or Google Cloud."}, {"id": "vertex_ai", "label": "Vertex AI", "billing": "Google Cloud", "usage": "Enterprise Gemini API access through Vertex AI projects and IAM."}, ], diff --git a/tests/test_oauth_static.py b/tests/test_oauth_static.py index 419a93178..2b5d31b51 100644 --- a/tests/test_oauth_static.py +++ b/tests/test_oauth_static.py @@ -148,7 +148,8 @@ def test_usage_plan_catalog_stays_backend_only_on_oauth_settings_page(): assert "oauth-plan-catalog" not in config_html assert "usagePlanEntries" in store_js - assert "Google Gemini API" in plans_py + assert "Google Cloud Gemini" in plans_py + assert "Google Cloud project" in plans_py assert "GEMINI_API_PROVIDER_ID" in plans_py assert "Google Gemini / Antigravity" not in plans_py assert "Claude Code" not in plans_py