Die meisten Werkzeuge für eigene Dokumente arbeiten nach dem RAG-Prinzip: Bei jeder Frage werden die Quellen neu durchsucht, Textschnipsel herausgezogen und dem Modell vorgelegt. Das funktioniert, hat aber einen Nachteil. Das Wissen bleibt roh. Es entsteht keine Struktur, nichts wird verknüpft, und bei jeder Frage beginnt die Arbeit von vorn.

Andrej Karpathy hat dazu ein anderes Muster beschrieben, das LLM Wiki. Die Idee: Das Wissen wird einmal in eine strukturierte, verlinkte Wissensbasis überführt und danach fortlaufend gepflegt. Der Mensch kuratiert, das Modell schreibt. Statt Textschnipsel entstehen echte Wiki-Seiten mit Verweisen aufeinander.

Karpathys Original ist ein Konzeptpapier, gedacht zum Kopieren in einen LLM-Agenten. Nash Su hat daraus eine vollständige Desktop-Anwendung gebaut. Sie heißt schlicht LLM Wiki, steht unter GPL-3.0 auf GitHub und hat dort inzwischen über 14.000 Sterne gesammelt.

Für mich ist das Projekt aus einem bestimmten Grund interessant: Es lässt sich vollständig mit lokalen Modellen betreiben. Kein API-Key, kein Cloud-Dienst, keine Dokumente, die das Haus verlassen. Genau das schauen wir uns in dieser Anleitung an.

LLM-WIKI - ollama architektur qwen38

LLM-WIKI – ollama architektur qwen38

Was die Anwendung mitbringt

Bevor es an die Installation geht, ein kurzer Überblick über das, was die App gegenüber dem reinen Konzept ergänzt.

Zweistufiger Ingest. Statt Lesen und Schreiben in einem Rutsch zu erledigen, analysiert das Modell erst die Quelle und erzeugt danach in einem zweiten Aufruf die Wiki-Seiten. Das kostet mehr Zeit, liefert aber deutlich bessere Struktur.

Bildbeschreibung durch ein Vision-Modell. Eingebettete Bilder aus PDFs werden extrahiert und beschrieben, danach sind sie über die Suche auffindbar.

Wissensgraph mit Clusteranalyse. Die Verlinkung zwischen den Seiten wird nicht nur gespeichert, sondern ausgewertet. Der Louvain-Algorithmus findet automatisch Wissenscluster, und die App weist auf isolierte Seiten und Lücken hin.

Obsidian-Kompatibilität. Das Vault ist ein normaler Ordner mit Markdown-Dateien, YAML-Frontmatter und Wikilinks. Obsidian kann ihn direkt öffnen. Es gibt keinen Lock-in.

Lokale API und MCP-Server. Auf Port 19828 stellt die App eine HTTP-Schnittstelle bereit. Damit können externe Agenten wie Claude Code oder OpenCode das Wiki durchsuchen und lesen.

Voraussetzungen

Für diese Anleitung brauchst du einen Linux-Desktop mit grafischer Oberfläche. LLM Wiki ist eine Desktop-Anwendung auf Tauri-Basis, kein Serverdienst. Ich nutze Ubuntu 24.04.

Dazu einen laufenden Ollama-Dienst. Bei mir läuft der auf einer separaten Maschine im Netz, einem Server mit zwei RTX A6000. Wer Ollama auf demselben Rechner betreibt, hat es einfacher, muss aber mit der Modellgröße vorsichtiger sein.

Prüfe zuerst, ob Ollama erreichbar ist. Ersetze die IP durch die deines Servers oder nutze localhost:

Befehl: curl -s http://192.168.2.57:11434/api/tags | head -c 400

Kommt eine JSON-Liste mit deinen Modellen zurück, ist alles in Ordnung.

Für dem Fall das nichts angezeigt wird und das Ollama auf einem anderen Rechner läuft, lauscht es vermutlich nur auf die Netzwerkadresse 127.0.0.1. Das Ollama auf alle Netzwerkadressen hört änderst du auf dem Ollama-Server wie folgt:

Befehl (auf dem Ollama-Server):

sudo systemctl edit ollama

Folgenden Abschnitt eintragen und speichern:

[Service]
Environment="OLLAMA_HOST=0.0.0.0"

Befehl (auf dem Ollama-Server):

Jetzt startest Du den Ollama Service auf dem Server neu.
Befehl: sudo systemctl daemon-reload

Befehl: sudo systemctl restart ollama

Schritt 1: Modelle bereitstellen

Die App nutzt mehrere Modellrollen, die sich getrennt konfigurieren lassen. Für den Ingest braucht es ein Modell, das strukturiert arbeitet und lange Kontexte verträgt. Für den Chat reicht dasselbe Modell, es kann aber auch ein anderes sein.

Wenn du die Bildbeschreibung nutzen willst, kommt zwingend ein Vision-Modell dazu. Ein Modell wie Qwen3.8 kann im Vergleich Bilder so vermute ich nicht so gut verarbeiten. Und aus eigener Erfahrung: Nimm beim Vision-Modell nicht das kleinste. Kleine Vision-Modelle beschreiben flüssig, raten aber bei Zahlen und Beschriftungen.

