fix(provider): 清除刷新标记避免节点卡死并更新模型列表

当 provider 报错时,清除 needsRefresh 和 refreshCount 标记,防止健康检查逻辑陷入刷新循环导致节点卡死。同时更新 provider-models.js 中的模型列表,添加 gpt-5.4-mini 模型,并更新项目版本号至 2.11.8。
This commit is contained in:
hex2077 2026-03-25 12:48:54 +08:00
parent d15de54e79
commit d345ec67b7
3 changed files with 10 additions and 1 deletions

View file

@ -1 +1 @@
2.11.7.2
2.11.8

View file

@ -88,6 +88,7 @@ export const PROVIDER_MODELS = {
'gpt-5.3-codex',
'gpt-5.3-codex-spark',
'gpt-5.4',
'gpt-5.4-mini',
],
'forward-api': [],
'grok-custom': [

View file

@ -1330,6 +1330,10 @@ export class ProviderPoolManager {
provider.config.lastErrorTime = new Date().toISOString();
// 更新 lastUsed 时间,避免因 LRU 策略导致失败节点被重复选中
provider.config.lastUsed = new Date().toISOString();
// 只要报错,就清除刷新标记,由下次触发或健康检查决定是否需要刷新
provider.config.needsRefresh = false;
provider.config.refreshCount = 0;
// 保存错误信息
if (errorMessage) {
@ -1368,6 +1372,8 @@ export class ProviderPoolManager {
if (provider) {
const wasHealthy = provider.config.isHealthy;
provider.config.isHealthy = false;
provider.config.needsRefresh = false; // 报错时不健康,清除刷新标记,防止卡死
provider.config.refreshCount = 0;
provider.config.errorCount = this.maxErrorCount; // Set to max to indicate definitive failure
provider.config.lastErrorTime = new Date().toISOString();
provider.config.lastUsed = new Date().toISOString();
@ -1404,6 +1410,8 @@ export class ProviderPoolManager {
const provider = this._findProvider(providerType, providerConfig.uuid);
if (provider) {
provider.config.isHealthy = false;
provider.config.needsRefresh = false; // 报错时不健康,清除刷新标记,防止卡死
provider.config.refreshCount = 0;
provider.config.errorCount = this.maxErrorCount; // Set to max to indicate definitive failure
provider.config.lastErrorTime = new Date().toISOString();
provider.config.lastUsed = new Date().toISOString();