Providers
Google (Gemini)
Plugin Google دسترسی به مدلهای Gemini را از طریق Google AI Studio فراهم میکند، بههمراه تولید تصویر، درک رسانه (تصویر/صدا/ویدئو)، تبدیل متن به گفتار، و جستوجوی وب از طریق Gemini Grounding.
- ارائهدهنده:
google - احراز هویت:
GEMINI_API_KEYیاGOOGLE_API_KEY - API: Google Gemini API
- گزینه زمان اجرا:
agents.defaults.agentRuntime.id: "google-gemini-cli"از OAuth مربوط به Gemini CLI دوباره استفاده میکند، در حالی که ارجاعهای مدل را بهصورت استانداردgoogle/*نگه میدارد.
شروع به کار
روش احراز هویت دلخواه خود را انتخاب کنید و مراحل راهاندازی را دنبال کنید.
کلید API
بهترین گزینه برای: دسترسی استاندارد به Gemini API از طریق Google AI Studio.
اجرای راهاندازی اولیه
openclaw onboard --auth-choice gemini-api-key
یا کلید را مستقیما ارسال کنید:
openclaw onboard --non-interactive \
--mode local \
--auth-choice gemini-api-key \
--gemini-api-key "$GEMINI_API_KEY"
تنظیم یک مدل پیشفرض
{
agents: {
defaults: {
model: { primary: "google/gemini-3.1-pro-preview" },
},
},
}
بررسی در دسترس بودن مدل
openclaw models list --provider google
Gemini CLI (OAuth)
بهترین گزینه برای: استفاده دوباره از ورود Gemini CLI موجود از طریق PKCE OAuth بهجای یک کلید API جداگانه.
نصب Gemini CLI
دستور محلی gemini باید روی PATH در دسترس باشد.
# Homebrew
brew install gemini-cli
# or npm
npm install -g @google/gemini-cli
OpenClaw هم نصبهای Homebrew و هم نصبهای سراسری npm را پشتیبانی میکند، از جمله چیدمانهای رایج Windows/npm.
ورود از طریق OAuth
openclaw models auth login --provider google-gemini-cli --set-default
بررسی در دسترس بودن مدل
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/* نامهای مستعار سازگاری قدیمی هستند. پیکربندیهای
جدید باید از ارجاعهای مدل google/* بههمراه زمان اجرای google-gemini-cli
استفاده کنند، وقتی اجرای محلی Gemini CLI را میخواهند.
قابلیتها
| قابلیت | پشتیبانیشده |
|---|---|
| تکمیلهای گفتوگو | بله |
| تولید تصویر | بله |
| تولید موسیقی | بله |
| تبدیل متن به گفتار | بله |
| صدای بلادرنگ | بله (Google Live API) |
| درک تصویر | بله |
| رونویسی صدا | بله |
| درک ویدئو | بله |
| جستوجوی وب (Grounding) | بله |
| تفکر/استدلال | بله (Gemini 2.5+ / Gemini 3+) |
| مدلهای Gemma 4 | بله |
جستوجوی وب
ارائهدهنده جستوجوی وب همراه gemini از grounding جستوجوی Google در 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 اختیاری است و
برای پراکسیهای اپراتور یا نقطههای پایانی سازگار Gemini API وجود دارد؛ وقتی حذف شود،
جستوجوی وب Gemini از models.providers.google.baseUrl دوباره استفاده میکند. برای رفتار ابزار ویژه این ارائهدهنده، به
جستوجوی Gemini مراجعه کنید.
تولید تصویر
ارائهدهنده تولید تصویر همراه google بهصورت پیشفرض از
google/gemini-3.1-flash-image-preview استفاده میکند.
- همچنین از
google/gemini-3-pro-image-previewپشتیبانی میکند - تولید: تا 4 تصویر در هر درخواست
- حالت ویرایش: فعال، تا 5 تصویر ورودی
- کنترلهای هندسه:
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،resolution، وaudioپشتیبانی میکند - محدودسازی مدت فعلی: 4 تا 8 ثانیه
برای استفاده از 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 - ورودیهای مرجع: تا 10 تصویر
- اجراهای مبتنی بر نشست از طریق جریان مشترک وظیفه/وضعیت جدا میشوند، از جمله
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: Google PCM بهصورت WAV بستهبندی میشود و با
ffmpegبه Opus با 48 kHz تبدیل میشود
مسیر دستهای Gemini TTS در Google، صدای تولیدشده را در پاسخ تکمیلشده
generateContent برمیگرداند. برای مکالمههای گفتاری با کمترین تاخیر، بهجای TTS دستهای،
از ارائهدهنده صدای بلادرنگ Google که بر Gemini Live API متکی است استفاده کنید.
برای استفاده از Google بهعنوان ارائهدهنده 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 برای کنترل سبک از prompt زبان طبیعی استفاده میکند. audioProfile را تنظیم کنید
تا یک prompt سبک قابل استفاده مجدد را پیش از متن گفتاری اضافه کند. وقتی متن prompt شما به یک گوینده نامدار اشاره میکند،
speakerName را تنظیم کنید.
Gemini API TTS همچنین برچسبهای صوتی بیانی داخل کروشه را در متن میپذیرد،
مانند [whispers] یا [laughs]. برای اینکه برچسبها در پاسخ قابل مشاهده گفتوگو دیده نشوند
اما به 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 برای پلهای صوتی بکاند مانند 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",
voice: "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.
شاخه Google همان شکل توکن محدود Live API را که Control
UI Talk استفاده میکند صادر میکند، نقطه پایانی WebSocket مرورگر را باز میکند، محموله راهاندازی اولیه را میفرستد،
و منتظر setupComplete میماند.
پیکربندی پیشرفته
استفاده دوباره مستقیم از کش Gemini
برای اجراهای مستقیم Gemini API (api: "google-generative-ai")، OpenClaw
دسته cachedContent پیکربندیشده را به درخواستهای Gemini عبور میدهد.
- پارامترهای هر مدل یا سراسری را با یکی از
cachedContentیاcached_contentقدیمی پیکربندی کنید - اگر هر دو وجود داشته باشند،
cachedContentبرنده میشود - مقدار نمونه:
cachedContents/prebuilt-context - استفاده از برخورد کش Gemini از
cachedContentTokenCountبالادستی بهcacheReadدر OpenClaw نرمالسازی میشود
{
agents: {
defaults: {
models: {
"google/gemini-2.5-pro": {
params: {
cachedContent: "cachedContents/prebuilt-context",
},
},
},
},
},
}
یادداشتهای استفاده JSON از Gemini CLI
هنگام استفاده از ارائهدهنده OAuth google-gemini-cli، OpenClaw
خروجی JSON مربوط به CLI را به شکل زیر نرمالسازی میکند:
- متن پاسخ از فیلد
responseدر JSON مربوط به CLI میآید. - وقتی CLI مقدار
usageرا خالی میگذارد، استفاده بهstatsبرمیگردد. stats.cachedبهcacheReadدر OpenClaw نرمالسازی میشود.- اگر
stats.inputوجود نداشته باشد، OpenClaw توکنهای ورودی را ازstats.input_tokens - stats.cachedمشتق میکند.
تنظیم محیط و daemon
اگر Gateway بهصورت daemon (launchd/systemd) اجرا میشود، مطمئن شوید GEMINI_API_KEY
برای آن فرایند در دسترس است (برای مثال، در ~/.openclaw/.env یا از طریق
env.shellEnv).