Providers
Google (Gemini)
Plugin گوگل دسترسی به مدلهای Gemini را از طریق Google AI Studio فراهم میکند، بههمراه تولید تصویر، فهم رسانه (تصویر/صدا/ویدیو)، تبدیل متن به گفتار، و جستجوی وب از طریق Gemini Grounding.
- ارائهدهنده:
google - احراز هویت:
GEMINI_API_KEYیاGOOGLE_API_KEY - API: Google Gemini API
- گزینه زمان اجرا: ارائهدهنده/مدل
agentRuntime.id: "google-gemini-cli"از OAuth مربوط به Gemini CLI دوباره استفاده میکند، در حالی که ارجاعهای مدل را بهصورت canonical به شکلgoogle/*نگه میدارد.
شروع به کار
روش احراز هویت دلخواهتان را انتخاب کنید و مراحل راهاندازی را دنبال کنید.
API key
بهترین برای: دسترسی استاندارد به Gemini API از طریق Google AI Studio.
Run onboarding
openclaw onboard --auth-choice gemini-api-keyیا کلید را مستقیماً وارد کنید:
openclaw onboard --non-interactive \ --mode local \ --auth-choice gemini-api-key \ --gemini-api-key "$GEMINI_API_KEY"Set a default model
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}Verify the model is available
openclaw models list --provider googleGemini CLI (OAuth)
بهترین برای: استفاده دوباره از ورود موجود Gemini CLI از طریق PKCE OAuth بهجای یک کلید API جداگانه.
Install the Gemini CLI
دستور محلی gemini باید روی PATH در دسترس باشد.
# Homebrewbrew install gemini-cli # or npmnpm install -g @google/gemini-cliOpenClaw هم نصبهای Homebrew و هم نصبهای سراسری npm را پشتیبانی میکند، از جمله چیدمانهای رایج Windows/npm.
Log in via OAuth
openclaw models auth login --provider google-gemini-cli --set-defaultVerify the model is available
openclaw models list --provider google- مدل پیشفرض:
google/gemini-3.1-pro-preview - زمان اجرا:
google-gemini-cli - نام مستعار:
gemini-cli
شناسه مدل Gemini API برای Gemini 3.1 Pro برابر با gemini-3.1-pro-preview است. OpenClaw نام کوتاهتر google/gemini-3.1-pro را بهعنوان یک نام مستعار راحت میپذیرد و پیش از فراخوانیهای ارائهدهنده آن را نرمالسازی میکند.
متغیرهای محیطی:
OPENCLAW_GEMINI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET
(یا گونههای GEMINI_CLI_*.)
ارجاعهای مدل google-gemini-cli/* نامهای مستعار سازگاری قدیمی هستند. پیکربندیهای
جدید باید زمانی که اجرای محلی Gemini CLI را میخواهند، از ارجاعهای مدل google/* بههمراه زمان اجرای google-gemini-cli
استفاده کنند.
قابلیتها
| قابلیت | پشتیبانیشده |
|---|---|
| تکمیلهای چت | بله |
| تولید تصویر | بله |
| تولید موسیقی | بله |
| تبدیل متن به گفتار | بله |
| صدای بلادرنگ | بله (Google Live API) |
| فهم تصویر | بله |
| رونویسی صدا | بله |
| فهم ویدیو | بله |
| جستجوی وب (Grounding) | بله |
| تفکر/استدلال | بله (Gemini 2.5+ / Gemini 3+) |
| مدلهای Gemma 4 | بله |
جستجوی وب
ارائهدهنده جستجوی وب همراه gemini از گراندینگ Google Search در Gemini استفاده میکند.
یک کلید جستجوی اختصاصی را زیر plugins.entries.google.config.webSearch پیکربندی کنید،
یا اجازه دهید پس از GEMINI_API_KEY از models.providers.google.apiKey دوباره استفاده کند:
{ 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", }, }, }, }, },}اولویت اعتبارنامهها ابتدا webSearch.apiKey اختصاصی، سپس GEMINI_API_KEY،
و سپس models.providers.google.apiKey است. webSearch.baseUrl اختیاری است و
برای پراکسیهای اپراتور یا endpointهای سازگار با Gemini API وجود دارد؛ وقتی حذف شود،
جستجوی وب Gemini از models.providers.google.baseUrl دوباره استفاده میکند. برای رفتار ابزار مخصوص ارائهدهنده،
جستجوی Gemini را ببینید.
تولید تصویر
ارائهدهنده تولید تصویر همراه google بهصورت پیشفرض از
google/gemini-3.1-flash-image-preview استفاده میکند.
- همچنین از
google/gemini-3-pro-image-previewپشتیبانی میکند - تولید: تا ۴ تصویر در هر درخواست
- حالت ویرایش: فعال، تا ۵ تصویر ورودی
- کنترلهای هندسه:
size،aspectRatioوresolution
برای استفاده از Google بهعنوان ارائهدهنده پیشفرض تصویر:
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}تولید ویدیو
Plugin همراه google همچنین تولید ویدیو را از طریق ابزار مشترک
video_generate ثبت میکند.
- مدل ویدیوی پیشفرض:
google/veo-3.1-fast-generate-preview - حالتها: جریانهای متن به ویدیو، تصویر به ویدیو، و ارجاع تکویدیویی
- از
aspectRatio(16:9،9:16) وresolution(720P،1080P) پشتیبانی میکند؛ خروجی صدا امروز توسط Veo پشتیبانی نمیشود - مدتهای پشتیبانیشده: ۴، ۶، یا ۸ ثانیه (مقادیر دیگر به نزدیکترین مقدار مجاز میچسبند)
برای استفاده از Google بهعنوان ارائهدهنده پیشفرض ویدیو:
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}تولید موسیقی
Plugin همراه google همچنین تولید موسیقی را از طریق ابزار مشترک
music_generate ثبت میکند.
- مدل موسیقی پیشفرض:
google/lyria-3-clip-preview - همچنین از
google/lyria-3-pro-previewپشتیبانی میکند - کنترلهای prompt:
lyricsوinstrumental - قالب خروجی: بهصورت پیشفرض
mp3، بهعلاوهwavرویgoogle/lyria-3-pro-preview - ورودیهای ارجاع: تا ۱۰ تصویر
- اجراهای مبتنی بر نشست از طریق جریان مشترک task/status جدا میشوند، از جمله
action: "status"
برای استفاده از Google بهعنوان ارائهدهنده پیشفرض موسیقی:
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}تبدیل متن به گفتار
ارائهدهنده گفتار همراه google از مسیر TTS مربوط به Gemini API با
gemini-3.1-flash-tts-preview استفاده میکند.
- صدای پیشفرض:
Kore - احراز هویت:
messages.tts.providers.google.apiKey،models.providers.google.apiKey،GEMINI_API_KEY، یاGOOGLE_API_KEY - خروجی: WAV برای پیوستهای معمول TTS، Opus برای مقصدهای voice-note، PCM برای Talk/تلفن
- خروجی voice-note: PCM گوگل بهصورت WAV بستهبندی میشود و با
ffmpegبه Opus با نرخ ۴۸ kHz تبدیل میشود
مسیر batch Gemini TTS گوگل، صدای تولیدشده را در پاسخ کاملشده
generateContent برمیگرداند. برای گفتوگوهای گفتاری با کمترین تاخیر، بهجای batch
TTS از ارائهدهنده صدای بلادرنگ Google با پشتوانه Gemini Live API استفاده کنید.
برای استفاده از Google بهعنوان ارائهدهنده پیشفرض 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.", }, }, }, },}Gemini API TTS برای کنترل سبک از prompt به زبان طبیعی استفاده میکند. audioProfile را تنظیم کنید تا یک prompt سبک قابلاستفادهمجدد پیش از متن گفتاری اضافه شود. وقتی متن prompt شما به یک گوینده نامدار اشاره میکند، speakerName را تنظیم کنید.
Gemini API TTS همچنین tagهای صوتی بیانی داخل کروشه را در متن میپذیرد،
مانند [whispers] یا [laughs]. برای اینکه tagها از پاسخ چت قابلمشاهده بیرون بمانند
اما به TTS ارسال شوند، آنها را داخل یک بلوک [[tts:text]]...[[/tts:text]]
قرار دهید:
Here is the clean reply text. [[tts:text]][whispers] Here is the spoken version.[[/tts:text]]صدای بلادرنگ
Plugin همراه google یک ارائهدهنده صدای بلادرنگ با پشتوانه
Gemini Live API برای پلهای صوتی backend مانند Voice Call و Google Meet ثبت میکند.
| تنظیم | مسیر پیکربندی | پیشفرض |
|---|---|---|
| مدل | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-2.5-flash-native-audio-preview-12-2025 |
| صدا | ...google.voice |
Kore |
| دما | ...google.temperature |
(تنظیمنشده) |
| حساسیت شروع VAD | ...google.startSensitivity |
(تنظیمنشده) |
| حساسیت پایان VAD | ...google.endSensitivity |
(تنظیمنشده) |
| مدت سکوت | ...google.silenceDurationMs |
(تنظیمنشده) |
| مدیریت فعالیت | ...google.activityHandling |
پیشفرض Google، start-of-activity-interrupts |
| پوشش نوبت | ...google.turnCoverage |
پیشفرض Google، only-activity |
| غیرفعالسازی VAD خودکار | ...google.automaticActivityDetectionDisabled |
false |
| ازسرگیری نشست | ...google.sessionResumption |
true |
| فشردهسازی زمینه | ...google.contextWindowCompression |
true |
| کلید API | ...google.apiKey |
در صورت نبود، از models.providers.google.apiKey، GEMINI_API_KEY، یا GOOGLE_API_KEY استفاده میکند |
نمونه پیکربندی بلادرنگ 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", speakerVoice: "Kore", activityHandling: "start-of-activity-interrupts", turnCoverage: "only-activity", }, }, }, }, }, }, },}برای راستیآزمایی زنده ویژه نگهدارنده، اجرا کنید:
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts.
این smoke مسیرهای Backend/WebRTC مربوط به OpenAI را نیز پوشش میدهد؛ بخش Google همان
شکل توکن محدود Live API را که Control UI Talk استفاده میکند صادر میکند، نقطه پایانی
WebSocket مرورگر را باز میکند، payload راهاندازی اولیه را میفرستد، و منتظر
setupComplete میماند.
پیکربندی پیشرفته
Direct Gemini cache reuse
برای اجراهای مستقیم Gemini API (api: "google-generative-ai")، OpenClaw
یک دسته cachedContent پیکربندیشده را به درخواستهای Gemini منتقل میکند.
- پارامترهای سراسری یا بهازای هر مدل را با یکی از اینها پیکربندی کنید:
cachedContentیاcached_contentقدیمی - اگر هر دو وجود داشته باشند،
cachedContentاولویت دارد - مقدار نمونه:
cachedContents/prebuilt-context - مصرف cache-hit در Gemini از
cachedContentTokenCountبالادستی بهcacheReadدر OpenClaw نرمالسازی میشود
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Gemini CLI usage notes
هنگام استفاده از ارائهدهنده OAuth مربوط به google-gemini-cli، OpenClaw بهصورت پیشفرض از خروجی
stream-json در Gemini CLI استفاده میکند و مصرف را از payload نهایی
stats نرمالسازی میکند. overrideهای قدیمی --output-format json همچنان از
parser مربوط به JSON استفاده میکنند.
- متن پاسخ جریانی از رویدادهای
messageدستیار میآید. - برای خروجی JSON قدیمی، متن پاسخ از فیلد
responseدر JSON مربوط به CLI میآید. - وقتی CLI مقدار
usageرا خالی میگذارد، مصرف بهstatsبازمیگردد. stats.cachedبهcacheReadدر OpenClaw نرمالسازی میشود.- اگر
stats.inputوجود نداشته باشد، OpenClaw توکنهای ورودی را ازstats.input_tokens - stats.cachedبه دست میآورد.
Environment and daemon setup
اگر Gateway بهصورت daemon اجرا میشود (launchd/systemd)، مطمئن شوید GEMINI_API_KEY
برای آن فرایند در دسترس است (برای مثال، در ~/.openclaw/.env یا از طریق
env.shellEnv).