Procházet zdrojové kódy

fix: remove llmConfig fallback in model resolver to prevent silent CLI fallback

- resolveDefaultModel 和 resolveNovelModel 不再回退到 baseConfig/llmConfig

- 避免静默使用已禁用的 CLI provider(如 claude-code/codex-cli)

- 无可用模型时返回空配置,由调用方提示用户选择模型
Mochocyang před 3 měsíci
rodič
revize
cfb8070eb5
1 změnil soubory, kde provedl 2 přidání a 9 odebrání
  1. 2 9
      src/lib/novel/model-resolver.ts

+ 2 - 9
src/lib/novel/model-resolver.ts

@@ -42,7 +42,8 @@ export function resolveModelConfig(
 
 
 /**
 /**
  * 解析后台任务的默认模型。
  * 解析后台任务的默认模型。
- * 优先级:defaultLlmModel > aiChatModel > baseConfig
+ * 优先级:defaultLlmModel > aiChatModel
+ * 不回退到 baseConfig(llmConfig),避免静默使用已禁用的 CLI provider。
  * 用于提取记忆、提取角色等后台 AI 任务。
  * 用于提取记忆、提取角色等后台 AI 任务。
  */
  */
 export function resolveDefaultModel(baseConfig: LlmConfig): LlmConfig {
 export function resolveDefaultModel(baseConfig: LlmConfig): LlmConfig {
@@ -64,10 +65,6 @@ export function resolveDefaultModel(baseConfig: LlmConfig): LlmConfig {
     }
     }
   }
   }
 
 
-  if (isConfigUsable(baseConfig, providerConfigs)) {
-    return baseConfig
-  }
-
   return { ...baseConfig, apiKey: "", model: "" }
   return { ...baseConfig, apiKey: "", model: "" }
 }
 }
 
 
@@ -110,9 +107,5 @@ export function resolveNovelModel(
     }
     }
   }
   }
 
 
-  if (isConfigUsable(llmConfig, providerConfigs)) {
-    return llmConfig
-  }
-
   return { ...llmConfig, apiKey: "", model: "" }
   return { ...llmConfig, apiKey: "", model: "" }
 }
 }