Providers
Google (Gemini)
Plugin Google zapewnia dostęp do modeli Gemini za pośrednictwem Google AI Studio, a także generowanie obrazów, analizę multimediów (obrazów/dźwięku/wideo), syntezę mowy oraz wyszukiwanie w internecie przy użyciu Gemini Grounding.
- Dostawca:
google - Uwierzytelnianie:
GEMINI_API_KEYlubGOOGLE_API_KEY - API: Google Gemini API
- Opcja środowiska uruchomieniowego:
agentRuntime.id: "google-gemini-cli"ponownie wykorzystuje uwierzytelnianie OAuth Gemini CLI, zachowując kanoniczne odwołania do modeli w postacigoogle/*.
Pierwsze kroki
Wybierz preferowaną metodę uwierzytelniania i wykonaj czynności konfiguracyjne.
Klucz API
Najlepsze zastosowanie: standardowy dostęp do Gemini API za pośrednictwem Google AI Studio.
Uruchom wdrażanie
openclaw onboard --auth-choice gemini-api-keyMożesz też przekazać 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ź dostępność modelu
openclaw models list --provider googleGemini CLI (OAuth)
Najlepsze zastosowanie: ponowne wykorzystanie istniejącego logowania Gemini CLI za pośrednictwem OAuth z PKCE zamiast osobnego klucza API.
Zainstaluj Gemini CLI
Lokalne polecenie gemini musi być dostępne w PATH.
# Homebrewbrew install gemini-cli # lub npmnpm install -g @google/gemini-cliOpenClaw obsługuje zarówno instalacje Homebrew, jak i globalne instalacje npm, w tym typowe układy katalogów Windows/npm.
Zaloguj się przez OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultSprawdź dostępność modelu
openclaw models list --provider google- Model domyślny:
google/gemini-3.1-pro-preview - Środowisko uruchomieniowe:
google-gemini-cli - Alias:
gemini-cli
Identyfikator modelu Gemini API dla Gemini 3.1 Pro to gemini-3.1-pro-preview. Dla wygody OpenClaw akceptuje krótszy alias google/gemini-3.1-pro i normalizuje go przed wywołaniami dostawcy.
Zmienne środowiskowe:
OPENCLAW_GEMINI_OAUTH_CLIENT_ID/GEMINI_CLI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET/GEMINI_CLI_OAUTH_CLIENT_SECRET
Odwołania do modeli google-gemini-cli/* są starszymi aliasami zgodności. Nowe
konfiguracje powinny używać odwołań do modeli google/* wraz ze środowiskiem uruchomieniowym google-gemini-cli,
jeśli wymagają lokalnego wykonywania przez Gemini CLI.
Możliwości
| Możliwość | Obsługa |
|---|---|
| Uzupełnianie konwersacji | Tak |
| Generowanie obrazów | Tak |
| Generowanie muzyki | Tak |
| Synteza mowy | Tak |
| Głos w czasie rzeczywistym | Tak (Google Live API) |
| Analiza obrazów | Tak |
| Transkrypcja dźwięku | Tak |
| Analiza wideo | Tak |
| Wyszukiwanie (Grounding) | Tak |
| Myślenie/rozumowanie | Tak (Gemini 2.5+ / Gemini 3+) |
| Modele Gemma 4 | Tak |
Wyszukiwanie w internecie
Dołączony dostawca wyszukiwania internetowego gemini korzysta z osadzania wyników Google Search w Gemini.
Skonfiguruj dedykowany klucz wyszukiwania w plugins.entries.google.config.webSearch
lub pozwól mu ponownie wykorzystać models.providers.google.apiKey po GEMINI_API_KEY:
{ plugins: { entries: { google: { config: { webSearch: { apiKey: "AIza...", // opcjonalne, jeśli ustawiono GEMINI_API_KEY lub models.providers.google.apiKey baseUrl: "https://generativelanguage.googleapis.com/v1beta", // w razie braku używa models.providers.google.baseUrl model: "gemini-2.5-flash", }, }, }, }, },}Kolejność pierwszeństwa poświadczeń to dedykowane webSearch.apiKey, następnie GEMINI_API_KEY,
a potem models.providers.google.apiKey. Ustawienie webSearch.baseUrl jest opcjonalne i
służy do obsługi serwerów proxy operatora lub zgodnych punktów końcowych Gemini API; jeśli zostanie pominięte,
wyszukiwanie internetowe Gemini ponownie wykorzysta models.providers.google.baseUrl. Informacje o zachowaniu narzędzia właściwym dla tego dostawcy znajdziesz w sekcji
Wyszukiwanie Gemini.
Generowanie obrazów
Dołączony dostawca generowania obrazów google domyślnie używa
google/gemini-3.1-flash-image-preview.
- Obsługuje również
google/gemini-3-pro-image-preview - Generowanie: do 4 obrazów na żądanie
- Tryb edycji: włączony, do 5 obrazów wejściowych
- Ustawienia geometrii:
size,aspectRatioiresolution
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 również generowanie wideo za pośrednictwem wspólnego
narzędzia 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(16:9,9:16) iresolution(720P,1080P); obecnie Veo nie obsługuje wyjściowego dźwięku - Obsługiwany czas trwania: 4, 6 lub 8 sekund (inne wartości są zaokrąglane do najbliższej dozwolonej wartości)
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 również generowanie muzyki za pośrednictwem wspólnego
narzędzia music_generate.
- Domyślny model muzyczny:
google/lyria-3-clip-preview - Obsługuje również
google/lyria-3-pro-preview - Ustawienia promptu:
lyricsiinstrumental - Format wyjściowy: domyślnie
mp3, a ponadtowavw przypadkugoogle/lyria-3-pro-preview - Dane referencyjne: do 10 obrazów
- Przebiegi korzystające z sesji są odłączane za pośrednictwem wspólnego przepływu zadań i stanu, w tym
action: "status"
Aby używać Google jako domyślnego dostawcy muzyki:
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Synteza mowy
Dołączony dostawca mowy google korzysta ze ścieżki TTS Gemini API z modelem
gemini-3.1-flash-tts-preview.
- Domyślny głos:
Kore - Uwierzytelnianie:
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEYlubGOOGLE_API_KEY - Dane wyjściowe: WAV dla zwykłych załączników TTS, Opus dla docelowych wiadomości głosowych, PCM dla funkcji Talk/telefonii
- Dane wyjściowe wiadomości głosowych: dane PCM Google są opakowywane w WAV i transkodowane do formatu Opus 48 kHz za pomocą
ffmpeg
Wsadowa ścieżka Gemini TTS firmy Google zwraca wygenerowany dźwięk w ukończonej
odpowiedzi generateContent. Aby uzyskać najmniejsze opóźnienia w rozmowach głosowych, użyj
dostawcy głosu Google działającego 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", speakerVoice: "Kore", audioProfile: "Speak professionally with a calm tone.", }, }, }, },}TTS Gemini API wykorzystuje prompty w języku naturalnym do sterowania stylem. Ustaw
audioProfile, aby poprzedzić wypowiadany tekst promptem stylu wielokrotnego użytku. Ustaw
speakerName, gdy tekst promptu odwołuje się do nazwanego mówcy.
TTS Gemini API akceptuje również ekspresyjne znaczniki dźwiękowe w nawiasach kwadratowych w tekście,
takie jak [whispers] lub [laughs]. Aby znaczniki nie pojawiały się w widocznej odpowiedzi na czacie,
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 działającego w czasie rzeczywistym, opartego na
Gemini Live API, przeznaczonego dla backendowych mostów audio, takich jak Voice Call i Google Meet.
| Ustawienie | Ścieżka konfiguracji | Wartość domyślna |
|---|---|---|
| Model | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-3.1-flash-live-preview |
| Głos | ...google.voice |
Kore |
| Temperatura | ...google.temperature |
(nie ustawiono) |
| Czułość początku VAD | ...google.startSensitivity |
(nie ustawiono) |
| Czułość końca VAD | ...google.endSensitivity |
(nie ustawiono) |
| Czas trwania ciszy | ...google.silenceDurationMs |
(nie ustawiono) |
| Obsługa aktywności | ...google.activityHandling |
Wartość domyślna Google, start-of-activity-interrupts |
| Zakres tury | ...google.turnCoverage |
Wartość domyślna Google, audio-activity-and-all-video |
| Wyłączenie automatycznego VAD | ...google.automaticActivityDetectionDisabled |
false |
| Wznawianie sesji | ...google.sessionResumption |
true |
| Kompresja kontekstu | ...google.contextWindowCompression |
true |
| Klucz API | ...google.apiKey |
W razie braku używa models.providers.google.apiKey, GEMINI_API_KEY lub GOOGLE_API_KEY |
Przykładowa konfiguracja połączeń głosowych w czasie rzeczywistym:
{ plugins: { entries: { "voice-call": { enabled: true, config: { realtime: { enabled: true, provider: "google", providers: { google: { model: "gemini-3.1-flash-live-preview", speakerVoice: "Kore", activityHandling: "start-of-activity-interrupts", turnCoverage: "audio-activity-and-all-video", }, }, }, }, }, }, },}Aby przeprowadzić weryfikację na żywo przez opiekuna, uruchom
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
Test dymny obejmuje również ścieżki zaplecza/WebRTC OpenAI; część Google generuje
token Live API o takim samym ograniczonym formacie jak używany przez funkcję
rozmowy w Control UI, otwiera punkt końcowy WebSocket w przeglądarce, wysyła
początkowy ładunek konfiguracji i oczekuje na setupComplete.
Konfiguracja zaawansowana
Bezpośrednie ponowne użycie pamięci podręcznej Gemini
W przypadku bezpośrednich uruchomień Gemini API (api: "google-generative-ai")
OpenClaw przekazuje skonfigurowany uchwyt cachedContent do żądań Gemini.
- Skonfiguruj parametry dla modelu lub parametry globalne za pomocą
cachedContentalbo starszego kluczacached_content. - Parametry z bardziej szczegółowego zakresu (poziom modelu zamiast poziomu
globalnego) zawsze mają pierwszeństwo. W tym samym zakresie, jeśli ustawiono
oba klucze, pierwszeństwo ma
cached_content. Używaj tylko jednego klucza w każdym zakresie, aby uniknąć niespodzianek. - Przykładowa wartość:
cachedContents/prebuilt-context - Wykorzystanie trafień pamięci podręcznej Gemini jest normalizowane do
cacheReadOpenClaw na podstawie nadrzędnej wartościcachedContentTokenCount.
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Uwagi dotyczące użycia Gemini CLI
Podczas korzystania z dostawcy OAuth google-gemini-cli OpenClaw domyślnie
używa danych wyjściowych stream-json Gemini CLI i normalizuje użycie na
podstawie końcowego ładunku stats. Starsze nadpisania
--output-format json nadal korzystają z parsera JSON.
- Strumieniowany tekst odpowiedzi pochodzi ze zdarzeń
messageasystenta. - W przypadku starszych danych wyjściowych JSON tekst odpowiedzi pochodzi
z pola
responsew danych JSON CLI. - Jeśli CLI pozostawi
usagepuste, użycie jest pobierane zstats. stats.cachedjest normalizowane docacheReadOpenClaw.- Jeśli brakuje
stats.input, OpenClaw wyznacza liczbę tokenów wejściowych jakostats.input_tokens - stats.cached.
Konfiguracja środowiska i demona
Jeśli Gateway działa jako demon (launchd/systemd), upewnij się, że
GEMINI_API_KEY jest dostępny dla tego procesu (na przykład w
~/.openclaw/.env lub za pośrednictwem env.shellEnv).
Powiązane materiały
Wybieranie dostawców, odwołań do modeli i sposobu przełączania awaryjnego.
Wspólne parametry narzędzia do obrazów i wybór dostawcy.
Wspólne parametry narzędzia do wideo i wybór dostawcy.
Wspólne parametry narzędzia do muzyki i wybór dostawcy.