From 893dbb058ace281d1cef32402e6d732828951572 Mon Sep 17 00:00:00 2001 From: Pascal Date: Sun, 1 Feb 2026 03:20:36 +0100 Subject: [PATCH] fix: skip sending image attachments to non-vision backends --- .../server/webui/src/lib/stores/agentic.svelte.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/server/webui/src/lib/stores/agentic.svelte.ts b/tools/server/webui/src/lib/stores/agentic.svelte.ts index f13472bb53..196bbe413d 100644 --- a/tools/server/webui/src/lib/stores/agentic.svelte.ts +++ b/tools/server/webui/src/lib/stores/agentic.svelte.ts @@ -20,6 +20,7 @@ import { SvelteMap } from 'svelte/reactivity'; import { ChatService } from '$lib/services'; import { config } from '$lib/stores/settings.svelte'; import { mcpStore } from '$lib/stores/mcp.svelte'; +import { modelsStore } from '$lib/stores/models.svelte'; import { isAbortError } from '$lib/utils'; import { DEFAULT_AGENTIC_CONFIG, AGENTIC_TAGS } from '$lib/constants/agentic'; import { AttachmentType, MessageRole } from '$lib/enums'; @@ -529,10 +530,16 @@ class AgenticStore { const contentParts: ApiChatMessageContentPart[] = [{ type: 'text', text: cleanedResult }]; for (const attachment of attachments) { if (attachment.type === AttachmentType.IMAGE) { - contentParts.push({ - type: 'image_url', - image_url: { url: (attachment as DatabaseMessageExtraImageFile).base64Url } - }); + if (modelsStore.modelSupportsVision(options.model ?? '')) { + contentParts.push({ + type: 'image_url', + image_url: { url: (attachment as DatabaseMessageExtraImageFile).base64Url } + }); + } else { + console.info( + `[AgenticStore] Skipping image attachment (model "${options.model}" does not support vision)` + ); + } } }