28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# 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
|
|
|
|
1. Interface: CLI, später Sprache, Mobilzugriff und Living Mind.
|
|
2. Core: Gesprächsablauf, Sitzungszustand und Orchestrierung.
|
|
3. Providers: austauschbare lokale und optionale Cloud-Modellanbindungen.
|
|
4. Memory: strukturierte Laufzeitdaten und regenerierbarer semantischer Index.
|
|
5. Obsidian: zunächst lesender Adapter, später eng begrenzte Entwürfe.
|
|
6. Tools und Status: feste Schemas, Allowlists, Timeouts und bereinigte Ausgaben.
|
|
7. Security: Freigaben, Secret-Provider und Berechtigungsprüfung.
|
|
8. Audit: nachvollziehbare Aktionen ohne geheime Inhalte.
|
|
|
|
## Plattformgrenzen
|
|
|
|
- Pfade werden später per Konfiguration und `pathlib` aufgelö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.
|