feat: add Gemini Files API proxy with key capability support

- Add gemini_files_api capability for key-level Files API support
- Implement Gemini Files API proxy endpoints (upload/list/get/delete)
- Add file-to-key mapping cache for correct key routing
- Support preferred_key_ids to prioritize keys that uploaded files
- Enhance logging for file mapping diagnostics
This commit is contained in:
fawney19
2026-01-30 11:37:34 +08:00
parent 32b293ef3e
commit c33cd07ea9
12 changed files with 856 additions and 0 deletions

View File

@@ -245,3 +245,12 @@ register_capability(
short_name="CLI 1M",
error_patterns=["context", "token", "length", "exceed"], # 上下文超限错误
)
register_capability(
name="gemini_files_api",
display_name="Gemini文件上传",
description="支持 Gemini Files API上传、查询、删除第三方 Key 通常不支持",
match_mode=CapabilityMatchMode.COMPATIBLE, # 需要时选有的,不需要时都可选
config_mode=CapabilityConfigMode.REQUEST_PARAM, # 从请求路径检测
short_name="文件上传",
)