diff --git a/src/shared/provider-preset-catalog.ts b/src/shared/provider-preset-catalog.ts index 42c6e7be..53c50678 100644 --- a/src/shared/provider-preset-catalog.ts +++ b/src/shared/provider-preset-catalog.ts @@ -118,6 +118,7 @@ const RAW_PROVIDER_PRESET_DEFINITIONS: readonly ProviderPresetDefinition[] = [ requiresApiKey: false, badge: 'Local', featured: true, + icon: '/assets/providers/llama-cpp.svg', }, { id: 'anthropic', diff --git a/tests/unit/api/provider-presets.test.ts b/tests/unit/api/provider-presets.test.ts index e4518e07..9a3323f9 100644 --- a/tests/unit/api/provider-presets.test.ts +++ b/tests/unit/api/provider-presets.test.ts @@ -35,6 +35,7 @@ describe('provider-presets', () => { expect(preset?.requiresApiKey).toBe(false); expect(preset?.apiKeyPlaceholder).toBe('llamacpp'); expect(preset?.baseUrl).toBe('http://127.0.0.1:8080'); + expect(preset?.icon).toBe('/assets/providers/llama-cpp.svg'); }); it('resolves legacy kimi preset alias to km', () => { diff --git a/ui/public/assets/providers/llama-cpp.svg b/ui/public/assets/providers/llama-cpp.svg new file mode 100644 index 00000000..9f2d0875 --- /dev/null +++ b/ui/public/assets/providers/llama-cpp.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/tests/unit/ui/lib/provider-presets.test.ts b/ui/tests/unit/ui/lib/provider-presets.test.ts index a8566369..53ab8c65 100644 --- a/ui/tests/unit/ui/lib/provider-presets.test.ts +++ b/ui/tests/unit/ui/lib/provider-presets.test.ts @@ -28,6 +28,10 @@ describe('resolvePresetApiKeyValue', () => { }); describe('provider preset metadata', () => { + it('uses the llama.cpp provider logo asset for the local llama.cpp preset', () => { + expect(getPresetById('llamacpp')?.icon).toBe('/assets/providers/llama-cpp.svg'); + }); + it('keeps Anthropic direct last in the recommended order', () => { const recommendedPresetIds = getPresetsByCategory('recommended').map((preset) => preset.id); expect(recommendedPresetIds.at(-1)).toBe('anthropic');