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 <[email protected]>
This commit is contained in:
fawney19
2026-02-09 01:05:48 +08:00
co-authored by AAEE86
parent e324ffdcd6
commit b34dd12863
82 changed files with 6498 additions and 840 deletions
@@ -948,7 +948,7 @@ function getEndpointRulesCount(endpoint: ProviderEndpoint): number {
}
// 检查端点是否有任何规则(包括正在编辑的空规则)
function hasAnyRules(endpoint: ProviderEndpoint): boolean {
function _hasAnyRules(endpoint: ProviderEndpoint): boolean {
const state = endpointEditStates.value[endpoint.id]
if (state) {
return state.rules.length > 0
@@ -1158,7 +1158,7 @@ function getEndpointBodyRulesCount(endpoint: ProviderEndpoint): number {
}
// 检查端点是否有任何请求体规则(包括正在编辑的空规则)
function hasAnyBodyRules(endpoint: ProviderEndpoint): boolean {
function _hasAnyBodyRules(endpoint: ProviderEndpoint): boolean {
const state = endpointEditStates.value[endpoint.id]
if (state) {
return state.bodyRules.length > 0
@@ -1172,7 +1172,7 @@ function getTotalRulesCount(endpoint: ProviderEndpoint): number {
}
// 格式化请求头规则的显示标签
function formatHeaderRuleLabel(rule: EditableRule): string {
function _formatHeaderRuleLabel(rule: EditableRule): string {
if (rule.action === 'set') {
if (!rule.key) return '(未设置)'
return `${rule.key}=${rule.value || '...'}`
@@ -1187,7 +1187,7 @@ function formatHeaderRuleLabel(rule: EditableRule): string {
}
// 格式化请求体规则的显示标签
function formatBodyRuleLabel(rule: EditableBodyRule): string {
function _formatBodyRuleLabel(rule: EditableBodyRule): string {
if (rule.action === 'set') {
if (!rule.path) return '(未设置)'
return `${rule.path}=${rule.value || '...'}`
@@ -1279,7 +1279,7 @@ function getBodyValidationErrorForEndpoint(endpointId: string): string | null {
}
// 检查请求体规则是否有验证错误
function hasBodyValidationErrorsForEndpoint(endpointId: string): boolean {
function _hasBodyValidationErrorsForEndpoint(endpointId: string): boolean {
return !!getBodyValidationErrorForEndpoint(endpointId)
}