Providers
Google (Gemini)
Das Google-Plugin bietet Zugriff auf Gemini-Modelle über Google AI Studio sowie Bilderzeugung, Medienverständnis (Bild/Audio/Video), Text-zu-Sprache und Websuche über Gemini Grounding.
- Provider:
google - Authentifizierung:
GEMINI_API_KEYoderGOOGLE_API_KEY - API: Google Gemini API
- Laufzeitoption:
agentRuntime.id: "google-gemini-cli"verwendet Gemini-CLI-OAuth erneut, während die Modellreferenzen kanonisch alsgoogle/*erhalten bleiben.
Erste Schritte
Wählen Sie Ihre bevorzugte Authentifizierungsmethode aus und führen Sie die Einrichtungsschritte aus.
API-Schlüssel
Am besten geeignet für: standardmäßigen Gemini-API-Zugriff über Google AI Studio.
Onboarding ausführen
openclaw onboard --auth-choice gemini-api-keyAlternativ können Sie den Schlüssel direkt übergeben:
openclaw onboard --non-interactive \ --mode local \ --auth-choice gemini-api-key \ --gemini-api-key "$GEMINI_API_KEY"Standardmodell festlegen
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}Verfügbarkeit des Modells überprüfen
openclaw models list --provider googleGemini CLI (OAuth)
Am besten geeignet für: die Wiederverwendung einer bestehenden Gemini-CLI-Anmeldung über PKCE-OAuth anstelle eines separaten API-Schlüssels.
Gemini CLI installieren
Der lokale Befehl gemini muss unter PATH verfügbar sein.
# Homebrewbrew install gemini-cli # oder npmnpm install -g @google/gemini-cliOpenClaw unterstützt sowohl Homebrew-Installationen als auch globale npm-Installationen, einschließlich gängiger Windows-/npm-Verzeichnisstrukturen.
Über OAuth anmelden
openclaw models auth login --provider google-gemini-cli --set-defaultVerfügbarkeit des Modells überprüfen
openclaw models list --provider google- Standardmodell:
google/gemini-3.1-pro-preview - Laufzeit:
google-gemini-cli - Alias:
gemini-cli
Die Gemini-API-Modell-ID von Gemini 3.1 Pro lautet gemini-3.1-pro-preview. OpenClaw akzeptiert der Einfachheit halber die kürzere Form google/gemini-3.1-pro als Alias und normalisiert sie vor Provider-Aufrufen.
Umgebungsvariablen:
OPENCLAW_GEMINI_OAUTH_CLIENT_ID/GEMINI_CLI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET/GEMINI_CLI_OAUTH_CLIENT_SECRET
Modellreferenzen vom Typ google-gemini-cli/* sind veraltete Kompatibilitätsaliasse.
Neue Konfigurationen sollten Modellreferenzen vom Typ google/* zusammen mit der
Laufzeit google-gemini-cli verwenden, wenn eine lokale Ausführung über Gemini CLI gewünscht ist.
Funktionen
| Funktion | Unterstützt |
|---|---|
| Chatvervollständigungen | Ja |
| Bilderzeugung | Ja |
| Musikerzeugung | Ja |
| Text-zu-Sprache | Ja |
| Echtzeitsprachübertragung | Ja (Google Live API) |
| Bildverständnis | Ja |
| Audiotranskription | Ja |
| Videoverständnis | Ja |
| Websuche (Grounding) | Ja |
| Denken/Schlussfolgern | Ja (Gemini 2.5+ / Gemini 3+) |
| Gemma-4-Modelle | Ja |
Websuche
Der mitgelieferte Websuch-Provider gemini verwendet Gemini Google Search Grounding.
Konfigurieren Sie unter plugins.entries.google.config.webSearch einen dedizierten
Suchschlüssel oder lassen Sie nach GEMINI_API_KEY den Wert von
models.providers.google.apiKey wiederverwenden:
{ plugins: { entries: { google: { config: { webSearch: { apiKey: "AIza...", // optional, wenn GEMINI_API_KEY oder models.providers.google.apiKey festgelegt ist baseUrl: "https://generativelanguage.googleapis.com/v1beta", // greift ersatzweise auf models.providers.google.baseUrl zurück model: "gemini-2.5-flash", }, }, }, }, },}Bei den Anmeldedaten hat der dedizierte Wert webSearch.apiKey Vorrang, gefolgt von
GEMINI_API_KEY und anschließend models.providers.google.apiKey. webSearch.baseUrl
ist optional und für Betreiber-Proxys oder kompatible Gemini-API-Endpunkte vorgesehen.
Wenn der Wert ausgelassen wird, verwendet die Gemini-Websuche
models.providers.google.baseUrl erneut. Informationen zum Provider-spezifischen
Werkzeugverhalten finden Sie unter Gemini-Suche.
Bilderzeugung
Der mitgelieferte Google-Provider für die Bilderzeugung verwendet standardmäßig
google/gemini-3.1-flash-image-preview.
- Unterstützt außerdem
google/gemini-3-pro-image-preview - Erzeugung: bis zu 4 Bilder pro Anfrage
- Bearbeitungsmodus: aktiviert, bis zu 5 Eingabebilder
- Geometriesteuerung:
size,aspectRatioundresolution
So verwenden Sie Google als standardmäßigen Bild-Provider:
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}Videoerzeugung
Das mitgelieferte Google-Plugin registriert über das gemeinsame Werkzeug
video_generate auch die Videoerzeugung.
- Standardvideomodell:
google/veo-3.1-fast-generate-preview - Modi: Text-zu-Video, Bild-zu-Video und Abläufe mit einer einzelnen Videoreferenz
- Unterstützt
aspectRatio(16:9,9:16) undresolution(720P,1080P); Veo unterstützt derzeit keine Audioausgabe - Unterstützte Dauern: 4, 6 oder 8 Sekunden (andere Werte werden auf den nächstgelegenen zulässigen Wert gesetzt)
So verwenden Sie Google als standardmäßigen Video-Provider:
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}Musikerzeugung
Das mitgelieferte Google-Plugin registriert über das gemeinsame Werkzeug
music_generate auch die Musikerzeugung.
- Standardmusikmodell:
google/lyria-3-clip-preview - Unterstützt außerdem
google/lyria-3-pro-preview - Prompt-Steuerung:
lyricsundinstrumental - Ausgabeformat: standardmäßig
mp3, zusätzlichwavbeigoogle/lyria-3-pro-preview - Referenzeingaben: bis zu 10 Bilder
- Sitzungsbasierte Ausführungen werden über den gemeinsamen Aufgaben-/Statusablauf abgekoppelt, einschließlich
action: "status"
So verwenden Sie Google als standardmäßigen Musik-Provider:
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Text-zu-Sprache
Der mitgelieferte Google-Sprach-Provider verwendet den TTS-Pfad der Gemini API mit
gemini-3.1-flash-tts-preview.
- Standardstimme:
Kore - Authentifizierung:
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEYoderGOOGLE_API_KEY - Ausgabe: WAV für reguläre TTS-Anhänge, Opus für Sprachnachrichtenziele, PCM für Talk/Telefonie
- Sprachnachrichtenausgabe: Google-PCM wird als WAV gekapselt und mit
ffmpegin Opus mit 48 kHz transkodiert
Der Batch-Pfad für Gemini TTS von Google gibt das erzeugte Audio in der abgeschlossenen
generateContent-Antwort zurück. Verwenden Sie für gesprochene Unterhaltungen mit
möglichst geringer Latenz den von der Gemini Live API unterstützten
Google-Echtzeitsprach-Provider anstelle von Batch-TTS.
So verwenden Sie Google als standardmäßigen TTS-Provider:
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", audioProfile: "Speak professionally with a calm tone.", }, }, }, },}Gemini API TTS verwendet natürlichsprachliche Prompts zur Stilsteuerung. Legen Sie
audioProfile fest, um dem gesprochenen Text einen wiederverwendbaren Stil-Prompt
voranzustellen. Legen Sie speakerName fest, wenn sich Ihr Prompt-Text auf einen
benannten Sprecher bezieht.
Gemini API TTS akzeptiert im Text außerdem ausdrucksstarke Audio-Tags in eckigen
Klammern, beispielsweise [whispers] oder [laughs]. Damit die Tags nicht in der
sichtbaren Chatantwort erscheinen, aber an TTS gesendet werden, platzieren Sie sie
in einem Block vom Typ [[tts:text]]...[[/tts:text]]:
Hier ist der bereinigte Antworttext. [[tts:text]][flüstert] Hier ist die gesprochene Version.[[/tts:text]]Echtzeitsprachübertragung
Das mitgelieferte Google-Plugin registriert einen von der Gemini Live API unterstützten Echtzeitsprach-Provider für Backend-Audiobrücken wie Voice Call und Google Meet.
| Einstellung | Konfigurationspfad | Standardwert |
|---|---|---|
| Modell | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-3.1-flash-live-preview |
| Stimme | ...google.voice |
Kore |
| Temperatur | ...google.temperature |
(nicht festgelegt) |
| VAD-Startempfindlichkeit | ...google.startSensitivity |
(nicht festgelegt) |
| VAD-Endempfindlichkeit | ...google.endSensitivity |
(nicht festgelegt) |
| Stilledauer | ...google.silenceDurationMs |
(nicht festgelegt) |
| Aktivitätsbehandlung | ...google.activityHandling |
Google-Standardwert, start-of-activity-interrupts |
| Turn-Abdeckung | ...google.turnCoverage |
Google-Standardwert, audio-activity-and-all-video |
| Automatische VAD deaktivieren | ...google.automaticActivityDetectionDisabled |
false |
| Sitzungsfortsetzung | ...google.sessionResumption |
true |
| Kontextkomprimierung | ...google.contextWindowCompression |
true |
| API-Schlüssel | ...google.apiKey |
Fällt auf models.providers.google.apiKey, GEMINI_API_KEY oder GOOGLE_API_KEY zurück |
Beispielkonfiguration für Voice Call in Echtzeit:
{ 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", }, }, }, }, }, }, },}Führen Sie zur Live-Verifizierung durch Maintainer
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts aus.
Der Smoke-Test deckt außerdem die Backend-/WebRTC-Pfade von OpenAI ab; der Google-Abschnitt erstellt dieselbe
eingeschränkte Live-API-Tokenstruktur, die von Control UI Talk verwendet wird, öffnet den
WebSocket-Endpunkt des Browsers, sendet die anfänglichen Einrichtungsdaten und wartet auf
setupComplete.
Erweiterte Konfiguration
Direkte Wiederverwendung des Gemini-Caches
Bei direkten Ausführungen der Gemini API (api: "google-generative-ai") übergibt OpenClaw
ein konfiguriertes cachedContent-Handle an Gemini-Anfragen.
- Konfigurieren Sie modellbezogene oder globale Parameter entweder mit
cachedContentoder dem veraltetencached_content. - Parameter aus einem spezifischeren Geltungsbereich (Modellebene vor globaler Ebene) haben immer Vorrang.
Wenn im selben Geltungsbereich beide Schlüssel festgelegt sind, hat
cached_contentVorrang. Verwenden Sie nur einen Schlüssel pro Geltungsbereich, um unerwartetes Verhalten zu vermeiden. - Beispielwert:
cachedContents/prebuilt-context - Die Nutzung bei einem Gemini-Cachetreffer wird aus dem vorgelagerten
cachedContentTokenCountin OpenClaw alscacheReadnormalisiert.
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Nutzungshinweise für die Gemini CLI
Bei Verwendung des OAuth-Providers google-gemini-cli verwendet OpenClaw standardmäßig die
stream-json-Ausgabe der Gemini CLI und normalisiert die Nutzung anhand der abschließenden
stats-Nutzlast. Veraltete Überschreibungen mit --output-format json verwenden weiterhin den
JSON-Parser.
- Der gestreamte Antworttext stammt aus den
message-Ereignissen des Assistenten. - Bei der veralteten JSON-Ausgabe stammt der Antworttext aus dem CLI-JSON-Feld
response. - Wenn die CLI
usageleer lässt, wird aufstatszurückgegriffen. stats.cachedwird in OpenClaw alscacheReadnormalisiert.- Wenn
stats.inputfehlt, leitet OpenClaw die Eingabe-Token ausstats.input_tokens - stats.cachedab.
Umgebungs- und Daemon-Einrichtung
Wenn der Gateway als Daemon (launchd/systemd) ausgeführt wird, stellen Sie sicher, dass
GEMINI_API_KEY für diesen Prozess verfügbar ist (beispielsweise in ~/.openclaw/.env oder über
env.shellEnv).