diff --git a/src/providers/provider-pool-manager.js b/src/providers/provider-pool-manager.js index 2b4fdc6..909fba4 100644 --- a/src/providers/provider-pool-manager.js +++ b/src/providers/provider-pool-manager.js @@ -1950,8 +1950,8 @@ export class ProviderPoolManager { await serviceAdapter.generateContent(modelName, requestWithSignal); clearTimeout(timeoutId); - // 将健康检查计入使用量(resetUsageCount=false 只会递增,不会重置) - this.markProviderHealthy(providerType, providerConfig, false, modelName); + // 注意:使用量计数由调用方处理(performScheduledHealthChecks/performHealthChecks) + // 这里只返回成功结果,让调用方统一处理状态更新和计数 return { success: true, modelName, errorMessage: null }; } catch (error) { clearTimeout(timeoutId); diff --git a/src/services/api-server.js b/src/services/api-server.js index 0b36fd6..a194fcd 100644 --- a/src/services/api-server.js +++ b/src/services/api-server.js @@ -394,6 +394,10 @@ async function startServer() { if (healthCheckTimerId) { clearInterval(healthCheckTimerId); } + // 重置运行状态,允许新的 timer 立即触发 + // 否则如果 reload 时正在运行,新 timer 的第一次触发会被跳过 + isHealthCheckRunning = false; + // 设置定时任务 healthCheckTimerId = setInterval(async () => { if (isHealthCheckRunning) {