
rag-stack
Self-hosted Agent-Governance- und RAG-Plattform für meine KI-Infrastruktur
rag-stack ist das Rückgrat meiner selbst gehosteten KI-Infrastruktur: eine Plattform, die KI-Agenten verwaltet und das gemeinsame Wissen (Retrieval-Augmented Generation) für alle meine Projekte bereitstellt. Ich habe sie gebaut, weil mehrere lokale und Cloud-Agenten denselben Wissensstand, dieselben Regeln und nachvollziehbare Abläufe brauchen, statt isoliert zu arbeiten. Statt eines monolithischen Systems läuft rag-stack als eigenständiger Dienst, der über HTTP eine Orchestrierungs-Oberfläche, Lesson-Speicher, Embedding-Pipeline und Governance-Regeln anbietet.
Technisch ist es ein Flask-Service hinter Gunicorn, betrieben in einem eigenen Container mit eigener SQLite-Datenbank, sauber per HTTP von der Web-Framework-Schicht getrennt. Die Wissensbasis nutzt lokale Embeddings über Ollama (nomic-embed-text mit 768 Dimensionen, bge-m3 mit 1024) und kombiniert FTS5-Volltextsuche mit semantischer Suche, Cross-Encoder-Reranking und Multi-Query-Rewriting. Jede gespeicherte Lesson trägt Herkunft, Vertrauensstufe, Autor und Status, KI-generierte Einträge bleiben bis zur menschlichen Freigabe aus der Suche gefiltert. Ein Secret-Scan vor jedem Schreibvorgang und ein durchgängiges Fail-Closed-Prinzip sichern die Datenhygiene ab.
Der Umfang ist über die Zeit beachtlich gewachsen: rund 120.000 Zeilen Code über etwa 177 Arbeitssitzungen seit Mai 2026. Dazu gehören 13 autonome Hintergrund-Worker, die per systemd-Timer regelmäßig Audits, Drift-Erkennung, Sicherheits- und Backup-Checks fahren, 24 host-weite CLIs für Kontext, Memory-Sync und Agent-Dispatch, sowie eine additive Plattform-Schicht mit Windmill-ähnlichen Primitiven wie verschlüsseltem Secret-Store, typisierten Ressourcen, RBAC und Suspend/Resume. Das System ist live und im Dauerbetrieb hinter Reverse-Proxy und SSO.
Lernpunkte
- Strikte HTTP-only-Trennung zweier Dienste mit eigener DB, eigenem Port und eigenem Dockerfile macht jeden Teil unabhängig deploy- und ausfallbar, ohne den anderen mitzureißen.
- Lokale Embeddings über Ollama liefern eine kostenlose, offline-fähige Wissensbasis und vermeiden laufende API-Kosten bei sich änderndem Korpus.
- Hybride Suche aus FTS5-Volltext plus semantischem Vektor-Retrieval mit anschließendem Reranking liefert deutlich robustere Treffer als ein einzelnes Verfahren allein.
- Ein Provenienz- und Vertrauensmodell pro Wissens-Eintrag, bei dem KI-generierte Inhalte bis zur menschlichen Prüfung gefiltert bleiben, verhindert, dass sich unverifizierte Aussagen im Korpus festsetzen.
- Sicherheitskritische Pfade konsequent auf Fail-Closed auszulegen und Secret-Scans vor jedem Schreibvorgang zu erzwingen, verhindert Leaks systematisch statt reaktiv.















