fix(ai): preserve saved and manual models

This commit is contained in:
Abeautifulsnow authored and GitHub committed 2026-08-02 16:33:46 +08:00
1 parent 2220eed285
commit b053adf175
3 files changed
+100 -7

No files matched your search

@@ -57,6 +57,7 @@ import { useToast } from "@/composables/useToast";
import { useNavigationTargets } from "@/composables/useNavigationTargets";
import { buildAiContext, resolveAiDatabaseTarget, resolveAiNamespaceSelection, resolveDefaultAiSchema, runAgentStream, isVectorDbType, isValidActionForMode, defaultActionForMode, type AiAction, type AiAssistantMode, type AiSqlFileContext, type CustomPromptContext } from "@/lib/ai/ai";
import { isAiConfigModelCandidate } from "@/lib/ai/aiConfigCandidates";
import { addConfiguredAiModel, aiModelOptions } from "@/lib/ai/aiConfigList";
import { orderAiConfigsForDisplay } from "@/lib/ai/aiConfigOrdering";
import { effortSelectionEquals, runtimeEffortFromPreference } from "@/lib/ai/aiEffortPreference";
import { useAiModelCatalog } from "@/composables/useAiModelCatalog";
@@ -345,7 +346,9 @@ const activeFullConfig = computed(() => {
});
function getModelsForConfig(configId: string) {
return modelCatalogs.get(configId)?.models ?? [];
const config = settings.aiConfigs.find((item) => item.id === configId);
if (!config) return [];
return aiModelOptions(config, modelCatalogs.get(configId)?.models ?? []);
}
function configMatchesModelQuery(config: AiConfigItem, query: string): boolean {
@@ -420,12 +423,21 @@ function startManualModel(configId: string) {
nextTick(() => document.querySelector<HTMLInputElement>("[data-manual-model-input]")?.focus());
}
function applyManualModel(configId: string) {
async function applyManualModel(configId: string) {
const modelId = manualModelId.value.trim();
if (!modelId) return;
handleModelSelect(configId, modelId);
manualModelConfigId.value = "";
manualModelId.value = "";
const config = settings.aiConfigs.find((item) => item.id === configId);
if (!config) return;
try {
if (config.model.trim() !== modelId) {
await settings.updateAiConfigItem(configId, { models: addConfiguredAiModel(config.models, modelId) });
}
handleModelSelect(configId, modelId);
manualModelConfigId.value = "";
manualModelId.value = "";
} catch (error) {
toast(translateBackendError(t, error));
}
}
const activeEffortEntry = computed(() => {