Das ist Sift: Eine Wissensdatenbank für alles, was keine Notiz ist
TL;DR
Sift ist eine persönliche Wissensdatenbank, die ich über drei bis vier Monate gebaut habe. Sie nimmt alles auf — URLs, PDFs, Lesezeichen, Webseiten, Video- und Audiodateien — und macht alles nach Bedeutung durchsuchbar, nicht nur nach Stichwörtern, mit Bewusstsein dafür, wann Dinge gespeichert wurden. Sie läuft auf deiner eigenen Hardware, beantwortet Fragen mit deinem eigenen gespeicherten Material als Quellen und ergänzt Obsidian, statt es zu ersetzen. Ich habe sie als Open Source veröffentlicht unter github.com/pablooliva/sift. Dieser Beitrag ist die Geschichte, warum sie existiert, was ich beim Bauen gelernt habe und was dich erwartet, wenn du sie klonst.
Meine Lesezeichen haben mir Geld gespart
Vor ein paar Wochen habe ich eine Multimedia-Publishing-Pipeline für diese Seite entworfen. Ich brauchte Tools für Sprachsynthese und Videogenerierung und hatte ein ungefähres Budget im Kopf — etwa 56 $/Monat über mehrere SaaS-Abonnements verteilt.
Bevor ich mich festgelegt habe, habe ich meine Sift-Wissensdatenbank durchsucht. Sie hat zwei ComfyUI-Integrationen ans Licht gebracht, die ich eine Woche zuvor als Lesezeichen gespeichert hatte: Qwen3-TTS für lokales Voice Cloning und LTX-2.3 für Open-Source-Videogenerierung mit Portrait-Unterstützung. Ich hatte sie als einfache URL-Lesezeichen mit kurzen Beschreibungen gespeichert — die einfachste Form der Aufnahme überhaupt.
Diese beiden Ergebnisse haben die gesamte Pipeline von einem bezahlten SaaS-Stack zu einem 0-$-Ansatz mit lokaler Verarbeitung verschoben.
Ich hatte nicht mehr gewusst, dass ich sie gespeichert hatte. Ich hätte sie mit einer Stichwortsuche nicht gefunden. Ich habe nicht nach „ComfyUI" oder „Qwen3-TTS" gesucht. Ich habe nach dem gesucht, was sie tun. Sift hat die Bedeutung meiner Anfrage verstanden und sie mit Inhalten abgeglichen, an die ich seit dem Speichern kaum noch gedacht hatte.
Das ist es, was eine funktionierende externe Wissensdatenbank tatsächlich leistet. Sie bringt die richtige Information im richtigen Moment ans Licht, auch aus Inhalten, die du längst vergessen hast — besonders wenn diese Inhalte von Quellen stammen, denen du vertrauen gelernt hast.
Was Sift eigentlich ist
Wenn du dieser Serie gefolgt bist — erster Beitrag, zweiter Beitrag — dann ist Sift die nächste Schicht: alles, was keine lokale Textdatei ist.
Ganz einfach ausgedrückt: Sift ist eine persönliche Wissensdatenbank, die Dokumente jeder Art aufnimmt und abfragbar macht. Du kannst nach Bedeutung suchen, oder du kannst eine Frage stellen und eine Antwort mit Quellenangaben aus deinem eigenen Material erhalten.
Sie läuft auf deiner eigenen Hardware, größtenteils. Ich betreibe meine auf einem Home Server, aber sie funktioniert auf jedem Rechner mit Docker. Für einige AI-Workflows nutze ich einen LLM-Inference-Provider, aber deine Daten bleiben deine.
Sie ersetzt Obsidian nicht. Sie ergänzt es. Obsidian hält meine Arbeitsnotizen — Dinge, die ich schreibe, durchdenke und miteinander verknüpfe. Sift hält alles andere — Dinge, denen ich begegnet bin, die ich gespeichert habe und die ich später wiederfinden können will.
Wie es entstanden ist
Sift begann mit zwei Fragen.
Die erste war praktisch: Was wäre, wenn ich einen einzigen Sammelbehälter hätte für alles, was mir über den Weg läuft, unabhängig vom Medium? Einen Ort, an dem eine URL, ein PDF und eine Textnotiz alle im selben System durchsuchbar landen?
Die zweite war methodisch: Könnte ich ein echtes Projekt mit Spec-Driven Development (SDD) zusammen mit einem AI Coding Agent von Anfang bis Ende bauen? Kein schneller Prototyp, sondern ein sauber entwickeltes System mit formalen Spezifikationen, kritischen Reviews und dokumentierten Entscheidungen?
Drei Monate und 549 Commits später lautet die Antwort auf beides: Ja, mit Einschränkungen.
Die Technologieentscheidung
Ich habe txtai als Grundlage gewählt, weil es ein Rundum-sorglos-Paket war: Embeddings, Vektorsuche und eine Web-API in einem einzigen Python-Paket mit minimalen Abhängigkeiten. Keine separate Vektordatenbank zum Konfigurieren, keine zusätzlichen Dienste zum Betreiben. Für einen Proof of Concept war das entscheidend.
Was ich schnell herausfand, war, was „Rundum-sorglos-Paket" in der Praxis tatsächlich bedeutete. Einige der Standard-Modelle waren veraltet. Teile des Stacks blieben hinter eigenständigen Alternativen zurück. Der Komfort, der mich zum Start gebracht hatte, wurde zur Einschränkung, als das System reifte.
Das führte zu umfangreichen Anpassungen. Ich tauschte das Vektor-Backend gegen Qdrant für bessere Performance und Persistenz. Ich integrierte Graphiti und Neo4j für Knowledge-Graph-Fähigkeiten — um nicht nur zu verstehen, was ich gespeichert habe, sondern wie Konzepte zueinander in Beziehung stehen. Ich fügte Together.ai als LLM-Backend für RAG-Generierung hinzu, weil lokale Modelle nicht gut genug waren, um Antworten aus abgerufenem Kontext zu synthetisieren.
Im Nachhinein hätte ich txtai wahrscheinlich irgendwann komplett aufgeben und eine maßgeschneiderte Lösung von Grund auf bauen sollen. Aber auch in dieser Entscheidung steckt eine Lektion: Manchmal übersteigen die Kosten eines Neustarts die Kosten der Umgehung von Einschränkungen, besonders wenn das System bereits Mehrwert liefert. Die ComfyUI-Geschichte ist mit diesen Einschränkungen passiert.
Der Entwicklungsprozess
Die weniger offensichtliche Geschichte ist der Entwicklungsprozess selbst. Sift hat 45+ formale Spezifikationsdokumente — Anforderungen, Recherchen, kritische Reviews, Implementierungszusammenfassungen. Jede wesentliche Entscheidung wurde niedergeschrieben, bevor Code geschrieben wurde. Jede Spezifikation wurde kritisch geprüft, oft von Claude Code als zweite Perspektive auf das Design. Ein Claude Code Plugin, das ich entwickelt hatte, ließ diesen Entwicklungs-Workflow reibungslos laufen.
Das klingt wie Overkill für ein persönliches Projekt, und vielleicht ist es das auch. Aber die SDD-Artefakte erwiesen sich als wertvoll auf eine Art, die ich nicht erwartet hatte. Als ich sechs Wochen nach einer Designentscheidung auf einen Bug stieß, verriet mir die Spezifikation, warum ich diese Entscheidung getroffen hatte. Als ich eine Komponente austauschen wollte, zeigte mir das Recherche-Dokument, welche Alternativen ich bereits evaluiert und verworfen hatte. Die Prozessdokumentation wurde zu ihrer eigenen Form von Wissensmanagement.
Mit Vorsicht genießen
Ich veröffentliche das als Open Source, weil ich es für nützlich halte, nicht weil es poliert ist. Hier ist, was du wissen solltest:
txtai hat echte Einschränkungen. Einige Modelle im Standard-Stack sind veraltet, und wenn ich heute anfangen würde, würde ich wahrscheinlich auf einer anderen Grundlage aufbauen. Die ursprüngliche txtai-Anwendung brauchte 20 GB VRAM, die ständig belegt waren. Das war inakzeptabel und einer der Hauptgründe, warum ich das gesamte Refactoring begonnen habe, zusätzlich zum Hinzufügen und Verbessern von Features. Die Anpassungen, die ich vorgenommen habe, funktionieren und sind relativ sauber integriert, aber sie fügen Komplexität hinzu, die mit einer schlankeren Architektur nicht existieren würde.
Der Knowledge Graph ist vielversprechend, aber teuer. Graphiti nutzt LLM-Aufrufe, um Entitäten und Beziehungen aus Dokumenten zu extrahieren — ungefähr 12-15 Aufrufe pro Chunk. Das summiert sich schnell. All meine Obsidian-Notizen in Sifts Knowledge Graph zu importieren ist etwas, das ich tun möchte, aber noch nicht getan habe, weil die API-Kosten nicht trivial sind. Der Graph hat derzeit 796 Entitäten und nur 19 Beziehungen, was bedeutet, dass 97,7 % der Knoten isoliert sind. Es funktioniert, aber er ist noch nicht dicht genug, um die Art von Verbindungen aufzudecken, die ein ausgereifter Knowledge Graph bieten sollte.
Es läuft auf einem Home Server. Das Docker-Setup braucht einen Rechner mit ordentlicher Ausstattung. Das ist keine leichtgewichtige App. Ich werde die Hardware-Anforderungen im Repo dokumentieren, aber rechne damit, dass du mehr als einen Raspberry Pi brauchst.
Es ist ein persönliches Projekt mit persönlichen Kompromissen. Einige Entscheidungen optimieren speziell für meinen Workflow. Mancher Code könnte sauberer sein. Die SDD-Spezifikationen dokumentieren die Begründungen, damit du selbst beurteilen kannst, ob meine Kompromisse zu deinen Anforderungen passen.
Warum Open Source
Ein paar Gründe, und sie sind eher persönlich als strategisch.
Die KM-Serie macht Behauptungen über den Aufbau eines produktionsreifen Systems. Ohne ein öffentliches Repo musst du mir aufs Wort glauben. Mit einem kannst du es selbst überprüfen, klonen und ausführen.
Der Entwicklungsprozess — die 45+ Spezifikationen, die kritischen Reviews, die Recherche-Dokumente — ist genauso interessant wie der Code. Ich habe kein anderes persönliches Projekt auf GitHub gesehen, das mit diesem Niveau an Prozessdokumentation ausgeliefert wird. Wenn der SDD-Ansatz dich anspricht, ist das SDD/-Verzeichnis der richtige Ausgangspunkt.
Und ehrlich gesagt existiert nichts Vergleichbares im Ökosystem. Es gibt RAG-Demos, es gibt txtai-Beispiele, es gibt Knowledge-Graph-Tutorials. Aber dieses System kombiniert txtai + Graphiti + Neo4j + Qdrant + MCP Server + Nutzung durch einen AI Agent. Klingt das nicht faszinierend, all diese Technologien zusammen? Wenn deine Antwort ja ist... dann erkennt ein Nerd den anderen.
Das Repo ist live unter github.com/pablooliva/sift.
Was als Nächstes kommt
Dieser Beitrag ist die Ankündigung. Der technische Deep-Dive kommt im nächsten Beitrag der Serie, in dem ich Sifts Architektur im Detail durchgehe. Wenn du verstehen willst, wie es funktioniert, bevor du es klonst, ist das der richtige Beitrag zum Abwarten.
Danach werde ich behandeln, wie MCP und Claude Code Sift, CK Search und Obsidian zu einem einheitlichen System verbinden, das ein AI Agent über alle gleichzeitig abfragen kann. Dort werden die einzelnen Tools zu mehr als der Summe ihrer Teile.
Fürs Erste: Wenn du neugierig bist, hat das Repo ein README und eine Installationsanleitung. Klon es, mach es kaputt, schwärm drüber. Dafür ist es da.
Dieser Beitrag ist Teil der AI-Powered Knowledge Management Serie. Vorheriger: Bedeutung in deinen Notizen finden mit CK Search. Nächster: Beyond Obsidian — Eine externe Wissensdatenbank bauen mit Sift.