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_KEYlubGOOGLE_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 jakogoogle/*.
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_IDOPENCLAW_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,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 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,resolutioniaudio - 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:
lyricsiinstrumental - Format wyjściowy: domyślnie
mp3, pluswavwgoogle/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_KEYlubGOOGLE_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ą
cachedContentalbo starszegocached_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
cacheReadz nadrzędnegocachedContentTokenCount
{
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
responsew JSON CLI. - Użycie wraca do
stats, gdy CLI pozostawiausagepuste. stats.cachedjest normalizowane do OpenClawcacheRead.- Jeśli brakuje
stats.input, OpenClaw wyprowadza tokeny wejściowe zstats.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).