diff --git a/src-tauri/src/proxy/forwarder.rs b/src-tauri/src/proxy/forwarder.rs index 334182f92..68122e12f 100644 --- a/src-tauri/src/proxy/forwarder.rs +++ b/src-tauri/src/proxy/forwarder.rs @@ -487,29 +487,17 @@ impl RequestForwarder { // 构建请求 let mut request = self.client.post(&url); - // 只透传必要的 Headers(白名单模式) - let allowed_headers = [ - "accept", - "user-agent", - "x-request-id", - "x-stainless-arch", - "x-stainless-lang", - "x-stainless-os", - "x-stainless-package-version", - "x-stainless-runtime", - "x-stainless-runtime-version", - ]; + // 请求头黑名单:仅跳过会被覆盖或可能失效的字段(认证、Host、长度) + let skip_headers = ["authorization", "x-api-key", "host", "content-length"]; for (key, value) in headers { let key_str = key.as_str().to_lowercase(); - if allowed_headers.contains(&key_str.as_str()) { - request = request.header(key, value); + if skip_headers.contains(&key_str.as_str()) { + continue; } + request = request.header(key, value); } - // 确保 Content-Type 是 json - request = request.header("Content-Type", "application/json"); - // 使用适配器添加认证头 if let Some(auth) = adapter.extract_auth(provider) { log::debug!( diff --git a/src-tauri/src/services/usage_stats.rs b/src-tauri/src/services/usage_stats.rs index 18592b414..8c3dab835 100644 --- a/src-tauri/src/services/usage_stats.rs +++ b/src-tauri/src/services/usage_stats.rs @@ -954,12 +954,22 @@ mod tests { model_id, display_name, input_cost_per_million, output_cost_per_million, cache_read_cost_per_million, cache_creation_cost_per_million ) VALUES (?, ?, ?, ?, ?, ?)", - params!["claude-haiku-4.5", "Claude Haiku 4.5", "1.0", "2.0", "0.0", "0.0"], + params![ + "claude-haiku-4.5", + "Claude Haiku 4.5", + "1.0", + "2.0", + "0.0", + "0.0" + ], )?; // 测试精确匹配(seed_model_pricing 已预置 claude-sonnet-4-5-20250929) let result = find_model_pricing_row(&conn, "claude-sonnet-4-5-20250929")?; - assert!(result.is_some(), "应该能精确匹配 claude-sonnet-4-5-20250929"); + assert!( + result.is_some(), + "应该能精确匹配 claude-sonnet-4-5-20250929" + ); // 清洗:去除前缀和冒号后缀 let result = find_model_pricing_row(&conn, "anthropic/claude-haiku-4.5")?;