GE

gemini-openai-api

Provides patterns for integrating Gemini via OpenAI-compatible endpoints, including thinking config and response formatting.

Install

mkdir -p .claude/skills/gemini-openai-api && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8089" && unzip -o skill.zip -d .claude/skills/gemini-openai-api && rm skill.zip

Installs to .claude/skills/gemini-openai-api

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Gemini 模型通过 OpenAI 兼容 API 接入指南。包含:(1) 辅助 API 配置(summary/correction/emotion/vision),(2) extra_body 格式用于控制 thinking,(3) 响应格式处理(markdown 代码块)。当需要将 Gemini 作为辅助模型接入、配置 thinking 参数、或处理 Gemini API 返回格式时使用。
198 charsno explicit “when” trigger
Advanced

Key capabilities

  • Configures Gemini for OpenAI-compatible base URLs
  • Sets thinking budgets via extra_body
  • Parses markdown-wrapped JSON responses
  • Maps models to specific utility tasks

How it works

Provides structural patterns for mapping `extra_body` and base URLs to integrate Gemini into an OpenAI-compatible client wrapper.

Inputs & outputs

You give it
Model function (summary, correction, etc.) and thinking config
You get back
API configuration patterns for Gemini integration

When to use gemini-openai-api

  • Configure Gemini thinking budget
  • Connect Gemini as auxiliary model
  • Handle markdown JSON responses

About this skill

Gemini OpenAI 兼容 API 接入

Gemini 提供 OpenAI 兼容端点,可作为辅助 API 使用。

[!IMPORTANT] memory/ + utils/ 下不要传 temperature。项目级约定:所有走 utils.llm_client.create_chat_llm / ChatOpenAI 的调用一律不下发 temperature 字段(默认 None = 不写进请求体)。守门见 scripts/check_no_temperature.pyextra_body(控制 thinking)/ max_completion_tokens / timeout / max_retries 这类参数继续按需配置,但 不要为了"调风格"再加 temperature=...

Base URL

https://generativelanguage.googleapis.com/v1beta/openai/

模型配置

用途推荐模型
Summary / Correction / Visiongemini-3-flash-preview
Emotion Analysisgemini-2.5-flash

控制 Thinking

Gemini 2.5+ 模型需要通过 extra_body 控制 thinking 行为。

禁用 Thinking(用于 gemini-2.5-flash)

extra_body = {
    "extra_body": {
        "google": {
            "thinking_config": {
                "thinking_budget": 0
            }
        }
    }
}

低级别 Thinking(用于 gemini-3-flash-preview)

extra_body = {
    "extra_body": {
        "google": {
            "thinking_config": {
                "thinking_level": "low",
                "include_thoughts": False
            }
        }
    }
}

[!IMPORTANT] extra_body 需要双层嵌套:外层 "extra_body" 是传给 OpenAI client 的参数名,内层 {"google": {...}} 是 Gemini 的实际配置。

响应格式处理

Gemini 可能返回 markdown 代码块包装的 JSON:

```json
{"emotion": "happy", "confidence": 0.8}

处理方法:

```python
if result_text.startswith("```"):
    lines = result_text.split("\n")
    if lines[0].startswith("```"):
        lines = lines[1:]
    if lines and lines[-1].strip() == "```":
        lines = lines[:-1]
    result_text = "\n".join(lines).strip()

配置文件位置

  • config/api_providers.json - 添加 gemini 到 assist_api_providers
  • config/__init__.py - 添加 EXTRA_BODY_GEMINIMODELS_EXTRA_BODY_MAP

api_providers.json 示例

"gemini": {
  "key": "gemini",
  "name": "Gemini(Google)",
  "description": "Google AI 辅助模型,国内无法使用",
  "openrouter_url": "https://generativelanguage.googleapis.com/v1beta/openai/",
  "summary_model": "gemini-3-flash-preview",
  "correction_model": "gemini-3-flash-preview",
  "emotion_model": "gemini-2.5-flash",
  "vision_model": "gemini-3-flash-preview"
}

常见问题

"Unknown name 'google': Cannot find field"

原因:extra_body 格式错误,缺少外层 "extra_body" 包装。

解决:使用双层嵌套格式 {"extra_body": {"google": {...}}}

JSON 解析失败

原因:

  1. 响应被截断(token 限制太小)
  2. 响应包含 markdown 代码块

解决:

  1. 增加 max_completion_tokens
  2. 添加 markdown 代码块处理逻辑

When not to use it

  • Native SDK integrations
  • Projects already using standard OpenAI clients without provider-specific configuration

Limitations

  • Strict parameter constraints regarding temperature usage
  • Requires custom parsing of markdown blocks

How it compares

Provides a specific architectural bridge for using Gemini models within an existing OpenAI-focused client ecosystem.

Compared to similar skills

gemini-openai-api side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
gemini-openai-api (this skill)03moNo flagsAdvanced
openai-knowledge54moNo flagsIntermediate
openrouter-function-calling527dReviewIntermediate
openrouter-hello-world727dCautionBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

Search skills

Search the agent skills registry