Befehl (auf dem Ollama-Server): ollama pull qwen3-vl:32b

Prüfe danach, welche Modelle bereitstehen. Die Namen brauchst du gleich wörtlich:

Befehl: ollama list

Schritt 2: Aktuelle Version ermitteln

Das Projekt veröffentlicht in hohem Takt, teils mehrere Versionen pro Woche. Eine feste Versionsnummer in einer Anleitung ist deshalb schnell veraltet. Ermittle die aktuelle Version stattdessen direkt:

Befehl: curl -s https://api.github.com/repos/nashsu/llm_wiki/releases/latest | grep '"tag_name"'

Zum Zeitpunkt dieses Artikels kam dabei heraus:

"tag_name": "v0.6.8",

Für Linux stehen mehrere Pakete bereit: ein Debian-Paket, ein RPM und ein AppImage, jeweils für x86_64 und ARM64. Für Ubuntu ist das Debian-Paket der bequemste Weg.

Schritt 3: Paket herunterladen

Setze die Versionsnummer aus Schritt 2 in eine Variable, dann bleiben die folgenden Befehle unverändert nutzbar:

Befehl: VER=0.6.8

Befehl: mkdir -p ~/LLM-WIKI

Befehl: cd ~/LLM-WIKI && wget https://github.com/nashsu/llm_wiki/releases/download/v$VER/LLM.Wiki_${VER}_amd64.deb

Beachte die Schreibweise des Dateinamens. Der Punkt zwischen LLM und Wiki ist kein Tippfehler, so heißen die Dateien im Release.

Das Projekt veröffentlicht zu jeder Datei eine SHA256-Prüfsumme. Die sollte man kontrollieren, gerade bei Software aus dem Netz:

Befehl: sha256sum LLM.Wiki_${VER}_amd64.deb

Vergleiche das Ergebnis mit der Prüfsumme auf der Release-Seite unter der jeweiligen Datei. Stimmen sie nicht überein, brich ab und lade neu.

Schritt 4: Installieren

Befehl: sudo apt install ./LLM.Wiki_${VER}_amd64.deb

Die Schreibweise mit vorangestelltem ./ ist wichtig. Ohne sie sucht apt ein Paket dieses Namens in den Repositories und findet nichts.

Fehlende Abhängigkeiten löst apt dabei automatisch auf. Tauri-Anwendungen brauchen unter Ubuntu die WebKitGTK-Bibliotheken, die auf einem normalen Desktop meist schon vorhanden sind.

Danach startest du die App aus dem Anwendungsmenü oder vom Terminal:

Befehl: llm-wiki

Jetzt sollte sich auf dem Desktop die folgende Anwendung öffnen.

LLM-WIKI initial start screen

LLM-WIKI initial start screen

Wer kein Paket installieren möchte, nimmt stattdessen das AppImage. Es läuft ohne Installation, muss aber einmal ausführbar gemacht werden:

Befehl: chmod +x LLM.Wiki_${VER}_amd64.AppImage && ./LLM.Wiki_${VER}_amd64.AppImage

LLM Wiki aktualisieren

Das Projekt veröffentlicht in hohem Takt. Es lohnt sich also, das Aktualisieren von Anfang an zu kennen. Der gute Teil zuerst: Deine Projekte und Einstellungen liegen im Home-Verzeichnis, nicht im Paket. Ein Update lässt sie unberührt.

Ermittle zuerst wieder die aktuelle Version, so wie in Schritt 2:

Befehl: curl -s https://api.github.com/repos/nashsu/llm_wiki/releases/latest | grep '"tag_name"'

Setze die neue Nummer in die Variable, ohne das vorangestellte v:

Befehl: VER=0.6.8

Vor dem Update schließt du die App, falls sie noch läuft. Ein Backup des Projektordners kostet nichts und ist gerade bei einem so jungen Projekt eine gute Angewohnheit, weil sich zwischen Versionen auch mal das Schema oder das Frontmatter-Format ändern kann:

Befehl: cp -r ~/mag-pi ~/mag-pi-backup

Dann lädst du das neue Paket herunter und installierst es über die vorhandene Version. apt erkennt das als Upgrade und ersetzt die alte Installation:

Befehl: cd ~/LLM-WIKI

Befehl: VER=0.6.9

Befehl: wget https://github.com/nashsu/llm_wiki/releases/download/v$VER/LLM.Wiki_${VER}_amd64.deb

Befehl: sudo apt install ./LLM.Wiki_${VER}_amd64.deb

Ob das Update angekommen ist, prüfst du so:

Befehl: apt show llm-wiki 2>/dev/null | grep Version

Wer das AppImage statt des Debian-Pakets nutzt, hat es noch einfacher. Hier gibt es kein echtes Update, du lädst schlicht die neue AppImage-Datei herunter, machst sie ausführbar und ersetzt die alte. Da alle Projektdaten im Home-Verzeichnis liegen, findet die neue Version deine Projekte automatisch wieder.

 

Hier geht es weiter zu Teil 2/2: https://ai-box.eu/ai-pipeline/llm-wiki-mit-ollama-und-qwen3-8-27b-lokal-betreiben-teil-2-2/2737/