1.2 KiB
1.2 KiB
Architektur
Ziel
Javis beginnt als modularer Monolith. Module besitzen klare Zuständigkeiten und kommunizieren über kleine, typisierte Schnittstellen. Erst reale Betriebsgründe rechtfertigen später separate Dienste.
Vorgesehene Ebenen
- Interface: CLI, später Sprache, Mobilzugriff und Living Mind.
- Core: Gesprächsablauf, Sitzungszustand und Orchestrierung.
- Providers: austauschbare lokale und optionale Cloud-Modellanbindungen.
- Memory: strukturierte Laufzeitdaten und regenerierbarer semantischer Index.
- Obsidian: zunächst lesender Adapter, später eng begrenzte Entwürfe.
- Tools und Status: feste Schemas, Allowlists, Timeouts und bereinigte Ausgaben.
- Security: Freigaben, Secret-Provider und Berechtigungsprüfung.
- Audit: nachvollziehbare Aktionen ohne geheime Inhalte.
Plattformgrenzen
- Pfade werden später per Konfiguration und
pathlibaufgelöst. - Betriebssystemspezifische Funktionen liegen hinter Adaptern.
- Produktname, Datenpfade und Provider werden zentral konfiguriert.
- Laufzeitdaten liegen außerhalb von Git.
Noch nicht implementiert
Es existieren nur Paketgrenzen und Dokumentation. Es gibt keinen Chat, Provider, Speicher, Toolaufruf oder Netzwerkdienst.