From c2136fc06a2acfddca41409c4875dfd22149f5b6 Mon Sep 17 00:00:00 2001
From: vikingowl
Date: Wed, 7 Jan 2026 20:30:33 +0100
Subject: [PATCH] feat: add release notes to install script and smart embedding
model detection
Install script improvements:
- Show release notes after --update completes
- Detect installed version from backend/cmd/server/main.go
- Fetch releases from GitHub API and display changes between versions
- Graceful fallback when jq not installed (shows link only)
Embedding model detection:
- Add EMBEDDING_MODEL_PATTERNS for detecting embedding models
- Add embeddingModels and hasEmbeddingModel derived properties
- KnowledgeTab shows embedding model status conditionally
- MemoryTab shows model installation status with three states
---
.../components/settings/KnowledgeTab.svelte | 19 +++--
.../lib/components/settings/MemoryTab.svelte | 22 ++++-
frontend/src/lib/stores/models.svelte.ts | 33 ++++++--
install.sh | 84 +++++++++++++++++++
4 files changed, 145 insertions(+), 13 deletions(-)
diff --git a/frontend/src/lib/components/settings/KnowledgeTab.svelte b/frontend/src/lib/components/settings/KnowledgeTab.svelte
index 7f984de..151ae2b 100644
--- a/frontend/src/lib/components/settings/KnowledgeTab.svelte
+++ b/frontend/src/lib/components/settings/KnowledgeTab.svelte
@@ -13,7 +13,7 @@
DEFAULT_EMBEDDING_MODEL
} from '$lib/memory';
import type { StoredDocument } from '$lib/storage/db';
- import { toastState } from '$lib/stores';
+ import { toastState, modelsState } from '$lib/stores';
let documents = $state([]);
let stats = $state({ documentCount: 0, chunkCount: 0, totalTokens: 0 });
@@ -258,9 +258,18 @@
Documents are split into chunks and converted to embeddings. When you ask a question,
relevant chunks are found by similarity search and included in the AI's context.
-
- Note: Requires an embedding model to be installed
- in Ollama (e.g., ollama pull nomic-embed-text).
-
+ {#if !modelsState.hasEmbeddingModel}
+
+ No embedding model found. Install one to use the knowledge base:
+ ollama pull nomic-embed-text
+