gemini-openai-api
SKILL.md
Gemini OpenAI 兼容 API 接入
Gemini 提供 OpenAI 兼容端点,可作为辅助 API 使用。
Base URL
https://generativelanguage.googleapis.com/v1beta/openai/
模型配置
| 用途 | 推荐模型 |
|---|---|
| Summary / Correction / Vision | gemini-3-flash-preview |
| Emotion Analysis | gemini-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_providersconfig/__init__.py- 添加EXTRA_BODY_GEMINI和MODELS_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 解析失败
原因:
- 响应被截断(token 限制太小)
- 响应包含 markdown 代码块
解决:
- 增加
max_completion_tokens - 添加 markdown 代码块处理逻辑
Weekly Installs
22
Repository
project-n-e-k-o/n.e.k.oGitHub Stars
784
First Seen
Feb 28, 2026
Security Audits
Installed on
gemini-cli22
opencode22
codebuddy22
github-copilot22
codex22
kimi-cli22