feat: 新增 Gemini CLI provider adapter

- 新增 gemini_cli adapter 包(client/constants/envelope/plugin/quota)
- 实现 v1internal 协议封装、OAuth enrichment、loadCodeAssist/onboardUser 流程
- 实现配额耗尽检测与冷却元数据管理(RESOURCE_EXHAUSTED 解析)
- 新增 GeminiCliQuotaReader 支持按模型粒度的配额展示
- endpoint check 支持流式回退和 v1internal 响应解包
- health_policy 429 处理增加 Google 配额冷却解析
- error_handler 在限流时同步 Gemini CLI 配额状态
- 前端添加 Gemini CLI provider 类型选项和 OAuth 图标
- 新增 preset models(gemini-2.5-pro/flash, gemini-3-pro/flash, gemini-3.1-pro)
- 新增 gemini_cli quota 单元测试

Closes #216

Co-authored-by: Entropy.Xu <entropy.xu@cloudhabitatsh.com>
This commit is contained in:
fawney19
2026-03-10 23:07:50 +08:00
parent 85aa66c76d
commit 1e39ab3c2e
21 changed files with 1317 additions and 31 deletions

View File

@@ -481,11 +481,9 @@ async def _enrich_gemini_cli(
def _bootstrap_auth_enrichers() -> None:
# 简单的内置 enrichers 直接注册
# 简单的内置 enrichers 直接注册(兜底,会被 plugin.register_all() 覆盖)
register_auth_enricher("claude_code", _enrich_claude_code)
register_auth_enricher("gemini_cli", _enrich_gemini_cli)
# Provider-specific enrichers 通过 plugin.register_all() 注册
# (called from envelope.py bootstrap)
_bootstrap_auth_enrichers()