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.

  • Получение ключа API

    Создайте бесплатный ключ в Google AI Studio.

  • Запуск первоначальной настройки

    bash
    openclaw onboard --auth-choice gemini-api-key

    Или передайте ключ напрямую:

    bash
    openclaw onboard --non-interactive \  --mode local \  --auth-choice gemini-api-key \  --gemini-api-key "$GEMINI_API_KEY"
  • Задание модели по умолчанию

    json5
    {  agents: {    defaults: {      model: { primary: "google/gemini-3.1-pro-preview" },    },  },}
  • Проверка доступности модели

    bash
    openclaw models list --provider google
  • Gemini CLI (OAuth)

    Лучше всего подходит для: входа с аккаунтом Google через OAuth Gemini CLI вместо использования отдельного ключа API.

  • Установка Gemini CLI

    Локальная команда gemini должна быть доступна в PATH.

    bash
    # Homebrewbrew install gemini-cli # или npmnpm install -g @google/gemini-cli

    OpenClaw поддерживает установку как через Homebrew, так и через глобальный npm, включая распространённые схемы каталогов Windows/npm.

  • Вход через OAuth

    bash
    openclaw models auth login --provider google-gemini-cli --set-default
  • Проверка доступности модели

    bash
    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_ID / GEMINI_CLI_OAUTH_CLIENT_ID
    • OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET / GEMINI_CLI_OAUTH_CLIENT_SECRET

    При автоматическом обнаружении во время первоначальной настройки существующий вход Gemini CLI отображается в списке, но никогда не проверяется автоматически, поскольку Gemini CLI не поддерживает проверочный запрос без инструментов. Чтобы продолжить, выберите OAuth Gemini CLI или ключ Gemini API.

    Ссылки на модели google-gemini-cli/* являются устаревшими псевдонимами для обратной совместимости. В новых конфигурациях для локального выполнения Gemini CLI следует использовать ссылки на модели google/* вместе со средой выполнения google-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:

    json5
    {  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 как провайдер изображений по умолчанию:

    json5
    {  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 как провайдер видео по умолчанию:

    json5
    {  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 как провайдер музыки по умолчанию:

    json5
    {  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 по умолчанию:

    json5
    {  messages: {    tts: {      auto: "always",      provider: "google",      providers: {        google: {          model: "gemini-3.1-flash-tts-preview",          speakerVoice: "Kore",          audioProfile: "Говорите профессионально и спокойным тоном.",        },      },    },  },}

    Gemini API TTS использует запросы на естественном языке для управления стилем. Задайте audioProfile, чтобы добавлять многократно используемый запрос стиля перед произносимым текстом. Задайте speakerName, если в тексте запроса упоминается именованный говорящий.

    Gemini API TTS также принимает в тексте выразительные аудиотеги в квадратных скобках, например [whispers] или [laughs]. Чтобы теги не отображались в видимом ответе чата, но передавались в TTS, поместите их в блок [[tts:text]]...[[/tts:text]]:

    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

    Пример конфигурации реального времени для голосового вызова:

    json5
    {  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 преобразуется в поле OpenClaw cacheRead из вышестоящего поля cachedContentTokenCount
    json5
    {  agents: {    defaults: {      models: {        "google/gemini-2.5-pro": {          params: {            cachedContent: "cachedContents/prebuilt-context",          },        },      },    },  },}
    Примечания по использованию Gemini CLI

    При использовании OAuth-поставщика google-gemini-cli OpenClaw по умолчанию использует вывод Gemini CLI stream-json и нормализует статистику использования из итоговых данных stats. Устаревшие переопределения --output-format json по-прежнему используют синтаксический анализатор JSON.

    • Текст потокового ответа поступает из событий ассистента message.
    • При использовании устаревшего вывода JSON текст ответа поступает из поля response в JSON от CLI.
    • Если CLI оставляет usage пустым, статистика использования берётся из stats.
    • stats.cached преобразуется в поле OpenClaw cacheRead.
    • Если stats.input отсутствует, OpenClaw вычисляет количество входных токенов из stats.input_tokens - stats.cached.
    Настройка окружения и демона

    Если Gateway работает как демон (launchd/systemd), убедитесь, что GEMINI_API_KEY доступен этому процессу (например, в ~/.openclaw/.env или через env.shellEnv).

    Связанные материалы

    Was this useful?
    On this page

    On this page