From 30ab6b419990fe4bc13377002ae00ba97608a315 Mon Sep 17 00:00:00 2001 From: Acbox Date: Sun, 19 Apr 2026 14:16:01 +0800 Subject: [PATCH] feat: except *-speech client type in llm provider --- apps/web/src/constants/client-types.ts | 2 +- internal/models/models.go | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/apps/web/src/constants/client-types.ts b/apps/web/src/constants/client-types.ts index 105e870e..812786b2 100644 --- a/apps/web/src/constants/client-types.ts +++ b/apps/web/src/constants/client-types.ts @@ -85,4 +85,4 @@ export const CLIENT_TYPE_META: Record = { export const CLIENT_TYPE_LIST: ClientTypeMeta[] = Object.values(CLIENT_TYPE_META) export const LLM_CLIENT_TYPE_LIST: ClientTypeMeta[] = CLIENT_TYPE_LIST - .filter(ct => ct.value !== 'edge-speech') + .filter(ct => !ct.value.endsWith('-speech')) diff --git a/internal/models/models.go b/internal/models/models.go index 92a3b34f..9ed7784d 100644 --- a/internal/models/models.go +++ b/internal/models/models.go @@ -446,19 +446,9 @@ func IsValidClientType(clientType ClientType) bool { } // IsLLMClientType returns true if the client type belongs to the LLM domain -// (chat/embedding), excluding speech-only types like edge-speech. +// (chat/embedding), excluding speech-only types (any type ending in "-speech"). func IsLLMClientType(clientType ClientType) bool { - switch clientType { - case ClientTypeOpenAIResponses, - ClientTypeOpenAICompletions, - ClientTypeAnthropicMessages, - ClientTypeGoogleGenerativeAI, - ClientTypeOpenAICodex, - ClientTypeGitHubCopilot: - return true - default: - return false - } + return IsValidClientType(clientType) && !strings.HasSuffix(string(clientType), "-speech") } // SelectMemoryModel selects a chat model for memory operations.