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
รับคีย์ 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)
เหมาะที่สุดสำหรับ: การลงชื่อเข้าใช้ด้วยบัญชี Google ผ่าน OAuth ของ Gemini CLI แทนการใช้คีย์ 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
การตรวจหาอัตโนมัติระหว่างการเริ่มต้นระบบจะแสดงการเข้าสู่ระบบ Gemini CLI ที่มีอยู่ แต่จะไม่ ทดสอบโดยอัตโนมัติ เนื่องจาก Gemini CLI ไม่มีโพรบที่ไม่ใช้เครื่องมือ เลือก OAuth ของ Gemini CLI หรือคีย์ Gemini API เพื่อดำเนินการต่อ
การอ้างอิงโมเดล google-gemini-cli/* เป็นนามแฝงเพื่อความเข้ากันได้กับระบบเดิม การกำหนดค่าใหม่
ควรใช้การอ้างอิงโมเดล google/* ร่วมกับรันไทม์ google-gemini-cli
เมื่อต้องการเรียกใช้ Gemini CLI ภายในเครื่อง
ความสามารถ
| ความสามารถ | รองรับ |
|---|---|
| การเติมข้อความแชตให้สมบูรณ์ | ใช่ |
| การสร้างรูปภาพ | ใช่ |
| การสร้างเพลง | ใช่ |
| การแปลงข้อความเป็นเสียงพูด | ใช่ |
| เสียงแบบเรียลไทม์ | ใช่ (Google Live API) |
| การทำความเข้าใจรูปภาพ | ใช่ |
| การถอดเสียง | ใช่ |
| การทำความเข้าใจวิดีโอ | ใช่ |
| การค้นหาเว็บ (Grounding) | ใช่ |
| การคิด/การให้เหตุผล | ใช่ (Gemini 2.5+ / Gemini 3+) |
| โมเดล Gemma 4 | ใช่ |
การค้นหาเว็บ
ผู้ให้บริการค้นหาเว็บ gemini ที่รวมมาให้ใช้การทำ Grounding ด้วย 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
- รองรับ
google/gemini-3-pro-imageด้วย - สร้าง: สูงสุด 4 รูปภาพต่อคำขอ
- โหมดแก้ไข: เปิดใช้งาน รองรับรูปภาพอินพุตสูงสุด 5 รูป
- ตัวควบคุมเรขาคณิต:
size,aspectRatioและresolution
หากต้องการใช้ Google เป็นผู้ให้บริการรูปภาพเริ่มต้น:
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image", }, }, },}การสร้างวิดีโอ
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/โทรศัพท์
- เอาต์พุตข้อความเสียง: 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 เป็นทางเลือกสำรอง |
ตัวอย่างการกำหนดค่าแบบเรียลไทม์สำหรับการโทรด้วยเสียง:
{ 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
การทดสอบ smoke ยังครอบคลุมพาธแบ็กเอนด์/WebRTC ของ OpenAI ด้วย ส่วนของ Google จะสร้าง
โทเค็น Live API แบบมีข้อจำกัดในรูปแบบเดียวกับที่การพูดคุยใน Control UI ใช้ เปิด
เอนด์พอยต์ WebSocket ของเบราว์เซอร์ ส่งเพย์โหลดการตั้งค่าเริ่มต้นพร้อมเฟรม JPEG และ
ตรวจสอบการตอบกลับแบบข้อความและการทำงานแบบไปกลับของฟังก์ชัน describe_view
การกำหนดค่าขั้นสูง
การใช้แคช Gemini โดยตรงซ้ำ
สำหรับการเรียกใช้ Gemini API โดยตรง (api: "google-generative-ai") OpenClaw
จะส่งแฮนเดิล cachedContent ที่กำหนดค่าไว้ไปกับคำขอ Gemini
- กำหนดค่าพารามิเตอร์รายโมเดลหรือแบบส่วนกลางด้วย
cachedContentหรือcached_contentรุ่นเก่า - พารามิเตอร์จากขอบเขตที่เฉพาะเจาะจงกว่า (ระดับโมเดลเหนือส่วนกลาง) จะมีผลเหนือกว่าเสมอ
ภายในขอบเขตเดียวกัน หากตั้งค่าทั้งสองคีย์ไว้
cached_contentจะมีผลเหนือกว่า ใช้เพียงหนึ่งคีย์ต่อขอบเขตเพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่คาดคิด - ค่าตัวอย่าง:
cachedContents/prebuilt-context - การใช้งานเมื่อแคช Gemini ตรงกันจะถูกปรับให้อยู่ในรูป
cacheReadของ OpenClaw จาก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 - การใช้งานจะใช้
statsเป็นทางเลือกสำรองเมื่อ CLI ปล่อยusageว่างไว้ stats.cachedจะถูกปรับให้อยู่ในรูปcacheReadของ OpenClaw- หากไม่มี
stats.inputOpenClaw จะคำนวณโทเค็นอินพุตจากstats.input_tokens - stats.cached
การตั้งค่าสภาพแวดล้อมและดีมอน
หาก Gateway ทำงานเป็นดีมอน (launchd/systemd) โปรดตรวจสอบให้แน่ใจว่า GEMINI_API_KEY
พร้อมใช้งานสำหรับโพรเซสนั้น (ตัวอย่างเช่น ใน ~/.openclaw/.env หรือผ่าน
env.shellEnv)
ที่เกี่ยวข้อง
การเลือกผู้ให้บริการ การอ้างอิงโมเดล และลักษณะการทำงานเมื่อสลับไปใช้ตัวเลือกสำรอง
พารามิเตอร์เครื่องมือสร้างรูปภาพที่ใช้ร่วมกันและการเลือกผู้ให้บริการ
พารามิเตอร์เครื่องมือสร้างวิดีโอที่ใช้ร่วมกันและการเลือกผู้ให้บริการ
พารามิเตอร์เครื่องมือสร้างเพลงที่ใช้ร่วมกันและการเลือกผู้ให้บริการ