feat: 全栈功能增强 - 扩展 provider/pool 管理、完善调度与数据层、重构前端 Pool 页面

后端:
- 扩展 pool_admin payloads 和 provider query models,增强 endpoint key 管理
- 完善 scheduler-core 候选排序与请求候选逻辑
- 增强 usage-runtime 写入、provider-transport 网络层与 OAuth 刷新
- 改进 AI pipeline 响应转换与流式处理
- 扩展 global_models/provider_catalog 数据层查询能力
- 增强 video-tasks-core 多 provider 支持
- 新增大量集成测试覆盖 pool/keys/provider_query/frontdoor

前端:
- 重构 PoolManagement 页面,拆分状态管理/对话框逻辑到独立模块
- 新增 poolAdvancedDialog/poolSchedulingDialog/poolManagementState/poolMobilePresentation 工具函数及测试
- 改进 Dialog 组件与 provider tabs 显示

部署:
- 更新 Rust CI workflow 和 Dockerfile 构建配置

Closes #275
Co-authored-by: AAEE86 <ppk0227@hotmail.com>
This commit is contained in:
fawney19
2026-04-09 13:51:50 +08:00
parent 4fc95adfb9
commit b0b40c16ff
97 changed files with 5816 additions and 1881 deletions

View File

@@ -184,6 +184,9 @@ pub struct StoredAdminGlobalModel {
pub default_tiered_pricing: Option<Value>,
pub supported_capabilities: Option<Value>,
pub config: Option<Value>,
pub provider_count: u64,
pub active_provider_count: u64,
pub usage_count: u64,
pub created_at_unix_secs: Option<u64>,
pub updated_at_unix_secs: Option<u64>,
}
@@ -199,6 +202,9 @@ impl StoredAdminGlobalModel {
default_tiered_pricing: Option<Value>,
supported_capabilities: Option<Value>,
config: Option<Value>,
provider_count: u64,
active_provider_count: u64,
usage_count: u64,
created_at_unix_secs: Option<u64>,
updated_at_unix_secs: Option<u64>,
) -> Result<Self, crate::DataLayerError> {
@@ -227,6 +233,9 @@ impl StoredAdminGlobalModel {
default_tiered_pricing,
supported_capabilities,
config,
provider_count,
active_provider_count,
usage_count,
created_at_unix_secs,
updated_at_unix_secs,
})

View File

@@ -270,6 +270,8 @@ pub struct StoredProviderCatalogKey {
pub utilization_samples: Option<serde_json::Value>,
pub last_probe_increase_at_unix_secs: Option<u64>,
pub request_count: Option<u32>,
pub total_tokens: u64,
pub total_cost_usd: f64,
pub success_count: Option<u32>,
pub error_count: Option<u32>,
pub total_response_time_ms: Option<u32>,
@@ -340,6 +342,8 @@ impl StoredProviderCatalogKey {
utilization_samples: None,
last_probe_increase_at_unix_secs: None,
request_count: None,
total_tokens: 0,
total_cost_usd: 0.0,
success_count: None,
error_count: None,
total_response_time_ms: None,
@@ -425,6 +429,16 @@ impl StoredProviderCatalogKey {
self
}
pub fn with_usage_totals(mut self, total_tokens: u64, total_cost_usd: f64) -> Self {
self.total_tokens = total_tokens;
self.total_cost_usd = if total_cost_usd.is_finite() {
total_cost_usd
} else {
0.0
};
self
}
pub fn with_health_fields(
mut self,
health_by_format: Option<serde_json::Value>,