Providers
Google (Gemini)
Plugin ของ Google ให้การเข้าถึงโมเดล Gemini ผ่าน Google AI Studio รวมถึง การสร้างภาพ, การทำความเข้าใจสื่อ (ภาพ/เสียง/วิดีโอ), การแปลงข้อความเป็นเสียง และการค้นหาเว็บผ่าน Gemini Grounding
- ผู้ให้บริการ:
google - การยืนยันตัวตน:
GEMINI_API_KEYหรือGOOGLE_API_KEY - API: Google Gemini API
- ตัวเลือกรันไทม์: provider/model
agentRuntime.id: "google-gemini-cli"ใช้ Gemini CLI OAuth ซ้ำโดยยังคงให้ model refs เป็นรูปแบบมาตรฐาน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 # or npmnpm install -g @google/gemini-cliOpenClaw รองรับทั้งการติดตั้งผ่าน Homebrew และการติดตั้ง npm แบบ global รวมถึง เลย์เอาต์ 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_*)
model refs แบบ google-gemini-cli/* เป็นนามแฝงความเข้ากันได้เดิม การกำหนดค่าใหม่
ควรใช้ model refs แบบ google/* พร้อมรันไทม์ google-gemini-cli
เมื่อต้องการให้ Gemini CLI ในเครื่องดำเนินการ
ความสามารถ
| ความสามารถ | รองรับ |
|---|---|
| การเติมข้อความแชท | ใช่ |
| การสร้างภาพ | ใช่ |
| การสร้างเพลง | ใช่ |
| การแปลงข้อความเป็นเสียง | ใช่ |
| เสียงแบบเรียลไทม์ | ใช่ (Google Live API) |
| การทำความเข้าใจภาพ | ใช่ |
| การถอดเสียงเสียง | ใช่ |
| การทำความเข้าใจวิดีโอ | ใช่ |
| การค้นหาเว็บ (Grounding) | ใช่ |
| การคิด/การให้เหตุผล | ใช่ (Gemini 2.5+ / Gemini 3+) |
| โมเดล Gemma 4 | ใช่ |
การค้นหาเว็บ
ผู้ให้บริการค้นหาเว็บ gemini ที่มาพร้อมชุดใช้ Gemini Google Search grounding
กำหนดค่าคีย์ค้นหาเฉพาะภายใต้ 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 ที่มาพร้อมชุดใช้เส้นทาง 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 สำหรับ 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 |
ตัวอย่างการกำหนดค่า 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", 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
สโมกยังครอบคลุมเส้นทางแบ็กเอนด์/WebRTC ของ OpenAI ด้วย ส่วนของ 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 พบแคชจะถูกทำให้เป็นมาตรฐานเป็น OpenClaw
cacheReadจากcachedContentTokenCountต้นทาง
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Gemini CLI usage notes
เมื่อใช้ผู้ให้บริการ OAuth google-gemini-cli, OpenClaw จะใช้เอาต์พุต
CLI stream-json ของ Gemini เป็นค่าเริ่มต้น และทำให้การใช้งานเป็นมาตรฐานจากเพย์โหลด
stats สุดท้าย การ override --output-format json แบบเดิมยังคงใช้
ตัวแยกวิเคราะห์ JSON
- ข้อความตอบกลับแบบสตรีมมาจากเหตุการณ์
messageของผู้ช่วย - สำหรับเอาต์พุต JSON แบบเดิม ข้อความตอบกลับมาจากฟิลด์
responseของ JSON จาก CLI - การใช้งานจะถอยกลับไปใช้
statsเมื่อ CLI ปล่อยusageว่างไว้ stats.cachedถูกทำให้เป็นมาตรฐานเป็น OpenClawcacheRead- หากไม่มี
stats.input, OpenClaw จะคำนวณโทเค็นอินพุตจากstats.input_tokens - stats.cached
Environment and daemon setup
หาก Gateway ทำงานเป็นเดมอน (launchd/systemd) ให้ตรวจสอบว่า GEMINI_API_KEY
พร้อมใช้งานสำหรับโปรเซสนั้น (เช่น ใน ~/.openclaw/.env หรือผ่าน
env.shellEnv)
ที่เกี่ยวข้อง
การเลือกผู้ให้บริการ การอ้างอิงโมเดล และพฤติกรรมเฟลโอเวอร์
พารามิเตอร์เครื่องมือสร้างภาพที่ใช้ร่วมกันและการเลือกผู้ให้บริการ
พารามิเตอร์เครื่องมือสร้างวิดีโอที่ใช้ร่วมกันและการเลือกผู้ให้บริการ
พารามิเตอร์เครื่องมือสร้างเพลงที่ใช้ร่วมกันและการเลือกผู้ให้บริการ