Providers
Google (Gemini)
Plugin Google menyediakan akses ke model Gemini melalui Google AI Studio, serta pembuatan gambar, pemahaman media (gambar/audio/video), teks-ke-ucapan, dan pencarian web melalui Gemini Grounding.
- Penyedia:
google - Autentikasi:
GEMINI_API_KEYatauGOOGLE_API_KEY - API: Google Gemini API
- Opsi runtime:
agentRuntime.id: "google-gemini-cli"menggunakan kembali OAuth Gemini CLI sambil mempertahankan referensi model kanonis sebagaigoogle/*.
Memulai
Pilih metode autentikasi yang Anda inginkan dan ikuti langkah-langkah penyiapannya.
Kunci API
Paling sesuai untuk: akses Gemini API standar melalui Google AI Studio.
Jalankan orientasi awal
openclaw onboard --auth-choice gemini-api-keyAtau berikan kunci secara langsung:
openclaw onboard --non-interactive \ --mode local \ --auth-choice gemini-api-key \ --gemini-api-key "$GEMINI_API_KEY"Tetapkan model default
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}Pastikan model tersedia
openclaw models list --provider googleGemini CLI (OAuth)
Paling sesuai untuk: menggunakan kembali proses masuk Gemini CLI yang sudah ada melalui OAuth PKCE, alih-alih kunci API terpisah.
Instal Gemini CLI
Perintah lokal gemini harus tersedia di PATH.
# Homebrewbrew install gemini-cli # atau npmnpm install -g @google/gemini-cliOpenClaw mendukung instalasi Homebrew dan instalasi npm global, termasuk tata letak Windows/npm yang umum.
Masuk melalui OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultPastikan model tersedia
openclaw models list --provider google- Model default:
google/gemini-3.1-pro-preview - Runtime:
google-gemini-cli - Alias:
gemini-cli
ID model Gemini API untuk Gemini 3.1 Pro adalah gemini-3.1-pro-preview. OpenClaw menerima google/gemini-3.1-pro yang lebih singkat sebagai alias praktis dan menormalisasinya sebelum memanggil penyedia.
Variabel lingkungan:
OPENCLAW_GEMINI_OAUTH_CLIENT_ID/GEMINI_CLI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET/GEMINI_CLI_OAUTH_CLIENT_SECRET
Referensi model google-gemini-cli/* adalah alias kompatibilitas lama. Konfigurasi
baru sebaiknya menggunakan referensi model google/* beserta runtime google-gemini-cli
jika menginginkan eksekusi Gemini CLI lokal.
Kemampuan
| Kemampuan | Didukung |
|---|---|
| Penyelesaian percakapan | Ya |
| Pembuatan gambar | Ya |
| Pembuatan musik | Ya |
| Teks-ke-ucapan | Ya |
| Suara waktu nyata | Ya (Google Live API) |
| Pemahaman gambar | Ya |
| Transkripsi audio | Ya |
| Pemahaman video | Ya |
| Pencarian web (Grounding) | Ya |
| Pemikiran/penalaran | Ya (Gemini 2.5+ / Gemini 3+) |
| Model Gemma 4 | Ya |
Pencarian web
Penyedia pencarian web gemini bawaan menggunakan grounding Google Search dari Gemini.
Konfigurasikan kunci pencarian khusus pada plugins.entries.google.config.webSearch,
atau biarkan kunci tersebut menggunakan kembali models.providers.google.apiKey setelah GEMINI_API_KEY:
{ plugins: { entries: { google: { config: { webSearch: { apiKey: "AIza...", // opsional jika GEMINI_API_KEY atau models.providers.google.apiKey ditetapkan baseUrl: "https://generativelanguage.googleapis.com/v1beta", // menggunakan models.providers.google.baseUrl sebagai cadangan model: "gemini-2.5-flash", }, }, }, }, },}Urutan prioritas kredensial adalah webSearch.apiKey khusus, lalu GEMINI_API_KEY,
kemudian models.providers.google.apiKey. webSearch.baseUrl bersifat opsional dan
disediakan untuk proksi operator atau titik akhir Gemini API yang kompatibel; jika dihilangkan,
pencarian web Gemini menggunakan kembali models.providers.google.baseUrl. Lihat
Pencarian Gemini untuk perilaku alat yang khusus bagi penyedia.
Pembuatan gambar
Penyedia pembuatan gambar google bawaan menggunakan
google/gemini-3.1-flash-image-preview secara default.
- Juga mendukung
google/gemini-3-pro-image-preview - Pembuatan: hingga 4 gambar per permintaan
- Mode penyuntingan: diaktifkan, hingga 5 gambar masukan
- Kontrol geometri:
size,aspectRatio, danresolution
Untuk menggunakan Google sebagai penyedia gambar default:
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}Pembuatan video
Plugin google bawaan juga mendaftarkan pembuatan video melalui alat bersama
video_generate.
- Model video default:
google/veo-3.1-fast-generate-preview - Mode: teks-ke-video, gambar-ke-video, dan alur referensi satu video
- Mendukung
aspectRatio(16:9,9:16) danresolution(720P,1080P); keluaran audio saat ini tidak didukung oleh Veo - Durasi yang didukung: 4, 6, atau 8 detik (nilai lain disesuaikan ke nilai yang diizinkan dan paling dekat)
Untuk menggunakan Google sebagai penyedia video default:
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}Pembuatan musik
Plugin google bawaan juga mendaftarkan pembuatan musik melalui alat bersama
music_generate.
- Model musik default:
google/lyria-3-clip-preview - Juga mendukung
google/lyria-3-pro-preview - Kontrol perintah:
lyricsdaninstrumental - Format keluaran:
mp3secara default, sertawavpadagoogle/lyria-3-pro-preview - Masukan referensi: hingga 10 gambar
- Eksekusi yang didukung sesi dilepas melalui alur tugas/status bersama, termasuk
action: "status"
Untuk menggunakan Google sebagai penyedia musik default:
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}Teks-ke-ucapan
Penyedia ucapan google bawaan menggunakan jalur TTS Gemini API dengan
gemini-3.1-flash-tts-preview.
- Suara default:
Kore - Autentikasi:
messages.tts.providers.google.apiKey,models.providers.google.apiKey,GEMINI_API_KEY, atauGOOGLE_API_KEY - Keluaran: WAV untuk lampiran TTS biasa, Opus untuk target catatan suara, PCM untuk Talk/telefoni
- Keluaran catatan suara: PCM Google dibungkus sebagai WAV dan ditranskode menjadi Opus 48 kHz dengan
ffmpeg
Jalur TTS Gemini batch Google mengembalikan audio yang dihasilkan dalam respons
generateContent yang telah selesai. Untuk percakapan suara dengan latensi terendah, gunakan
penyedia suara waktu nyata Google yang didukung oleh Gemini Live API, bukan TTS
batch.
Untuk menggunakan Google sebagai penyedia TTS default:
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", audioProfile: "Bicaralah secara profesional dengan nada tenang.", }, }, }, },}TTS Gemini API menggunakan perintah bahasa alami untuk mengontrol gaya. Tetapkan
audioProfile untuk menambahkan perintah gaya yang dapat digunakan kembali sebelum teks yang diucapkan. Tetapkan
speakerName jika teks perintah Anda merujuk pada pembicara bernama.
TTS Gemini API juga menerima tag audio ekspresif dalam tanda kurung siku di dalam teks,
seperti [berbisik] atau [tertawa]. Agar tag tidak muncul dalam balasan percakapan
tetapi tetap dikirim ke TTS, tempatkan tag tersebut di dalam blok [[tts:text]]...[[/tts:text]]:
Berikut adalah teks balasan yang bersih. [[tts:text]][berbisik] Berikut adalah versi yang diucapkan.[[/tts:text]]Suara waktu nyata
Plugin google bawaan mendaftarkan penyedia suara waktu nyata yang didukung oleh
Gemini Live API untuk jembatan audio backend seperti Voice Call dan Google Meet.
| Pengaturan | Jalur konfigurasi | Bawaan |
|---|---|---|
| Model | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-3.1-flash-live-preview |
| Suara | ...google.voice |
Kore |
| Suhu | ...google.temperature |
(tidak diatur) |
| Sensitivitas awal VAD | ...google.startSensitivity |
(tidak diatur) |
| Sensitivitas akhir VAD | ...google.endSensitivity |
(tidak diatur) |
| Durasi keheningan | ...google.silenceDurationMs |
(tidak diatur) |
| Penanganan aktivitas | ...google.activityHandling |
Bawaan Google, start-of-activity-interrupts |
| Cakupan giliran | ...google.turnCoverage |
Bawaan Google, audio-activity-and-all-video |
| Nonaktifkan VAD otomatis | ...google.automaticActivityDetectionDisabled |
false |
| Pelanjutan sesi | ...google.sessionResumption |
true |
| Kompresi konteks | ...google.contextWindowCompression |
true |
| Kunci API | ...google.apiKey |
Menggunakan models.providers.google.apiKey, GEMINI_API_KEY, atau GOOGLE_API_KEY sebagai cadangan |
Contoh konfigurasi waktu nyata Panggilan Suara:
{ 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", }, }, }, }, }, }, },}Untuk verifikasi langsung oleh pengelola, jalankan
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
Uji asap ini juga mencakup jalur backend/WebRTC OpenAI; bagian Google menerbitkan bentuk
token Live API terbatas yang sama dengan yang digunakan oleh fitur Percakapan di UI Kontrol,
membuka titik akhir WebSocket peramban, mengirim muatan penyiapan awal, dan menunggu
setupComplete.
Konfigurasi lanjutan
Penggunaan kembali cache Gemini secara langsung
Untuk eksekusi langsung Gemini API (api: "google-generative-ai"), OpenClaw
meneruskan handel cachedContent yang dikonfigurasi ke permintaan Gemini.
- Konfigurasikan parameter per model atau global menggunakan
cachedContentataucached_contentlama - Parameter dari cakupan yang lebih spesifik (tingkat model dibandingkan global) selalu diutamakan.
Dalam cakupan yang sama, jika kedua kunci ditetapkan,
cached_contentdiutamakan. Gunakan hanya satu kunci per cakupan untuk menghindari hasil yang tidak terduga. - Contoh nilai:
cachedContents/prebuilt-context - Penggunaan cache Gemini yang berhasil dinormalisasi menjadi
cacheReadOpenClaw daricachedContentTokenCounthulu
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Catatan penggunaan Gemini CLI
Saat menggunakan penyedia OAuth google-gemini-cli, OpenClaw menggunakan keluaran
stream-json Gemini CLI secara bawaan dan menormalisasi penggunaan dari muatan akhir
stats. Penimpaan lama --output-format json tetap menggunakan pengurai JSON.
- Teks balasan yang dialirkan berasal dari peristiwa
messageasisten. - Untuk keluaran JSON lama, teks balasan berasal dari bidang
responsepada JSON CLI. - Penggunaan menggunakan
statssebagai cadangan saat CLI membiarkanusagekosong. stats.cacheddinormalisasi menjadicacheReadOpenClaw.- Jika
stats.inputtidak tersedia, OpenClaw memperoleh jumlah token masukan daristats.input_tokens - stats.cached.
Penyiapan lingkungan dan daemon
Jika Gateway berjalan sebagai daemon (launchd/systemd), pastikan GEMINI_API_KEY
tersedia bagi proses tersebut (misalnya, di ~/.openclaw/.env atau melalui
env.shellEnv).