Providers

Google (Gemini)

Plugin Google zapewnia dostęp do modeli Gemini przez Google AI Studio, a także generowanie obrazów, rozumienie mediów (obraz/audio/wideo), zamianę tekstu na mowę oraz wyszukiwanie w sieci za pomocą Gemini Grounding.

  • Dostawca: google
  • Uwierzytelnianie: GEMINI_API_KEY lub GOOGLE_API_KEY
  • API: Google Gemini API
  • Opcja środowiska wykonawczego: agents.defaults.agentRuntime.id: "google-gemini-cli" ponownie używa OAuth Gemini CLI, zachowując kanoniczne referencje modeli jako google/*.

Pierwsze kroki

Wybierz preferowaną metodę uwierzytelniania i wykonaj kroki konfiguracji.

Klucz API

Najlepsze do: standardowego dostępu do Gemini API przez Google AI Studio.

  • Uruchom wdrażanie

    openclaw onboard --auth-choice gemini-api-key
    

    Albo przekaż klucz bezpośrednio:

    openclaw onboard --non-interactive \
      --mode local \
      --auth-choice gemini-api-key \
      --gemini-api-key "$GEMINI_API_KEY"
    
  • Ustaw model domyślny

    {
      agents: {
        defaults: {
          model: { primary: "google/gemini-3.1-pro-preview" },
        },
      },
    }
    
  • Sprawdź, czy model jest dostępny

    openclaw models list --provider google
    
  • Gemini CLI (OAuth)

    Najlepsze do: ponownego użycia istniejącego logowania Gemini CLI przez PKCE OAuth zamiast osobnego klucza API.

  • Zainstaluj Gemini CLI

    Lokalne polecenie gemini musi być dostępne w PATH.

    # Homebrew
    brew install gemini-cli
    
    # or npm
    npm install -g @google/gemini-cli
    

    OpenClaw obsługuje zarówno instalacje Homebrew, jak i globalne instalacje npm, w tym typowe układy Windows/npm.

  • Zaloguj się przez OAuth

    openclaw models auth login --provider google-gemini-cli --set-default
    
  • Sprawdź, czy model jest dostępny

    openclaw models list --provider google
    
    • Model domyślny: google/gemini-3.1-pro-preview
    • Środowisko wykonawcze: google-gemini-cli
    • Alias: gemini-cli

    Identyfikator modelu Gemini API dla Gemini 3.1 Pro to gemini-3.1-pro-preview. OpenClaw akceptuje krótsze google/gemini-3.1-pro jako wygodny alias i normalizuje je przed wywołaniami dostawcy.

    Zmienne środowiskowe:

    • OPENCLAW_GEMINI_OAUTH_CLIENT_ID
    • OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET

    (Lub warianty GEMINI_CLI_*.)

    Referencje modeli google-gemini-cli/* są aliasami zgodności ze starszymi wersjami. Nowe konfiguracje powinny używać referencji modeli google/* oraz środowiska wykonawczego google-gemini-cli, gdy mają korzystać z lokalnego wykonania Gemini CLI.

    Możliwości

    Możliwość Obsługiwane
    Uzupełnienia czatu Tak
    Generowanie obrazów Tak
    Generowanie muzyki Tak
    Zamiana tekstu na mowę Tak
    Głos w czasie rzeczywistym Tak (Google Live API)
    Rozumienie obrazów Tak
    Transkrypcja audio Tak
    Rozumienie wideo Tak
    Wyszukiwanie w sieci (Grounding) Tak
    Myślenie/rozumowanie Tak (Gemini 2.5+ / Gemini 3+)
    Modele Gemma 4 Tak

    Wyszukiwanie w sieci

    Dołączony dostawca wyszukiwania w sieci gemini używa ugruntowania Gemini Google Search. Skonfiguruj dedykowany klucz wyszukiwania w plugins.entries.google.config.webSearch albo pozwól mu ponownie użyć models.providers.google.apiKey po GEMINI_API_KEY:

    {
      plugins: {
        entries: {
          google: {
            config: {
              webSearch: {
                apiKey: "AIza...", // optional if GEMINI_API_KEY or models.providers.google.apiKey is set
                baseUrl: "https://generativelanguage.googleapis.com/v1beta", // falls back to models.providers.google.baseUrl
                model: "gemini-2.5-flash",
              },
            },
          },
        },
      },
    }
    

    Priorytet poświadczeń to dedykowane webSearch.apiKey, następnie GEMINI_API_KEY, a potem models.providers.google.apiKey. webSearch.baseUrl jest opcjonalne i istnieje dla proxy operatorów lub zgodnych punktów końcowych Gemini API; gdy jest pominięte, wyszukiwanie w sieci Gemini ponownie używa models.providers.google.baseUrl. Zobacz wyszukiwanie Gemini, aby poznać zachowanie narzędzia specyficzne dla dostawcy.

    Generowanie obrazów

    Dołączony dostawca generowania obrazów google domyślnie używa google/gemini-3.1-flash-image-preview.

    • Obsługuje także google/gemini-3-pro-image-preview
    • Generowanie: do 4 obrazów na żądanie
    • Tryb edycji: włączony, do 5 obrazów wejściowych
    • Kontrolki geometrii: size, aspectRatio i resolution

    Aby używać Google jako domyślnego dostawcy obrazów:

    {
      agents: {
        defaults: {
          imageGenerationModel: {
            primary: "google/gemini-3.1-flash-image-preview",
          },
        },
      },
    }
    

    Generowanie wideo

    Dołączony Plugin google rejestruje także generowanie wideo przez wspólne narzędzie video_generate.

    • Domyślny model wideo: google/veo-3.1-fast-generate-preview
    • Tryby: tekst-na-wideo, obraz-na-wideo oraz przepływy z pojedynczym wideo referencyjnym
    • Obsługuje aspectRatio, resolution i audio
    • Obecne ograniczenie czasu trwania: od 4 do 8 sekund

    Aby używać Google jako domyślnego dostawcy wideo:

    {
      agents: {
        defaults: {
          videoGenerationModel: {
            primary: "google/veo-3.1-fast-generate-preview",
          },
        },
      },
    }
    

    Generowanie muzyki

    Dołączony Plugin google rejestruje także generowanie muzyki przez wspólne narzędzie music_generate.

    • Domyślny model muzyki: google/lyria-3-clip-preview
    • Obsługuje także google/lyria-3-pro-preview
    • Kontrolki promptu: lyrics i instrumental
    • Format wyjściowy: domyślnie mp3, plus wav w google/lyria-3-pro-preview
    • Wejścia referencyjne: do 10 obrazów
    • Uruchomienia oparte na sesji odłączają się przez wspólny przepływ zadań/statusu, w tym action: "status"

    Aby używać Google jako domyślnego dostawcy muzyki:

    {
      agents: {
        defaults: {
          musicGenerationModel: {
            primary: "google/lyria-3-clip-preview",
          },
        },
      },
    }
    

    Zamiana tekstu na mowę

    Dołączony dostawca mowy google używa ścieżki TTS Gemini API z gemini-3.1-flash-tts-preview.

    • Domyślny głos: Kore
    • Uwierzytelnianie: messages.tts.providers.google.apiKey, models.providers.google.apiKey, GEMINI_API_KEY lub GOOGLE_API_KEY
    • Wyjście: WAV dla zwykłych załączników TTS, Opus dla celów notatek głosowych, PCM dla Talk/telefonii
    • Wyjście notatek głosowych: Google PCM jest opakowywane jako WAV i transkodowane do Opus 48 kHz za pomocą ffmpeg

    Ścieżka wsadowego Gemini TTS Google zwraca wygenerowany dźwięk w ukończonej odpowiedzi generateContent. Do rozmów mówionych o najniższym opóźnieniu użyj dostawcy głosu Google w czasie rzeczywistym opartego na Gemini Live API zamiast wsadowego TTS.

    Aby używać Google jako domyślnego dostawcy TTS:

    {
      messages: {
        tts: {
          auto: "always",
          provider: "google",
          providers: {
            google: {
              model: "gemini-3.1-flash-tts-preview",
              voiceName: "Kore",
              audioProfile: "Speak professionally with a calm tone.",
            },
          },
        },
      },
    }
    

    Gemini API TTS używa promptów w języku naturalnym do kontroli stylu. Ustaw audioProfile, aby poprzedzić wypowiadany tekst wielokrotnego użytku promptem stylu. Ustaw speakerName, gdy tekst promptu odnosi się do nazwanego mówcy.

    Gemini API TTS akceptuje także ekspresyjne znaczniki audio w nawiasach kwadratowych w tekście, takie jak [whispers] lub [laughs]. Aby znaczniki nie były widoczne w odpowiedzi czatu, ale były wysyłane do TTS, umieść je w bloku [[tts:text]]...[[/tts:text]]:

    Here is the clean reply text.
    
    [[tts:text]][whispers] Here is the spoken version.[[/tts:text]]
    

    Głos w czasie rzeczywistym

    Dołączony Plugin google rejestruje dostawcę głosu w czasie rzeczywistym opartego na Gemini Live API dla mostków audio backendu, takich jak Voice Call i Google Meet.

    Ustawienie Ścieżka konfiguracji Domyślne
    Model plugins.entries.voice-call.config.realtime.providers.google.model gemini-2.5-flash-native-audio-preview-12-2025
    Głos ...google.voice Kore
    Temperatura ...google.temperature (nieustawione)
    Czułość startu VAD ...google.startSensitivity (nieustawione)
    Czułość końca VAD ...google.endSensitivity (nieustawione)
    Czas trwania ciszy ...google.silenceDurationMs (nieustawione)
    Obsługa aktywności ...google.activityHandling domyślne Google, start-of-activity-interrupts
    Zakres tury ...google.turnCoverage domyślne Google, only-activity
    Wyłącz automatyczne VAD ...google.automaticActivityDetectionDisabled false
    Wznawianie sesji ...google.sessionResumption true
    Kompresja kontekstu ...google.contextWindowCompression true
    Klucz API ...google.apiKey Używa zastępczo models.providers.google.apiKey, GEMINI_API_KEY lub GOOGLE_API_KEY

    Przykładowa konfiguracja realtime Voice Call:

    {
      plugins: {
        entries: {
          "voice-call": {
            enabled: true,
            config: {
              realtime: {
                enabled: true,
                provider: "google",
                providers: {
                  google: {
                    model: "gemini-2.5-flash-native-audio-preview-12-2025",
                    voice: "Kore",
                    activityHandling: "start-of-activity-interrupts",
                    turnCoverage: "only-activity",
                  },
                },
              },
            },
          },
        },
      },
    }
    

    Do weryfikacji live przez opiekuna uruchom OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts. Część Google tworzy ten sam ograniczony kształt tokena Live API, którego używa Control UI Talk, otwiera endpoint WebSocket przeglądarki, wysyła początkowy payload konfiguracji i czeka na setupComplete.

    Konfiguracja zaawansowana

    Direct Gemini cache reuse

    W bezpośrednich uruchomieniach Gemini API (api: "google-generative-ai") OpenClaw przekazuje skonfigurowany uchwyt cachedContent do żądań Gemini.

    • Skonfiguruj parametry per model lub globalnie za pomocą cachedContent albo starszego cached_content
    • Jeśli obecne są oba, pierwszeństwo ma cachedContent
    • Przykładowa wartość: cachedContents/prebuilt-context
    • Użycie trafień w cache Gemini jest normalizowane do OpenClaw cacheRead z nadrzędnego cachedContentTokenCount
    {
      agents: {
        defaults: {
          models: {
            "google/gemini-2.5-pro": {
              params: {
                cachedContent: "cachedContents/prebuilt-context",
              },
            },
          },
        },
      },
    }
    
    Gemini CLI JSON usage notes

    Podczas używania dostawcy OAuth google-gemini-cli OpenClaw normalizuje wyjście JSON z CLI w następujący sposób:

    • Tekst odpowiedzi pochodzi z pola response w JSON CLI.
    • Użycie wraca do stats, gdy CLI pozostawia usage puste.
    • stats.cached jest normalizowane do OpenClaw cacheRead.
    • Jeśli brakuje stats.input, OpenClaw wyprowadza tokeny wejściowe z stats.input_tokens - stats.cached.
    Environment and daemon setup

    Jeśli Gateway działa jako daemon (launchd/systemd), upewnij się, że GEMINI_API_KEY jest dostępny dla tego procesu (na przykład w ~/.openclaw/.env lub przez env.shellEnv).

    Powiązane