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"يعيد استخدام Gemini CLI OAuth مع إبقاء مراجع النماذج معيارية بصيغة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 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/* بالإضافة إلى وقت تشغيل 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و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 - عناصر تحكم الموجه:
lyricsوinstrumental - تنسيق الإخراج:
mp3افتراضيًا، بالإضافة إلىwavعلىgoogle/lyria-3-pro-preview - إدخالات المرجع: حتى 10 صور
- تنفصل عمليات التشغيل المدعومة بجلسة عبر تدفق المهام/الحالة المشترك، بما في ذلك
action: "status"
لاستخدام Google كمزوّد الموسيقى الافتراضي:
{
agents: {
defaults: {
musicGenerationModel: {
primary: "google/lyria-3-clip-preview",
},
},
},
}
تحويل النص إلى كلام
يستخدم مزوّد الكلام google المضمّن مسار Gemini API TTS مع
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 للمحادثة/الهاتف
- إخراج الملاحظات الصوتية: يُغلّف 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",
voiceName: "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",
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 المؤقتة في OpenClaw
cacheReadمنcachedContentTokenCountالصادر من المنبع
{
agents: {
defaults: {
models: {
"google/gemini-2.5-pro": {
params: {
cachedContent: "cachedContents/prebuilt-context",
},
},
},
},
},
}
ملاحظات استخدام JSON في Gemini CLI
عند استخدام مزوّد OAuth google-gemini-cli، يطبّع OpenClaw
مخرجات JSON الخاصة بـ CLI كما يلي:
- يأتي نص الرد من حقل JSON في CLI المسمى
response. - يرجع الاستخدام احتياطيًا إلى
statsعندما يترك CLI حقلusageفارغًا. - يتم توحيد
stats.cachedفي OpenClawcacheRead. - إذا كان
stats.inputمفقودًا، يشتق OpenClaw رموز الإدخال منstats.input_tokens - stats.cached.
إعداد البيئة والخدمة الخفية
إذا كان Gateway يعمل كخدمة خفية (launchd/systemd)، فتأكد من أن GEMINI_API_KEY
متاح لذلك المسار (على سبيل المثال، في ~/.openclaw/.env أو عبر
env.shellEnv).