From 6bf3e5506f1004e8584eadc3a86bd30995585bdf Mon Sep 17 00:00:00 2001 From: Phantom Date: Thu, 29 Jan 2026 00:16:42 +0800 Subject: [PATCH] fix: Handle :cloud suffix in getLowerBaseModelName for Ollama models (#12633) * refactor: Add support for removing :cloud suffix in model names * test: Add test for removing trailing :cloud from model name --- src/renderer/src/utils/__tests__/naming.test.ts | 3 +++ src/renderer/src/utils/naming.ts | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/utils/__tests__/naming.test.ts b/src/renderer/src/utils/__tests__/naming.test.ts index 8fb6bc2b74..1a196ed189 100644 --- a/src/renderer/src/utils/__tests__/naming.test.ts +++ b/src/renderer/src/utils/__tests__/naming.test.ts @@ -225,6 +225,9 @@ describe('naming', () => { it('should remove trailing (free)', () => { expect(getLowerBaseModelName('agent/gpt-4(free)')).toBe('gpt-4') }) + it('should remove trailing :cloud', () => { + expect(getLowerBaseModelName('local/kimi-k2.5:cloud')).toBe('kimi-k2.5') + }) }) describe('getFirstCharacter', () => { diff --git a/src/renderer/src/utils/naming.ts b/src/renderer/src/utils/naming.ts index 2ebd9c1fc3..dee41a137e 100644 --- a/src/renderer/src/utils/naming.ts +++ b/src/renderer/src/utils/naming.ts @@ -74,14 +74,19 @@ export const getBaseModelName = (id: string, delimiter: string = '/'): string => * @returns {string} 小写的基础名称 */ export const getLowerBaseModelName = (id: string, delimiter: string = '/'): string => { - const baseModelName = getBaseModelName(id, delimiter).toLowerCase() + let baseModelName = getBaseModelName(id, delimiter).toLowerCase() + // Remove suffix // for openrouter if (baseModelName.endsWith(':free')) { - return baseModelName.replace(':free', '') + baseModelName = baseModelName.replace(':free', '') } // for cherryin if (baseModelName.endsWith('(free)')) { - return baseModelName.replace('(free)', '') + baseModelName = baseModelName.replace('(free)', '') + } + // for ollama + if (baseModelName.endsWith(':cloud')) { + baseModelName = baseModelName.replace(':cloud', '') } return baseModelName }