Skip to content

Release v0.10.0

Gemini 支持 - Google Gemini API Provider 与流式输出

新增 Google Gemini 作为第四个 LLM Provider,支持流式输出、安全内容过滤和 CI 模式集成。

新增

Google Gemini Provider

  • 新增 GeminiProvider,实现 ApiBackend trait
  • 支持 generateContentstreamGenerateContent(SSE)端点
  • 使用 x-goog-api-key 请求头认证
  • 默认模型:gemini-3-flash-preview
  • 默认端点:https://generativelanguage.googleapis.com
  • 可配置 max_tokenstemperature 和自定义端点

Gemini 流式输出

  • 完整 SSE 流式支持,实时打字效果
  • 处理 finishReason 变体:STOPMAX_TOKENSSAFETYRECITATION
  • 非 STOP 结束原因显示本地化警告
  • 解析错误计数和报告(与 Claude/OpenAI 流式一致)

Gemini 安全内容过滤

  • 检测并报告被 Gemini 安全过滤器阻止的内容
  • 返回清晰的错误消息和阻止原因(如 SAFETY

Gemini API 验证

  • validate() 发送最小测试请求(max_output_tokens=1)验证连通性
  • gcop config validate 命令配合使用

CI 模式 Gemini 支持

  • 支持 GCOP_CI_PROVIDER=gemini
  • CI 模式 provider 列表更新:claude、openai、ollama、gemini

Gemini 错误建议

  • API key 错误现在建议:在 config.toml 的 [llm.providers.gemini] 中添加 'api_key = "AIza..."'
  • Provider 未找到建议更新为包含 gemini

变更

ApiStyle 枚举扩展

  • 新增 Gemini 变体,支持 DisplayFromStr 和 serde
  • default_model() 为 Gemini 返回 "gemini-3-flash-preview"

i18n 消息更新

  • 新增 Gemini 相关的中英文翻译
  • CI provider 错误消息更新为包含 "gemini"
  • Provider 未找到建议更新为包含 "gemini"

配置

toml
[llm]
default_provider = "gemini"

[llm.providers.gemini]
api_key = "AIza..."
model = "gemini-3-flash-preview"        # 可选
endpoint = "https://generativelanguage.googleapis.com"  # 可选
max_tokens = 2000                        # 可选
temperature = 0.3                        # 可选

通往 1.0 之路

v0.10.0 完成了四大 Provider 阵容(Claude、OpenAI、Ollama、Gemini)。如果后续无需再进行 breaking changes,下一个 minor 版本将是 v1.0.0,标志着 API 稳定。

升级

bash
# Homebrew
brew upgrade gcop-rs

# Cargo
cargo install gcop-rs

# pip
pip install --upgrade gcop-rs