快速开始

Google (Gemini)

Google 插件通过 Google AI Studio 提供 Gemini 模型访问,并支持 图像生成、媒体理解(图像/音频/视频)、文本转语音,以及通过 Gemini Grounding 进行 Web 搜索。

  • 提供商:google
  • 凭证:GEMINI_API_KEYGOOGLE_API_KEY
  • API:Google Gemini API
  • 运行时选项:agents.defaults.agentRuntime.id: "google-gemini-cli" 会复用 Gemini CLI OAuth,同时将模型引用保持为规范的 google/*

入门指南

选择你偏好的凭证方式,并按照设置步骤操作。

API key

最适合: 通过 Google AI Studio 标准访问 Gemini API。

  • Run onboarding

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

    或者直接传入密钥:

    openclaw onboard --non-interactive \
      --mode local \
      --auth-choice gemini-api-key \
      --gemini-api-key "$GEMINI_API_KEY"
    
  • Set a default model

    {
      agents: {
        defaults: {
          model: { primary: "google/gemini-3.1-pro-preview" },
        },
      },
    }
    
  • Verify the model is available

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

    最适合: 通过 PKCE OAuth 复用现有的 Gemini CLI 登录,而不是使用单独的 API key。

  • Install the Gemini CLI

    本地 gemini 命令必须可在 PATH 上使用。

    # Homebrew
    brew install gemini-cli
    
    # or npm
    npm install -g @google/gemini-cli
    

    OpenClaw 同时支持 Homebrew 安装和全局 npm 安装,包括 常见的 Windows/npm 布局。

  • Log in via OAuth

    openclaw models auth login --provider google-gemini-cli --set-default
    
  • Verify the model is available

    openclaw models list --provider google
    
    • 默认模型:google/gemini-3.1-pro-preview
    • 运行时:google-gemini-cli
    • 别名:gemini-cli

    Gemini 3.1 Pro 的 Gemini API 模型 ID 是 gemini-3.1-pro-preview。OpenClaw 接受更短的 google/gemini-3.1-pro 作为便捷别名,并会在调用提供商之前将其规范化。

    环境变量:

    • OPENCLAW_GEMINI_OAUTH_CLIENT_ID
    • OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET

    (或使用 GEMINI_CLI_* 变体。)

    google-gemini-cli/* 模型引用是旧版兼容别名。新的 配置应使用 google/* 模型引用,并在需要本地 Gemini CLI 执行时搭配 google-gemini-cli 运行时。

    能力

    能力 支持
    聊天补全
    图像生成
    音乐生成
    文本转语音
    实时语音 是(Google Live API)
    图像理解
    音频转写
    视频理解
    Web 搜索(Grounding)
    思考/推理 是(Gemini 2.5+ / Gemini 3+)
    Gemma 4 模型

    Web 搜索

    内置的 gemini Web 搜索提供商使用 Gemini Google Search grounding。 在 plugins.entries.google.config.webSearch 下配置专用搜索密钥, 或让它在 GEMINI_API_KEY 之后复用 models.providers.google.apiKey

    {
      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.apiKeyGEMINI_API_KEY, 然后是 models.providers.google.apiKeywebSearch.baseUrl 是可选项, 用于运维代理或兼容的 Gemini API 端点;省略时, Gemini Web 搜索会复用 models.providers.google.baseUrl。请参阅 Gemini 搜索,了解提供商特定的工具行为。

    图像生成

    内置的 google 图像生成提供商默认使用 google/gemini-3.1-flash-image-preview

    • 也支持 google/gemini-3-pro-image-preview
    • 生成:每次请求最多 4 张图像
    • 编辑模式:已启用,最多 5 张输入图像
    • 几何控制:sizeaspectRatioresolution

    要将 Google 用作默认图像提供商:

    {
      agents: {
        defaults: {
          imageGenerationModel: {
            primary: "google/gemini-3.1-flash-image-preview",
          },
        },
      },
    }
    

    视频生成

    内置的 google 插件还会通过共享的 video_generate 工具注册视频生成。

    • 默认视频模型:google/veo-3.1-fast-generate-preview
    • 模式:文本转视频、图像转视频和单视频参考流程
    • 支持 aspectRatioresolutionaudio
    • 当前时长限制:4 到 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
    • 提示词控制:lyricsinstrumental
    • 输出格式:默认 mp3,并且 google/lyria-3-pro-preview 支持 wav
    • 参考输入:最多 10 张图像
    • 由会话支持的运行会通过共享任务/Status 流程分离,包括 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.apiKeymodels.providers.google.apiKeyGEMINI_API_KEYGOOGLE_API_KEY
    • 输出:常规 TTS 附件使用 WAV,语音备注目标使用 Opus,Talk/电话使用 PCM
    • 语音备注输出:Google PCM 会封装为 WAV,并用 ffmpeg 转码为 48 kHz Opus

    Google 的批量 Gemini TTS 路径会在已完成的 generateContent 响应中返回生成的音频。对于最低延迟的语音对话,请使用 由 Gemini Live API 支持的 Google 实时语音提供商,而不是批量 TTS。

    要将 Google 用作默认 TTS 提供商:

    {
      messages: {
        tts: {
          auto: "always",
          provider: "google",
          providers: {
            google: {
              model: "gemini-3.1-flash-tts-preview",
              voiceName: "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]]
    

    实时语音

    内置的 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.apiKeyGEMINI_API_KEYGOOGLE_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",
                    voice: "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。 Google 分支会铸造与 Control UI Talk 使用的相同受限 Live API 令牌形态, 打开浏览器 WebSocket 端点,发送初始设置载荷, 并等待 setupComplete

    高级配置

    直接复用 Gemini 缓存

    对于直接 Gemini API 运行(api: "google-generative-ai"),OpenClaw 会将配置的 cachedContent 句柄传递给 Gemini 请求。

    • 使用 cachedContent 或旧版 cached_content 配置每模型或全局参数
    • 如果两者都存在,cachedContent 优先
    • 示例值:cachedContents/prebuilt-context
    • Gemini 缓存命中用量会从上游 cachedContentTokenCount 规范化为 OpenClaw cacheRead
    {
      agents: {
        defaults: {
          models: {
            "google/gemini-2.5-pro": {
              params: {
                cachedContent: "cachedContents/prebuilt-context",
              },
            },
          },
        },
      },
    }
    
    Gemini CLI JSON 用量说明

    使用 google-gemini-cli OAuth 提供商时,OpenClaw 会按如下方式规范化 CLI JSON 输出:

    • 回复文本来自 CLI JSON response 字段。
    • 当 CLI 将 usage 留空时,用量会回退到 stats
    • stats.cached 会规范化为 OpenClaw cacheRead
    • 如果缺少 stats.input,OpenClaw 会从 stats.input_tokens - stats.cached 推导输入 token。
    环境和守护进程设置

    如果 Gateway 网关作为守护进程运行(launchd/systemd),请确保 GEMINI_API_KEY 可供该进程使用(例如在 ~/.openclaw/.env 中,或通过 env.shellEnv)。

    相关内容