Vane (Perplexica 2.0) Quickstart mit Ollama und llama.cpp

Selbst gehostete KI-Suche mit lokalen LLMs

Inhaltsverzeichnis

Vane ist einer der pragmatischeren Vertreter im Bereich „KI-Suche mit Quellenangaben": eine selbst gehostete Antwort-Engine, die die Live-Webrecherche mit lokalen oder Cloud-LLMs kombiniert, während der gesamte Stack unter Ihrer Kontrolle bleibt.

Das Projekt war ursprünglich unter dem Namen Perplexica bekannt, und die Umbenennung in Vane ist keine rein kosmetische Änderung: Sie spiegelt sowohl eine Markenbereinigung als auch einen stetigen Wandel wider, weg von der Darstellung als „Klon" hin zu einer allgemeinen Antwort-Engine.

laptop-llama-server

Da der nützliche Teil des Stacks nicht nur die Benutzeroberfläche, sondern auch der Ort der Inferenz und Daten liegt, fasst dieser Vergleich von LLM-Hosting im Jahr 2026 lokale, selbst gehostete und Cloud-Setups zusammen, damit Sie Vane neben andere Laufzeitumgebungen und Bereitstellungsoptionen stellen können.

Dieser Beitrag konzentriert sich auf die Aspekte, die technische Leser tatsächlich interessieren: wie das System funktioniert, ein minimales Docker-Quickstart und wie man es mit lokaler Inferenz über Ollama und llama.cpp (direkt oder über LM Studio) ausführt. Auf dem Weg werden die einzelnen FAQ-Themen im Kontext beantwortet und nicht einfach ans Ende verbannt.

Vane ist bewusst als Antwort-Engine konzipiert, nicht als rekursives Forschungssystem, und es lohnt sich, diesen Unterschied präzise zu fassen. Selbst gehostete Deep-Research-Systeme: 12 Tools im Vergleich stellt Vane zwölf selbst gehosteten Recherche-Architekturen gegenüber und erklärt, warum „führt mehrere Suchen durch" nicht dasselbe ist wie „führt Deep Research durch".

Was Vane ist und wie KI-Suchmaschinen funktionieren

Auf hoher Ebene ist Vane eine Next.js-Anwendung, die eine Chat-Oberfläche mit Suche und Quellenangaben kombiniert. Die grundlegenden architektonischen Bausteine sind auch genau das, was man von einer modernen KI-Suchmaschine erwarten würde: API-Roots für Chat und Suche, eine Orchestrierung, die entscheidet, wann Recherche durchgeführt wird, und ein quellensensibler Antwort-Autor.

Wenn Sie eine Abfrage in der Benutzeroberfläche senden, ruft Vane POST /api/chat auf. Intern ist der Arbeitsfluss bewusst strukturiert:

  • Es klassifiziert zunächst die Frage, um zu entscheiden, ob Recherche benötigt wird und welche Hilfsprogramme ausgeführt werden sollten.
  • Es führt Recherche und Widgets parallel aus.
  • Es generiert die finale Antwort und schließt Quellenangaben ein.

Das Etikett „KI-Suchmaschine" ist wichtig, denn dies ist nicht nur eine Chat-Frontend-Anwendung. Der entscheidende Unterschied liegt in der Retrieval-Augmented Generation (RAG): Anstatt sich ausschließlich auf die Parameter des LLM zu verlassen, holt sich Vane externen Kontext (Webergebnisse und optional Benutzer-Uploads) und verwendet dieses Material als Grundlage für die finale Antwort. Die Doku bezeichnet Websuche und „Suche in von Benutzern hochgeladenen Dateien" explizit als Teil der Recherche, wobei Embeddings für die semantische Suche über Uploads verwendet werden.

Quellenangaben sind kein nachträglicher Gedanke. Vane weist das Modell an, die verwendeten Referenzen zu zitieren, und die Benutzeroberfläche rendert diese Quellenangaben dann neben der Antwort. In der Praxis ist genau das, was „hilfreiche" KI-Suche von einem selbstbewussten Halluzinations-Generator trennt, der zufällig eine Suchtaste hat.

SearxNG bildet in den meisten Setups die Schicht unter der Webrecherche. SearxNG ist eine freie Metasuchmaschine, die Ergebnisse aus vielen Suchdiensten aggregiert und per Design keine Nutzer verfolgt oder profilet. Das ist eine grundsätzlich andere Philosophie als bei bezahlten Such-APIs, die in der Regel nur einen Anbieter-Index und einen kommerziellen Datenvertrag bieten.

