feat: 新增 Kiro 适配器、OAuth 改进与多项功能增强

- 新增 Kiro provider 适配器(EventStream 协议解析、令牌管理、用量追踪)
- 重构 OAuth 账户管理与统一配额机制
- 重构 Handler 基类(CLI adapter/handler、请求构建器、流处理器)
- 增强缓存监控后端 API 与前端可视化
- 改进 Gemini 格式标准化器与请求头处理
- Antigravity/Codex 适配器更新,移除旧 metadata_collector
- 新增数据库迁移:proxy provider API keys
- 前端 UI 多项优化

Co-Authored-By: AAEE86 <ppk0227@hotmail.com>
This commit is contained in:
fawney19
2026-02-09 01:05:48 +08:00
parent e324ffdcd6
commit b34dd12863
82 changed files with 6498 additions and 840 deletions

View File

@@ -1487,6 +1487,11 @@ class ProviderAPIKey(Base):
oauth_invalid_at = Column(DateTime(timezone=True), nullable=True) # 失效时间
oauth_invalid_reason = Column(String(255), nullable=True) # 失效原因
# Key 级别的代理配置(覆盖 Provider 级别的代理设置)
# 结构: {"node_id": "xxx", "enabled": true} 或 {"url": "socks5://...", "enabled": true}
# null 表示使用 Provider 级别代理(默认行为)
proxy = Column(JSON, nullable=True, default=None)
# 时间戳
created_at = Column(
DateTime(timezone=True), default=lambda: datetime.now(timezone.utc), nullable=False

View File

@@ -418,6 +418,14 @@ class EndpointAPIKeyUpdate(BaseModel):
model_exclude_patterns: list[str] | None = Field(
default=None, description="模型排除规则(支持 * 和 ? 通配符),空表示不排除"
)
# Key 级别代理配置(覆盖 Provider 级别代理)
# - 不提供:不更新
# - 提供 null清除 Key 级别代理,回退到 Provider 级别代理
# - 提供 ProxyConfig设置 Key 级别代理
proxy: ProxyConfig | None = Field(
default=None,
description="Key 级别代理配置(覆盖 Provider 级别代理null=使用 Provider 级别代理",
)
@field_validator("api_formats")
@classmethod
@@ -590,6 +598,11 @@ class EndpointAPIKeyResponse(BaseModel):
None, description="上游元数据(如 Codex 额度信息)"
)
# Key 级别代理配置
proxy: dict[str, Any] | None = Field(
None, description="Key 级别代理配置(覆盖 Provider 级别代理)"
)
# 时间戳
last_used_at: datetime | None = None
created_at: datetime