Providers
Google (Gemini)
Il Plugin Google fornisce accesso ai modelli Gemini tramite Google AI Studio, oltre a generazione di immagini, comprensione dei media (immagine/audio/video), sintesi vocale e ricerca web tramite Gemini Grounding.
- Provider:
google - Autenticazione:
GEMINI_API_KEYoGOOGLE_API_KEY - API: API Google Gemini
- Opzione runtime:
agents.defaults.agentRuntime.id: "google-gemini-cli"riutilizza l'OAuth della Gemini CLI mantenendo i riferimenti ai modelli canonici comegoogle/*.
Per iniziare
Scegli il metodo di autenticazione preferito e segui i passaggi di configurazione.
Chiave API
Ideale per: accesso standard alla Gemini API tramite Google AI Studio.
Esegui l'onboarding
openclaw onboard --auth-choice gemini-api-key
Oppure passa direttamente la chiave:
openclaw onboard --non-interactive \
--mode local \
--auth-choice gemini-api-key \
--gemini-api-key "$GEMINI_API_KEY"
Imposta un modello predefinito
{
agents: {
defaults: {
model: { primary: "google/gemini-3.1-pro-preview" },
},
},
}
Verifica che il modello sia disponibile
openclaw models list --provider google
Gemini CLI (OAuth)
Ideale per: riutilizzare un accesso Gemini CLI esistente tramite PKCE OAuth invece di una chiave API separata.
Installa la Gemini CLI
Il comando locale gemini deve essere disponibile in PATH.
# Homebrew
brew install gemini-cli
# or npm
npm install -g @google/gemini-cli
OpenClaw supporta sia le installazioni Homebrew sia le installazioni npm globali, inclusi i layout Windows/npm comuni.
Accedi tramite OAuth
openclaw models auth login --provider google-gemini-cli --set-default
Verifica che il modello sia disponibile
openclaw models list --provider google
- Modello predefinito:
google/gemini-3.1-pro-preview - Runtime:
google-gemini-cli - Alias:
gemini-cli
L'ID modello della Gemini API per Gemini 3.1 Pro è gemini-3.1-pro-preview. OpenClaw accetta il più breve google/gemini-3.1-pro come alias di comodo e lo normalizza prima delle chiamate al provider.
Variabili di ambiente:
OPENCLAW_GEMINI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET
(Oppure le varianti GEMINI_CLI_*.)
I riferimenti ai modelli google-gemini-cli/* sono alias di compatibilità legacy. Le nuove
configurazioni dovrebbero usare i riferimenti ai modelli google/* più il runtime google-gemini-cli
quando vogliono l'esecuzione locale della Gemini CLI.
Funzionalità
| Funzionalità | Supportata |
|---|---|
| Completamenti chat | Sì |
| Generazione di immagini | Sì |
| Generazione musicale | Sì |
| Sintesi vocale | Sì |
| Voce in tempo reale | Sì (Google Live API) |
| Comprensione immagini | Sì |
| Trascrizione audio | Sì |
| Comprensione video | Sì |
| Ricerca web (Grounding) | Sì |
| Pensiero/ragionamento | Sì (Gemini 2.5+ / Gemini 3+) |
| Modelli Gemma 4 | Sì |
Ricerca web
Il provider di ricerca web gemini incluso usa il grounding di Google Search di Gemini.
Configura una chiave di ricerca dedicata in plugins.entries.google.config.webSearch,
oppure lascia che riutilizzi models.providers.google.apiKey dopo 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",
},
},
},
},
},
}
La precedenza delle credenziali è webSearch.apiKey dedicata, poi GEMINI_API_KEY,
poi models.providers.google.apiKey. webSearch.baseUrl è facoltativo ed
esiste per proxy degli operatori o endpoint Gemini API compatibili; quando omesso,
la ricerca web Gemini riutilizza models.providers.google.baseUrl. Vedi
Ricerca Gemini per il comportamento dello strumento specifico del provider.
Generazione di immagini
Il provider di generazione di immagini google incluso usa come predefinito
google/gemini-3.1-flash-image-preview.
- Supporta anche
google/gemini-3-pro-image-preview - Generazione: fino a 4 immagini per richiesta
- Modalità modifica: abilitata, fino a 5 immagini di input
- Controlli di geometria:
size,aspectRatioeresolution
Per usare Google come provider di immagini predefinito:
{
agents: {
defaults: {
imageGenerationModel: {
primary: "google/gemini-3.1-flash-image-preview",
},
},
},
}
Generazione video
Il Plugin google incluso registra anche la generazione video tramite lo strumento condiviso
video_generate.
- Modello video predefinito:
google/veo-3.1-fast-generate-preview - Modalità: flussi da testo a video, da immagine a video e con riferimento a un singolo video
- Supporta
aspectRatio,resolutioneaudio - Limite attuale della durata: da 4 a 8 secondi
Per usare Google come provider video predefinito:
{
agents: {
defaults: {
videoGenerationModel: {
primary: "google/veo-3.1-fast-generate-preview",
},
},
},
}
Generazione musicale
Il Plugin google incluso registra anche la generazione musicale tramite lo strumento condiviso
music_generate.
- Modello musicale predefinito:
google/lyria-3-clip-preview - Supporta anche
google/lyria-3-pro-preview - Controlli del prompt:
lyricseinstrumental - Formato di output:
mp3per impostazione predefinita, piùwavsugoogle/lyria-3-pro-preview - Input di riferimento: fino a 10 immagini
- Le esecuzioni basate su sessione si sganciano tramite il flusso condiviso di attività/stato, incluso
action: "status"
Per usare Google come provider musicale predefinito:
{
agents: {
defaults: {
musicGenerationModel: {
primary: "google/lyria-3-clip-preview",
},
},
},
}
Sintesi vocale
Il provider vocale google incluso usa il percorso TTS della Gemini API con
gemini-3.1-flash-tts-preview.
- Voce predefinita:
Kore - Autenticazione:
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEYoGOOGLE_API_KEY - Output: WAV per gli allegati TTS regolari, Opus per destinazioni con note vocali, PCM per Talk/telefonia
- Output note vocali: il PCM Google viene incapsulato come WAV e transcodificato in Opus a 48 kHz con
ffmpeg
Il percorso Gemini TTS batch di Google restituisce l'audio generato nella risposta
generateContent completata. Per conversazioni vocali con la latenza più bassa, usa il
provider di voce in tempo reale Google basato sulla Gemini Live API invece del TTS
batch.
Per usare Google come provider TTS predefinito:
{
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 usa prompt in linguaggio naturale per il controllo dello stile. Imposta
audioProfile per anteporre un prompt di stile riutilizzabile prima del testo parlato. Imposta
speakerName quando il testo del prompt fa riferimento a un parlante nominato.
Gemini API TTS accetta anche tag audio espressivi tra parentesi quadre nel testo,
come [whispers] o [laughs]. Per mantenere i tag fuori dalla risposta chat visibile
mentre li invii al TTS, inseriscili dentro un blocco [[tts:text]]...[[/tts:text]]:
Here is the clean reply text.
[[tts:text]][whispers] Here is the spoken version.[[/tts:text]]
Voce in tempo reale
Il Plugin google incluso registra un provider di voce in tempo reale basato sulla
Gemini Live API per bridge audio backend come Voice Call e Google Meet.
| Impostazione | Percorso di configurazione | Predefinito |
|---|---|---|
| Modello | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-2.5-flash-native-audio-preview-12-2025 |
| Voce | ...google.voice |
Kore |
| Temperatura | ...google.temperature |
(non impostato) |
| Sensibilità avvio VAD | ...google.startSensitivity |
(non impostato) |
| Sensibilità fine VAD | ...google.endSensitivity |
(non impostato) |
| Durata del silenzio | ...google.silenceDurationMs |
(non impostato) |
| Gestione attività | ...google.activityHandling |
predefinito Google, start-of-activity-interrupts |
| Copertura del turno | ...google.turnCoverage |
predefinito Google, only-activity |
| Disabilita VAD automatico | ...google.automaticActivityDetectionDisabled |
false |
| Ripresa della sessione | ...google.sessionResumption |
true |
| Compressione del contesto | ...google.contextWindowCompression |
true |
| Chiave API | ...google.apiKey |
Ripiega su models.providers.google.apiKey, GEMINI_API_KEY o GOOGLE_API_KEY |
Esempio di configurazione in tempo reale per 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",
},
},
},
},
},
},
},
}
Per la verifica live dei maintainer, esegui
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
Il ramo Google genera lo stesso formato di token Live API vincolato usato da Control
UI Talk, apre l'endpoint WebSocket del browser, invia il payload iniziale di configurazione
e attende setupComplete.
Configurazione avanzata
Riutilizzo diretto della cache Gemini
Per le esecuzioni dirette di Gemini API (api: "google-generative-ai"), OpenClaw
passa un handle cachedContent configurato alle richieste Gemini.
- Configura parametri per modello o globali con
cachedContento il legacycached_content - Se sono presenti entrambi,
cachedContentha la precedenza - Valore di esempio:
cachedContents/prebuilt-context - L'uso dei cache hit di Gemini viene normalizzato in OpenClaw
cacheReaddacachedContentTokenCountupstream
{
agents: {
defaults: {
models: {
"google/gemini-2.5-pro": {
params: {
cachedContent: "cachedContents/prebuilt-context",
},
},
},
},
},
}
Note sull'uso JSON di Gemini CLI
Quando si usa il provider OAuth google-gemini-cli, OpenClaw normalizza
l'output JSON della CLI come segue:
- Il testo della risposta proviene dal campo
responsedel JSON della CLI. - L'uso ripiega su
statsquando la CLI lasciausagevuoto. stats.cachedviene normalizzato in OpenClawcacheRead.- Se
stats.inputmanca, OpenClaw deriva i token di input dastats.input_tokens - stats.cached.
Configurazione dell'ambiente e del daemon
Se il Gateway viene eseguito come daemon (launchd/systemd), assicurati che GEMINI_API_KEY
sia disponibile per quel processo (ad esempio in ~/.openclaw/.env o tramite
env.shellEnv).
Correlati
Scelta dei provider, dei riferimenti dei modelli e del comportamento di failover.
Parametri dello strumento immagini condiviso e selezione del provider.
Parametri dello strumento video condiviso e selezione del provider.
Parametri dello strumento musica condiviso e selezione del provider.