Von Perplexica zu Vane: Geschichte und Umbenennung

Perplexica startete als quelloffene, selbst hostbare Antwort-Engine, inspiriert von Perplexity AI. Mehrere öffentliche Leitfäden beschreiben das Projekt weiterhin als „früher bekannt als Perplexica" und betrachten Vane als Fortsetzung und nicht als feindlichen Fork.

Die Umbenennung wurde direkt im Upstream-Repository umgesetzt. In der Commit-Historie der Master-Branch erscheint der Commit mit dem Titel feat(app): rename to 'vane' am 09.03.2026 (SHA 39c0f19).

Das „Wie" ist interessanter als die Schlagzeile. Dieser Rename-Commit ist keine bloße README-Anpassung: Er aktualisiert die Docker-Imagenamen von itzcrazykns1337/perplexica zu itzcrazykns1337/vane, passt Container-Dateisystempfade von /home/perplexica zu /home/vane an und aktualisiert entsprechend die Projekttexte und Assets.

Falls Sie sich fragen, warum Open-Source-KI-Projekte umbenannt werden, ist Vane ein Lehrbuchbeispiel für die üblichen Treiber:

  • Die Namensnähe zu einer kommerziellen Marke erzeugt Verwirrung (und manchmal rechtliches Risiko).
  • Der Projektumfang erweitert sich über die ursprüngliche Rahmung hinaus (vom „Klon" zur „Antwort-Engine").
  • Verteilungsartefakte benötigen eine kohärente Identität (Docker-Images, Doku, UI-Labels).

Außerdem wechselt das Ökosystem nicht über Nacht die Namen. Docker Hub zeigt weiterhin beide Repositories unter dem Maintainer-Account, einschließlich itzcrazykns1337/vane und itzcrazykns1337/perplexica. Sie werden daher auch nach dem Rebrand des Repositories noch ältere Blogartikel, Compose-Dateien und Registry-Referenzen mit der Perplexica-Namensgebung sehen.

Docker-Quickstart und grundlegende Konfiguration

Das offizielle README von Vane ist erfrischend direkt: Führen Sie einen einzelnen Container aus, und Sie erhalten Vane plus einen gebündelten SearxNG-Suchbackend. Das minimale Docker-Quickstart sieht wie folgt aus.

docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest

Dieses Image wird als der „funktioniert einfach" -Pfad positioniert, da es SearxNG bereits enthält, sodass Sie kein externes Suchbackend benötigen, um nur die Benutzeroberfläche zu testen. Die Konfiguration erfolgt auf dem Setup-Bildschirm, nachdem Sie die Web-UI unter http://localhost:3000 geöffnet haben.

Wenn Sie bereits SearxNG betreiben (häufig in Homelabs), erwartet das „slim" Vane-Image, dass Sie es auf eine externe SearxNG-Instanz zeigen, indem Sie SEARXNG_API_URL verwenden. Das README weist auch auf zwei praktische Erwartungswerte für SearxNG-Einstellungen hin: JSON-Ausgabe aktiviert und der Wolfram Alpha-Engine aktiviert.

docker run -d -p 3000:3000 \
  -e SEARXNG_API_URL=http://your-searxng-url:8080 \
  -v vane-data:/home/vane/data \
  --name vane \
  itzcrazykns1337/vane:slim-latest

Das Aktualisieren von Vane ist auch im Repository dokumentiert. Der offizielle Update-Workflow besteht im Grunde darin, das neueste Image zu ziehen und mit demselben Volume neu zu starten, was die Einstellungen beibehält.

docker pull itzcrazykns1337/vane:latest
docker stop vane
docker rm vane
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest

Sobald es läuft, kann Vane als Verknüpfung für eine Browser-Suchmaschine verwendet werden, indem eine benutzerdefinierte Engine auf http://localhost:3000/?q=%s zeigt. Das ist eine kleine Funktion mit großer Wirkung, wenn Sie möchten, dass „KI-Suche" sich nach Suche anfühlt und nicht nach einer App, die man besucht.

