Providers
Google (Gemini)
Plugin Google ให้การเข้าถึงโมเดล 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 ซ้ำ โดยยังคงการอ้างอิงโมเดลในรูปแบบมาตรฐานเป็น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 googleGemini CLI (OAuth)
เหมาะที่สุดสำหรับ: การใช้ข้อมูลเข้าสู่ระบบ Gemini CLI ที่มีอยู่ผ่าน PKCE OAuth ซ้ำ แทนการใช้คีย์ API แยกต่างหาก
ติดตั้ง Gemini CLI
คำสั่ง gemini ในเครื่องต้องพร้อมใช้งานบน PATH
# Homebrewbrew install gemini-cli # หรือ npmnpm install -g @google/gemini-cliOpenClaw รองรับทั้งการติดตั้งผ่าน 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_ID/GEMINI_CLI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET/GEMINI_CLI_OAUTH_CLIENT_SECRET
การอ้างอิงโมเดล google-gemini-cli/* เป็นนามแฝงเพื่อความเข้ากันได้กับระบบเดิม การกำหนดค่าใหม่
ควรใช้การอ้างอิงโมเดล google/* ร่วมกับรันไทม์ google-gemini-cli
เมื่อต้องการเรียกใช้ Gemini CLI ในเครื่อง
ความสามารถ
| ความสามารถ | รองรับ |
|---|---|
| การเติมข้อความแชตให้สมบูรณ์ | ใช่ |
| การสร้างรูปภาพ | ใช่ |
| การสร้างเพลง | ใช่ |
| การแปลงข้อความเป็นเสียงพูด | ใช่ |
| เสียงแบบเรียลไทม์ | ใช่ (Google Live API) |
| การทำความเข้าใจรูปภาพ | ใช่ |
| การถอดเสียง | ใช่ |
| การทำความเข้าใจวิดีโอ | ใช่ |
| การค้นหาเว็บ (Grounding) | ใช่ |
| การคิด/การให้เหตุผล | ใช่ (Gemini 2.5+ / Gemini 3+) |
| โมเดล Gemma 4 | ใช่ |
การค้นหาเว็บ
ผู้ให้บริการค้นหาเว็บ gemini ที่รวมมาให้ใช้การยึดโยงผลการค้นหากับ Google Search ของ Gemini
กำหนดค่าคีย์สำหรับการค้นหาโดยเฉพาะภายใต้ plugins.entries.google.config.webSearch
หรือให้ใช้ models.providers.google.apiKey ซ้ำต่อจาก GEMINI_API_KEY:
{ plugins: { entries: { google: { config: { webSearch: { apiKey: "AIza...", // ไม่จำเป็นหากตั้งค่า GEMINI_API_KEY หรือ models.providers.google.apiKey ไว้ baseUrl: "https://generativelanguage.googleapis.com/v1beta", // ใช้ 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 สำหรับการพูดคุย/โทรศัพท์
- เอาต์พุตข้อความเสียง: PCM ของ Google จะถูกห่อหุ้มเป็น 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]]:
นี่คือข้อความตอบกลับที่ไม่มีแท็ก [[tts:text]][whispers] นี่คือเวอร์ชันเสียงพูด[[/tts:text]]เสียงแบบเรียลไทม์
Plugin google ที่รวมมาให้ลงทะเบียนผู้ให้บริการเสียงแบบเรียลไทม์ที่ทำงานบน
Gemini Live API สำหรับบริดจ์เสียงฝั่งแบ็กเอนด์ เช่น Voice Call และ Google Meet
| การตั้งค่า | พาธการกำหนดค่า | ค่าเริ่มต้น |
|---|---|---|
| โมเดล | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-3.1-flash-live-preview |
| เสียง | ...google.voice |
Kore |
| อุณหภูมิ | ...google.temperature |
(ไม่ได้ตั้งค่า) |
| ความไวเริ่มต้นของ VAD | ...google.startSensitivity |
(ไม่ได้ตั้งค่า) |
| ความไวสิ้นสุดของ VAD | ...google.endSensitivity |
(ไม่ได้ตั้งค่า) |
| ระยะเวลาความเงียบ | ...google.silenceDurationMs |
(ไม่ได้ตั้งค่า) |
| การจัดการกิจกรรม | ...google.activityHandling |
ค่าเริ่มต้นของ Google, start-of-activity-interrupts |
| ความครอบคลุมของรอบสนทนา | ...google.turnCoverage |
ค่าเริ่มต้นของ Google, audio-activity-and-all-video |
| ปิดใช้งาน 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-3.1-flash-live-preview", speakerVoice: "Kore", activityHandling: "start-of-activity-interrupts", turnCoverage: "audio-activity-and-all-video", }, }, }, }, }, }, },}สำหรับการตรวจสอบแบบสดโดยผู้ดูแล ให้เรียกใช้
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts
การทดสอบเบื้องต้นนี้ครอบคลุมพาธแบ็กเอนด์/WebRTC ของ OpenAI ด้วย ส่วนของ Google จะสร้าง
โทเค็น Live API แบบมีข้อจำกัดในรูปแบบเดียวกับที่ Talk ใน Control UI ใช้ เปิดปลายทาง
WebSocket ของเบราว์เซอร์ ส่งเพย์โหลดการตั้งค่าเริ่มต้น และรอ
setupComplete
การกำหนดค่าขั้นสูง
การนำแคช Gemini โดยตรงกลับมาใช้
สำหรับการเรียกใช้ Gemini API โดยตรง (api: "google-generative-ai") OpenClaw
จะส่งแฮนเดิล cachedContent ที่กำหนดค่าไว้ไปยังคำขอ Gemini
- กำหนดค่าพารามิเตอร์รายโมเดลหรือส่วนกลางด้วย
cachedContentหรือcached_contentแบบเดิม - พารามิเตอร์จากขอบเขตที่เฉพาะเจาะจงกว่า (ระดับโมเดลเหนือกว่าส่วนกลาง) จะมีผลเสมอ
ภายในขอบเขตเดียวกัน หากตั้งค่าทั้งสองคีย์
cached_contentจะมีผลเหนือกว่า ใช้เพียงคีย์เดียวต่อขอบเขตเพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่คาดคิด - ค่าตัวอย่าง:
cachedContents/prebuilt-context - การใช้งานเมื่อพบแคชของ Gemini จะถูกปรับให้อยู่ในรูป OpenClaw
cacheReadจากcachedContentTokenCountของต้นทาง
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}หมายเหตุการใช้งาน Gemini CLI
เมื่อใช้ผู้ให้บริการ OAuth google-gemini-cli OpenClaw จะใช้เอาต์พุต
stream-json ของ Gemini CLI เป็นค่าเริ่มต้น และปรับข้อมูลการใช้งานจากเพย์โหลด
stats สุดท้ายให้อยู่ในรูปแบบมาตรฐาน การกำหนดทับด้วย --output-format json แบบเดิมจะยังคงใช้
ตัวแยกวิเคราะห์ JSON
- ข้อความตอบกลับแบบสตรีมมาจากเหตุการณ์
messageของผู้ช่วย - สำหรับเอาต์พุต JSON แบบเดิม ข้อความตอบกลับมาจากฟิลด์
responseใน JSON ของ CLI - หาก CLI ปล่อย
usageว่างไว้ ระบบจะใช้statsเป็นค่าทดแทน stats.cachedจะถูกปรับให้อยู่ในรูป OpenClawcacheRead- หากไม่มี
stats.inputOpenClaw จะคำนวณโทเค็นอินพุตจากstats.input_tokens - stats.cached
การตั้งค่าสภาพแวดล้อมและเดมอน
หาก Gateway ทำงานเป็นเดมอน (launchd/systemd) โปรดตรวจสอบว่าโปรเซสนั้นเข้าถึง
GEMINI_API_KEY ได้ (ตัวอย่างเช่น ใน ~/.openclaw/.env หรือผ่าน
env.shellEnv)
เนื้อหาที่เกี่ยวข้อง
การเลือกผู้ให้บริการ การอ้างอิงโมเดล และลักษณะการทำงานเมื่อสลับไปใช้ระบบสำรอง
พารามิเตอร์เครื่องมือสร้างภาพที่ใช้ร่วมกันและการเลือกผู้ให้บริการ
พารามิเตอร์เครื่องมือสร้างวิดีโอที่ใช้ร่วมกันและการเลือกผู้ให้บริการ
พารามิเตอร์เครื่องมือสร้างเพลงที่ใช้ร่วมกันและการเลือกผู้ให้บริการ