Providers
Google (Gemini)
Плагин 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 # or 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...", // 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", }, }, },}Генерация видео
Встроенный плагин 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", }, }, },}Генерация музыки
Встроенный плагин 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 кГц с помощью
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]]Голосовая связь в реальном времени
Встроенный плагин 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.
Эта быстрая проверка также охватывает серверные пути OpenAI и WebRTC; на этапе 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 нормализуется в
cacheReadOpenClaw из вышестоящего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 текст ответа берётся из поля
responseJSON-вывода CLI. - Если CLI оставляет
usageпустым, данные об использовании берутся изstats. stats.cachedнормализуется вcacheReadOpenClaw.- Если
stats.inputотсутствует, OpenClaw вычисляет количество входных токенов изstats.input_tokens - stats.cached.
Настройка окружения и демона
Если Gateway работает как демон (launchd/systemd), убедитесь, что GEMINI_API_KEY
доступен этому процессу (например, в ~/.openclaw/.env или через
env.shellEnv).
Связанные материалы
Выбор провайдеров, ссылок на модели и поведения при переключении после сбоя.
Общие параметры инструмента генерации изображений и выбор провайдера.
Общие параметры инструмента генерации видео и выбор провайдера.
Общие параметры инструмента генерации музыки и выбор провайдера.