Für Automatisierung und Integration bietet Vane eine API an. Die Doku beschreibt GET /api/providers, um konfigurierte Anbieter und Modelle zu entdecken, und POST /api/search, um eine Suche mit einem gewählten Chat-Modell, Embedding-Modell, Quellen und einem optimizationMode (Speed, Balanced, Quality) auszuführen.

Lokales LLM-Setup mit Ollama

Vane unterstützt lokale LLMs über Ollama und Cloud-Anbieter in derselben Benutzeroberfläche, was die richtige Abstraktion ist, wenn man in Begriffen von „Verbindungen" und „Modellen" statt von „Anbietern" denkt.

Ollama Spickzettel listet gängige CLI-Befehle und schnelle API-Prüfungen, die gut mit der Auswahl von Modellen und der Verifizierung von Ollama harmonieren, bevor man Docker-Netzwerkprobleme jagt.

Das häufigste Problem ist nicht die Modellauswahl, sondern das Netzwerk. Wenn Vane in Docker läuft und Ollama auf dem Host, bedeutet „localhost" aus dem Container heraus nicht, was Sie meinen. Vane dokumentiert OS-spezifische Basis-URLs zum Verbinden mit Ollama aus einem Container.

Verbindungsfallen mit Docker

Vanes Troubleshooting-Abschnitt empfiehlt ausdrücklich:

  • Windows und macOS: http://host.docker.internal:11434
  • Linux: http://<private_ip_of_host>:11434

Für Linux stellt Vane auch fest, dass Ollama standardmäßig an 127.0.0.1 gebunden sein kann und freigegeben werden muss. Das README schlägt vor, OLLAMA_HOST=0.0.0.0:11434 im systemd-Dienst zu setzen und den Dienst neu zu starten.

Das stimmt mit den eigenen serve-Umgebungsvariablen von Ollama überein, wobei OLLAMA_HOST die Server-Bind-Adresse steuert und standardmäßig 127.0.0.1:11434 ist.

Modelle warm halten und Modelle auswählen

Wenn Sie lokale Inferenz ausführen, werden Sie kalte Starts bemerken. Ollama hat zwei verwandte Mechanismen, um Modelle geladen zu halten:

  • OLLAMA_KEEP_ALIVE als Servereinstellung.
  • keep_alive als Parameter pro Anfrage für /api/generate und /api/chat, der den Server-Default überschreibt.

Vane hat eigene keep_alive-Unterstützung für Ollama-Modelle hinzugefügt (damit die App beeinflussen kann, wie lange ein Modell im Speicher bleibt). Diese Funktion erscheint in den Release Notes von Vane v1.10.0.

Die Modellauswahl ist der Teil, der im Internet oft überkompliziert wird. Für Vane-artige Aufgaben ist die praktischste Aufteilung:

  • Ein Chat-Modell, das für Instruktionen feinjustiert ist (für Zusammenfassungen und Synthese).
  • Ein Embedding-Modell für Ähnlichkeitssuche über Uploads und abgerufene Texte. Die API-Doku von Vane zeigt, dass die Suchanfrage ausdrücklich sowohl ein Chat-Modell als auch ein Embedding-Modell wählt.

Ollama selbst unterstützt Embedding-Workflows, und selbst die CLI-Doku enthält ein Beispiel, das nomic-embed-text für Embeddings verwendet.

Das ist auch die Antwort auf die FAQ zum Betrieb von KI-Suche lokal ohne Cloud-APIs: Mit Vane in Docker, SearxNG lokal und Ollama auf Ihrer Hardware können Sie sowohl Ihre Suchanfragen als auch Ihre privaten Dokument-Uploads innerhalb Ihrer eigenen Netzwerkgrenze halten. (Wenn Sie sich entscheiden, stattdessen einen Cloud-Anbieter zu verbinden, ändert die Verbindung natürlich den Datenpfad.)

Lokales LLM-Setup mit llama.cpp

Es gibt zwei realistische Wege, Vane mit llama.cpp zu kombinieren:

  • LM Studio als Server-Schicht verwenden (und Vane damit kommunizieren lassen).
  • Den eigenen HTTP-Server von llama.cpp (llama-server) ausführen und über einen OpenAI-kompatiblen Endpoint verbinden.

Vane unterstützt ausdrücklich „Lokale OpenAI-API-kompatible Server" und nennt die üblichen Anforderungen: an 0.0.0.0 binden statt an 127.0.0.1, den richtigen Port verwenden, einen Modellenamen setzen, der auf dem Server existiert, und das API-Key-Feld nicht leer lassen, selbst wenn der Server keine Authentifizierung erzwingt.

