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 }