WerkWorks / Weave Gesamtarchitektur

Architektur · 03.10.2026 · v0.7.0

Weave Gesamtarchitektur

Sechs Dienste in zwei Pipelines: offline kompiliert Weave-Ingest Dokumente in einen durchsuchbaren Chunk-Store, online entscheidet der Router pro Anfrage, ob dafür überhaupt gesucht werden muss.

Weave Gesamtarchitektur Offline nimmt Weave-Ingest Dokumente entgegen und meldet sie per Event an Weave-Knowledge, das Chunks und Vektoren in einen Postgres-Chunk-Store schreibt. Online nimmt Weave-API Anfragen entgegen und reicht sie an Weave-Runtime, das nur für Wissensfragen Weave-Retrieval aufruft, welches den Chunk-Store lesend durchsucht. Weave-Tools stellt dieselbe Suche rechte-gebunden als MCP-Dienst bereit. OFFLINE · INGESTION-PIPELINE ONLINE · BOT-PIPELINE DATEIEN EVENT INDEX READ-ONLY HTTPS CHAT SEARCH AKTIONEN Nicht jede Anfrage braucht RAG. INPUT Quellen Upload · Mail · Confluence P1 Weave-Ingest :8000 · OCR → Markdown P2 Weave-Knowledge :8001 · Chunks + Vektoren STORE Chunk-Store Postgres · pgvector INPUT Clients Chat-UI · REST P4 Weave-API :8004 · Gateway · Verlauf P4 Weave-Runtime :8003 · Router · LLM P3 Weave-Retrieval :8002 · Hybrid · Rerank P4.5 Weave-Tools :8005 REST · :8008 MCP LEGENDE Kern der Architektur Dienst, umgesetzt offen (Phase 5) HTTP-Aufruf Daten / Index

Offline: Dokumente werden kompiliert

  • Weave-Ingest (früher PaddleDoc) macht aus PDF, Office, Bildern, Mail und Confluence strukturiertes Markdown mit YAML-Frontmatter, Versionskette und Quality-Gate
  • Verarbeitet heißt noch nicht indiziert: document.processed wird nur mit awaiting_release quittiert. Erst die manuelle Freigabe im Wissensportal erzeugt einen unveränderlichen Snapshot und mit ihm document.released — das einzige Event, das Knowledge regulär indiziert. Grade C mit Empfehlung „block" kommt gar nicht erst so weit
  • Weave-Knowledge chunkt strukturbewusst (Überschriften, Seitenmarker, Tabellen bleiben ganz), reichert Metadaten an und schreibt Vektoren
  • Eine neue Dokumentversion ersetzt die Chunks der Vorversion in derselben Transaktion

Online: Anfragen werden geroutet

  • Der Intent-Router entscheidet pro Anfrage: Smalltalk, Wissensfrage, Dokument, Aktion oder mehrstufig — nur Wissensfragen lösen eine Suche aus
  • Weave-Retrieval sucht hybrid (Vektor + Volltext), fusioniert per RRF und rerankt auf die besten fünf Treffer
  • Das Team des Anfragenden ist eine harte Grenze in der Datenbankabfrage — nicht ein Filter danach
  • Ohne Belege antwortet der Bot mit dem konfigurierten Hinweis statt mit einer unbelegten Antwort
  • Bots im Agentenmodus planen Teilfragen und lassen sie parallel von Rechercheprofilen bearbeiten, die je an feste Wissensbereiche gebunden sind — eine Recherche ohne Treffer wird als benannte Lücke gemeldet, nie überspielt

Stand

  • Neun Dienste laufen — sechs Kern-, zwei Modelldienste, die Chat-Oberfläche — als ein Monorepo mit einer Konfiguration (weave.yaml)
  • Bots sind YAML-Dateien, keine neuen Deployments
  • Eigene Chat-Oberfläche (services/chat) mit Streaming, Quellen und Collection-Filter; generische OpenAI-kompatible Clients können optional dieselbe Weave-API nutzen
  • Wissenssammlungen sind benannte Collections — in Ingest „Wissensbereiche“ — mit read_teams; Administratoren pflegen sie in der Oberfläche, Knowledge spiegelt sie per Registry-Sync
  • Anmeldung föderiert an Ingest (ADR-0006): eine Anmeldung für Portal und Chat. Weave-Tools bedient REST (:8005) und MCP (:8008) als zwei Container auf demselben Image, beide rechte-gebunden
  • Externe Integrationen und Agenten erhalten eine technische Identität (wti_…-Token) mit administrativ zugewiesenen Wissensbereichen, Rotation, Ablauf und Audit-Log — ohne explizite Zuweisung kein Wissenszugriff
  • n8n-Bots werden zentral in Ingest verwaltet, streamen jetzt über Vertragsversion 2 mit Keepalives für lang laufende Züge; Runtime liest die aktivierten Einträge pro Anfrage und schneidet ihren Umfang mit den Nutzerrechten. Lokale YAML-Bots bleiben als Fallback
  • Katastrophenfall: eine passphrasegeschützte Sicherung aller Ingest-Daten lässt sich auf einer frischen Installation importieren, danach baut sich der Wissensindex aus den Freigaben selbst wieder auf; das Admin-Bereich bietet zusätzlich manuelle Index-Wartung (Vektoren neu berechnen, Index neu aufbauen, einzeln nachindizieren)
  • Seit v0.7.0 horizontal skalierbar: Originale, Ergebnisse und Bilder liegen in PostgreSQL statt auf einem gemeinsamen Volume; OCR und Import/Freigabe laufen in zwei Worker-Pools, jeder Auftrag trägt ein Übernahme-Token mit Heartbeat, und das Helm-Chart prüft das Verbindungsbudget aller Repliken
  • MCP-Clients wie VS Code melden sich seit v0.7.0 auch per SSO (Entra ID, Keycloak) an; Ingest ordnet das Zugriffstoken einem vorhandenen Nutzer zu, die Rechte kommen aus dessen Teams
  • Offen: Aktions-Werkzeuge (E-Mail, CRM, Web) hinter dem Intent-Router — und eine Oberfläche für die YAML-Bots, die weiterhin nur als Dateien im Volume gepflegt werden