LM Studio ist hier relevant, da es auf lokalen Backends (oft llama.cpp) sitzt und eine OpenAI-kompatible API bereitstellt. Vane v1.12.1 erwähnt speziell die Hinzufügung eines LM-Studio-Anbieters.

Die Doku von LM Studio listet die unterstützten OpenAI-kompatiblen Endpoints auf und zeigt ein Basis-URL-Beispiel mit http://localhost:1234/v1 (unter der Annahme von Port 1234). Das ist wichtig, da es aus Vane-Sicht „einfach ein weiterer OpenAI-artiger Server" ist.

Wenn Sie lieber llama.cpp direkt ausführen, deckt llama.cpp Quickstart mit CLI und Server Installation, llama-cli und llama-server ab. Der offizielle llama.cpp-HTTP-Server unterstützt OpenAI-API-kompatible Chat-Completion-, Response- und Embedding-Roots sowie eine lange Liste von Serverfunktionen (Batching, Monitoring, Tool-Nutzung).

Selbst wenn Sie die Flags nicht auswendig lernen, sind die wichtigsten Teile:

  • Der Server existiert und wird aktiv dokumentiert.
  • Die API-Oberfläche ist kompatibel genug, dass OpenAI-artige Clients damit kommunizieren können, was genau das ist, was Vane für sein „OpenAI-kompatibles" Verbindungs-Muster benötigt.

Was kürzlich erschienen ist und was sich jetzt ändert

Wenn Sie verstehen wollen, was Vane im letzten Jahr geworden ist, folgen Sie den Release Notes und der Master-Branch-Historie, statt den Hype.

Stand 10.04.2026 (Australien/Melbourne) ist das neueste getaggte GitHub-Release, das auf der Releases-Seite sichtbar ist, v1.12.1 (31.12.2025). Diese Release Notes erwähnen die Hinzufügung eines LM-Studio-Anbieters und Fixes um das Funktionsaufrufen mit OpenAI-kompatiblen Anbietern und JSON-Parsing.

Die vorangegangenen Releases skizzieren die größeren Verschiebungen:

  • v1.11.0 (21.10.2025) führte einen neuen Setup-Assistenten und ein neu gestaltetes Konfigurationssystem ein, zusammen mit breiterer Anbieterunterstützung und einem Ein-Kommando-Docker-Installationpfad. Es erwähnt auch dynamisches Modell-Holen und verschiedene UI- und Developer-Experience-Verbesserungen.
  • v1.12.0 (27.12.2025) ist ein architektonischer Neustart: Es entfernt LangChain zugunsten einer eigenen Implementierung für Streaming, Generierung und anbieter-spezifisches Verhalten. Es benennt auch „Provider" in „Connections" um, fügt UI- und Code-Rendering-Verbesserungen hinzu und verlagert mehr Funktionsfähigkeit in die eigenen Abstraktionen des Projekts (einschließlich verbesserter Funktionsaufrufe im Vergleich zu früheren Parsing-Ansätzen).
  • Zuvor fügte v1.10.0 (20.03.2025) Datei-Uploads (PDF, TXT, DOCX) hinzu, fügte einen Ollama keep_alive-Parameter hinzu, fügte eine Metasuchagentenklasse hinzu, um Wartbarkeit und Fokusmodus-Erstellung zu verbessern, und fügte automatische Bild- und Videosuchfunktionen hinzu.

Auf der Marken-Seite landete die Umbenennung in Vane am 09.03.2026 in Master (feat(app): rename to 'vane'), wobei sowohl die Codebase-Namensgebung als auch die Docker-Artefakte aktualisiert wurden.

Und das Projekt hat die Evolution nach dem Release von Dezember 2025 nicht eingestellt. Commits im Master-Branch vom 08.-09.04.2026 enthalten Arbeiten, die als „aktualisierter Deep-Research-Modus, Kontextmanagement" beschrieben werden, sowie neue Suchausführungs- und Scraping-bezogene Änderungen. Mit anderen Worten, der „KI-Suchmaschinen"-Teil wird weiterhin aktiv iteriert und ist nicht hinter Release-Tags eingefroren.

Einige Referenzen

Abonnieren

Neue Beiträge zu Systemen, Infrastruktur und KI-Engineering.