Providers
Google (Gemini)
يوفر Plugin Google إمكانية الوصول إلى نماذج Gemini عبر Google AI Studio، بالإضافة إلى توليد الصور، وفهم الوسائط (الصور/الصوت/الفيديو)، وتحويل النص إلى كلام، والبحث على الويب عبر Gemini Grounding.
- المزوّد:
google - المصادقة:
GEMINI_API_KEYأوGOOGLE_API_KEY - الواجهة البرمجية: Google Gemini API
- خيار التشغيل: المزوّد/النموذج
agentRuntime.id: "google-gemini-cli"يعيد استخدام OAuth الخاص بـ Gemini CLI مع إبقاء مراجع النماذج معيارية بصيغة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 قائم عبر OAuth باستخدام PKCE بدلًا من مفتاح API منفصل.
Install the Gemini CLI
يجب أن يكون أمر gemini المحلي متاحًا على PATH.
# Homebrewbrew install gemini-cli # or npmnpm install -g @google/gemini-cliيدعم OpenClaw تثبيتات 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 - Runtime:
google-gemini-cli - الاسم البديل:
gemini-cli
معرّف نموذج Gemini 3.1 Pro في Gemini API هو 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/* مع Runtime
google-gemini-cli عندما تريد تنفيذ Gemini CLI محليًا.
الإمكانات
| الإمكانية | مدعومة |
|---|---|
| إكمالات الدردشة | نعم |
| توليد الصور | نعم |
| توليد الموسيقى | نعم |
| تحويل النص إلى كلام | نعم |
| الصوت الفوري | نعم (Google Live API) |
| فهم الصور | نعم |
| نسخ الصوت | نعم |
| فهم الفيديو | نعم |
| بحث الويب (Grounding) | نعم |
| التفكير/الاستدلال | نعم (Gemini 2.5+ / Gemini 3+) |
| نماذج Gemma 4 | نعم |
بحث الويب
يستخدم مزوّد بحث الويب gemini المضمن تأريض Gemini Google Search.
هيّئ مفتاح بحث مخصصًا ضمن plugins.entries.google.config.webSearch،
أو دعه يعيد استخدام models.providers.google.apiKey بعد 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", }, }, }, }, },}أسبقية بيانات الاعتماد هي 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(16:9،9:16) وresolution(720P،1080P)؛ إخراج الصوت غير مدعوم في Veo حاليًا - المدد المدعومة: 4 أو 6 أو 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 - عناصر تحكم المطالبة:
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 لأهداف الملاحظات الصوتية، وPCM لـ Talk/الاتصالات الهاتفية
- إخراج الملاحظات الصوتية: يُغلَّف Google PCM كـ WAV ويُحوَّل إلى Opus بتردد 48 kHz باستخدام
ffmpeg
يعيد مسار Gemini TTS الدفعي في Google الصوت المولّد في استجابة
generateContent المكتملة. للمحادثات المنطوقة بأدنى زمن تأخير، استخدم
مزوّد الصوت الفوري في Google المدعوم بـ Gemini Live API بدلًا من TTS الدفعي.
لاستخدام 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 المطالبة باللغة الطبيعية للتحكم في الأسلوب. عيّن
audioProfile لإضافة مطالبة أسلوب قابلة لإعادة الاستخدام قبل النص المنطوق. عيّن
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 |
مثال على إعداد مكالمة صوتية في الوقت الفعلي:
{ 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.
يغطي اختبار الدخان أيضًا مسارات خلفية OpenAI/WebRTC؛ وينشئ جزء Google شكل رمز Live API
المقيد نفسه المستخدم بواسطة Control UI Talk، ويفتح نقطة نهاية WebSocket في المتصفح،
ويرسل حمولة الإعداد الأولية، وينتظر
setupComplete.
الإعداد المتقدم
Direct Gemini cache reuse
بالنسبة إلى تشغيلات Gemini API المباشرة (api: "google-generative-ai")، يمرر OpenClaw
مقبض cachedContent مضبوطًا إلى طلبات Gemini.
- اضبط معلمات لكل نموذج أو عامة باستخدام إما
cachedContentأوcached_contentالقديم - إذا وُجدا معًا، تكون الأولوية لـ
cachedContent - قيمة مثال:
cachedContents/prebuilt-context - يُطبَّع استخدام إصابة ذاكرة التخزين المؤقت في Gemini إلى
cacheReadفي OpenClaw منcachedContentTokenCountالوارد من المنبع
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Gemini CLI usage notes
عند استخدام موفر OAuth google-gemini-cli، يستخدم OpenClaw مخرجات Gemini
CLI stream-json افتراضيًا ويطبّع الاستخدام من حمولة stats النهائية.
ما زالت تجاوزات --output-format json القديمة تستخدم محلل JSON.
- يأتي نص الرد المتدفق من أحداث
messageالخاصة بالمساعد. - بالنسبة إلى مخرجات JSON القديمة، يأتي نص الرد من حقل
responseفي JSON الخاص بـ CLI. - يعود الاستخدام احتياطيًا إلى
statsعندما يترك CLI الحقلusageفارغًا. - يُطبَّع
stats.cachedإلىcacheReadفي OpenClaw. - إذا كان
stats.inputمفقودًا، يشتق OpenClaw رموز الإدخال منstats.input_tokens - stats.cached.
Environment and daemon setup
إذا كان Gateway يعمل كخدمة خفية (launchd/systemd)، فتأكد من أن GEMINI_API_KEY
متاح لتلك العملية (على سبيل المثال، في ~/.openclaw/.env أو عبر
env.shellEnv).