LoreKeeper
Architektur

Systemarchitektur Übersicht

Fastify v5, Directus SDK, LiteLLM Orchestrierung und Fail-Fast Systemarchitektur

Systemarchitektur

Der LoreKeeper Service ist modular aufgebaut und trennt strikt zwischen API-Routing, Datenbankpersistenz und KI-Orchestrierung.

graph TD
    Client[Client / Redakteur / Agent] -->|HTTP / JSON| Fastify[Fastify v5 Backend Service]
    
    subgraph "LoreKeeper Service Container"
        Fastify --> Env[Zod Config .env]
        Fastify --> DirectusPlugin[Directus SDK Plugin]
        Fastify --> LoreService[AgenticLoreService]
    end

    DirectusPlugin -->|Healthcheck Ping / REST| Directus[Remote Directus Headless CMS]
    Directus --> Hook[liberino-schema-hook]
    Directus --> NeonDB[(Neon.tech PostgreSQL)]
    
    LoreService -->|OpenAI SDK Client| LiteLLM[LiteLLM Proxy :4000]
    LiteLLM -->|router-model| GeminiFlash[Google Gemini 2.5 Flash]
    LiteLLM -->|writer-model| GeminiPro[Google Gemini 2.5 Pro]

Technologie-Stack im Detail

SchichtTechnologieBegründung & Rolle
API-FrameworkFastify v5 (TypeScript)Schneller als Express, native Plugin-Architektur, standardisierte Schema-Validierung und integriertes Pino-Logging.
KonfigurationZod + dotenvStrikt typisierte .env-Validierung; bricht sofort ab (Fail-Fast), wenn Variablen fehlen.
Headless CMSDirectus 12Liefert relationale Datenbankverwaltung, Admin-UI, Rollenmanagement und Webhook-Trigger.
CMS Extensionliberino-schema-hookDeklaratives Schema-Management: synchronisiert Collections, Relationen und UI-Felder beim Directus-Start.
KI-ProxyLiteLLMNormalisiert LLM-Zugriffe auf OpenAI-kompatible Schnittstellen und leitet logische Modelle an Google Gemini weiter.
KI-ModelleGemini 2.5 Flash & ProFlash für schnelle Intent- & Abfrageplanung (Router), Pro für narrative Prosa und komplexe Konsistenzprüfungen (Writer).
ContainerDocker & ComposeMulti-Stage Build (Node 20 Alpine) mit non-root Benutzerrechten für maximale Sicherheit.

Lebenszyklus einer Anfrage

  1. Eingangsvalidierung: Fastify validiert den eingehenden JSON-Body über Zod-Schemata.
  2. Intent & Abfrageplanung: Der router-model Agent analysiert das Ziel der Szene und identifiziert benötigte Figuren, Schauplätze und Regeln.
  3. Deterministisches Laden: Directus liefert kanonische Datensätze aus PostgreSQL via @directus/sdk.
  4. LLM-Synthese: Der writer-model Agent generiert die Prosa mit injiziertem Kanon-Wissen.
  5. Persistenz & Rückgabe: Das Ergebnis wird optional in Directus (scenes) gespeichert und an den Client übergeben.

On this page