Ein persönlicher KI-Assistent, der nicht nur Fragen beantwortet, sondern mein Smart Home, Microsoft 365 und die Systeme meines Homelabs versteht: Mit JARVIS entsteht dafür eine eigene, kontrollierbare Plattform auf meiner Infrastruktur.
Die Idee orientiert sich natürlich an JARVIS aus den Iron-Man-Filmen. Mein Ziel ist jedoch keine Filmrequisite, sondern ein alltagstauglicher Assistent: per Sprache erreichbar, mit einem Gedächtnis für relevante Informationen und mit klar begrenzten Werkzeugen für Home Assistant, Kalender, E-Mail, Proxmox, OPNsense und weitere Dienste.
Das Projekt befindet sich in aktiver Entwicklung – und die erste große Etappe ist geschafft. Der lokale Kernservice, das kontrollierbare Gedächtnis, die OpenAI-Anbindung und eine geschützte Sprachoberfläche sind bereits produktiv nutzbar. Ich kann mich heute am Desktop und auf dem Smartphone mit JARVIS unterhalten; meine Spracheingabe wird verarbeitet und die Antwort anschließend vorgelesen. Diese Seite dokumentiert den erreichten Stand und die nächsten Ausbaustufen.
Das Ziel
JARVIS ist bereits über den Browser am Desktop und auf dem Smartphone verfügbar. Künftig soll die Oberfläche auch auf meinem Surface als festem Terminal laufen und später durch Sprachsatelliten in ausgewählten Räumen ergänzt werden. Die Bedienung soll natürlich wirken, ohne der KI unkontrollierten Zugriff auf mein Netzwerk zu geben.
- natürliche Sprachunterhaltung über eine Weboberfläche
- Smart-Home-Steuerung über Home Assistant
- Kalender, E-Mail und Aufgaben über Microsoft Graph
- Statusabfragen und Diagnose im Homelab
- kontrollierte Aktionen auf Proxmox, OPNsense und weiteren Diensten
- ein nachvollziehbares Gedächtnis mit Korrektur- und Löschmöglichkeit
- Bestätigungen für sensible oder kritische Vorgänge
Architektur: KI, Steuerung und ausführende Systeme trennen
Eine zentrale Entscheidung des Projekts ist die klare Trennung der Aufgaben. Das KI-Modell interpretiert eine Anfrage und formuliert die Antwort. Der selbst betriebene JARVIS Core verwaltet Kontext, Gedächtnis, Berechtigungen und Werkzeugaufrufe. Home Assistant, Microsoft Graph und die Programmierschnittstellen meiner Infrastruktur führen ausschließlich klar definierte Funktionen aus.
Spracheingabe / Weboberfläche
│
▼
JARVIS CORE
Gespräch · Gedächtnis · Regeln
Werkzeugauswahl · Freigaben · Protokollierung
│
┌───────┼────────┐
▼ ▼ ▼
OpenAI Home Microsoft 365
│
├── Home Assistant
├── Proxmox
├── OPNsense
├── NAS und Docker
└── Monitoring
JARVIS erhält damit weder ein allgemeines Administratorkennwort noch freien Zugriff auf alle Systeme. Jede Integration bekommt ein eigenes Dienstkonto und nur die Berechtigungen, die sie tatsächlich benötigt.
Der aktuelle Stand: JARVIS Core 0.3
Der technische Kern ist ein schlanker lokaler API-Dienst auf Basis von Python und FastAPI. Er läuft in einem Container und bildet die Grundlage für die weiteren Module. Inzwischen ist daraus ein nutzbarer persönlicher Sprachassistent geworden: Eine passwortgeschützte, für Mobilgeräte optimierte Weboberfläche verbindet Spracheingabe, Verarbeitung über OpenAI, vorgelesene Antworten und das bestehende Gedächtnis. JARVIS lässt sich damit am Desktop und auf dem Smartphone verwenden.

Technischer Kern
- Python 3.12
- FastAPI und Uvicorn
- Docker Compose
- SQLite im WAL-Modus
- persistentes Datenverzeichnis
- Health- und Statistik-Endpunkte
Bereits umgesetzt
- Erinnerungen anlegen und filtern
- Erinnerungen korrigieren
- logisches Löschen statt sofortiger Vernichtung
- Revisionshistorie bei Änderungen
- Duplikaterkennung
- Audit-Ereignisse für Änderungen
Ein Gedächtnis, das kontrollierbar bleibt
Ein persönlicher Assistent wird erst dann wirklich nützlich, wenn er sich an wichtige Informationen erinnern kann. Gleichzeitig darf nicht jeder Gesprächssatz ungeprüft dauerhaft gespeichert werden. Deshalb bewertet der JARVIS Core mögliche Erinnerungen nach Kategorie, Wichtigkeit, Zuverlässigkeit und Sensibilität.
Normale Erinnerungen werden nur dann automatisch aktiv, wenn ihre Wichtigkeit mindestens 0,75 und die Konfidenz mindestens 0,80 erreicht. Andere Inhalte bleiben zunächst Kandidaten. So kann der Assistent unsichere Angaben zurückhalten, statt sie als vermeintliche Tatsache zu behandeln.
- Kategorien: Profil, Präferenzen, Umgebung, Routinen, Projekte und Beziehungen
- Status: Kandidat, aktiv, ersetzt oder gelöscht
- Revisionen: Der vorherige Inhalt bleibt bei einer Korrektur nachvollziehbar.
- Duplikate: Normalisierte Inhalte verhindern identische aktive Erinnerungen.
- Ablaufdaten: Nachrichten und Erinnerungen können zeitlich begrenzt werden.
Zugangsdaten gehören nicht ins Gedächtnis
Bereits die erste Version blockiert Inhalte, die wie API-Schlüssel, Bearer-Tokens, Passwörter oder Zahlungsdaten aussehen. Solche Informationen werden nicht als normale Erinnerung gespeichert. Geheimnisse sollen ausschließlich über eine dafür vorgesehene, getrennte Verwaltung eingebunden werden.
Auch der Container selbst ist eingeschränkt: Das Dateisystem läuft schreibgeschützt, temporärer Speicher liegt in einem begrenzten tmpfs, Linux-Capabilities werden entfernt und zusätzliche Privilegien sind deaktiviert. Der eigentliche Kerndienst ist nicht direkt aus dem Internet erreichbar; der Zugriff erfolgt über die geschützte Weboberfläche innerhalb meiner Infrastruktur.
Betriebsplattform auf Proxmox
JARVIS läuft auf einer eigenen virtuellen Maschine auf meinem Proxmox-Server. Die VM sorgt für eine klare Trennung von anderen Diensten und lässt zugleich Spielraum für Container, Python-Abhängigkeiten sowie spätere Erweiterungen.
| Name | jarvis-core |
| Betriebssystem | Ubuntu Server 24.04 LTS |
| CPU | 4 virtuelle Kerne |
| Arbeitsspeicher | 8 GB |
| Systemlaufwerk | 64 GB |
| Netzwerk | VirtIO, feste DHCP-Zuordnung |
| Firmware | UEFI / q35 |
| Sicherung | regelmäßige Proxmox-Sicherungen und Snapshots vor größeren Ausbaustufen |
Große Dokumente, Bilder oder Sicherungen liegen nicht dauerhaft in der VM. Dafür stehen meine NAS-Systeme zur Verfügung. Der eigentliche JARVIS Core bleibt dadurch schlank, austauschbar und gut zu sichern.
Vier Sicherheitsklassen für Aktionen
Nicht jede Aktion hat dasselbe Risiko. Eine Temperaturabfrage darf unmittelbar erfolgen; das Löschen eines Termins oder eine Änderung an der Firewall dagegen nicht. Deshalb ist ein gestuftes Freigabemodell vorgesehen.
| Klasse | Beispiele | Verhalten |
|---|---|---|
| READ | Kalender lesen, Sensorwert oder Serverstatus abfragen | sofort ausführen |
| ACTION | Licht schalten, Szene starten, VM einschalten | nach klarer Zuordnung ausführen |
| SENSITIVE | E-Mail senden, Termin löschen, Tür öffnen | konkrete Rückfrage und Bestätigung |
| CRITICAL | Firewall ändern, Benutzer oder Daten löschen | starke Bestätigung oder grundsätzlich sperren |
Home Assistant als Smart-Home-Schicht
JARVIS soll nicht jede Lampe, Steckdose oder Kamera direkt ansprechen. Home Assistant bleibt die zentrale Abstraktionsschicht für Geräte, Räume, Szenen und Automationen. Der Assistent erhält nur definierte Werkzeuge wie Statusabfragen, das Schalten einzelner Entitäten oder den Start geprüfter Szenen.
„Jarvis, ich gehe ins Bett.“
Der Assistent startet eine geprüfte Gute-Nacht-Szene, statt selbstständig beliebige Geräteaktionen zusammenzustellen.
Microsoft 365 und mein digitaler Alltag
Über Microsoft Graph soll JARVIS später Kalender, E-Mails, Kontakte, Aufgaben und ausgewählte Inhalte aus OneDrive einbeziehen. Lesende Funktionen kommen zuerst. Schreibende oder löschende Aktionen benötigen eine Bestätigung; die dafür verwendeten Dienstkonten erhalten nur möglichst geringe, klar abgegrenzte Berechtigungen.
- „Was steht morgen in meinem Kalender?“
- „Gibt es wichtige neue E-Mails?“
- „Trage Freitag um 11 Uhr einen Termin ein.“
- „Bereite mir eine Zusammenfassung für morgen vor.“
Vom Assistenten zum Infrastrukturagenten
Besonders spannend wird JARVIS als kontrollierter IT-Assistent. Mit lesenden APIs kann er Zustände aus Proxmox, OPNsense, Home Assistant, NAS-Systemen, Docker und Monitoring zusammenführen. Statt nur einen einzelnen Messwert auszugeben, soll er Zusammenhänge erklären.
Bei der Frage, warum das Internet langsam wirkt, könnte JARVIS beispielsweise Gateway-Latenz, Paketverlust, DNS-Antwortzeiten und die Erreichbarkeit eines Endgeräts vergleichen. Schreibende Infrastrukturaktionen bleiben dagegen streng begrenzt und protokolliert.
Zugriff von unterwegs – aber ohne offene Ports
Der JARVIS Core ist nicht direkt aus dem Internet erreichbar. Der Zugriff von iPhone, iPad oder Notebook erfolgt ausschließlich über eine geschützte Verbindung in mein Heimnetz. Eine klassische Portweiterleitung auf den Assistenten ist nicht vorgesehen.
Die nächsten Ausbaustufen
Phase 1 – Core und Sprache: abgeschlossen
Status: abgeschlossen. Der Kernservice läuft auf der Proxmox-VM. Die Weboberfläche ist passwortgeschützt, für Desktop und Smartphone optimiert und ermöglicht bereits echte Sprachunterhaltungen über die OpenAI-API. Nach einer kurzen Sprechpause wird die Aufnahme automatisch verarbeitet und die Antwort vorgelesen. Auch das kontrollierbare Gedächtnis ist eingebunden und kann bei Bedarf deaktiviert werden.
Phase 2 – Home Assistant
Lesende Zustandsabfragen, definierte Schaltbefehle und geprüfte Szenen als erste echte Werkzeuge integrieren.
Phase 3 – Microsoft 365
Kalender und E-Mail zunächst lesend anbinden, anschließend bestätigungspflichtige Aktionen hinzufügen.
Phase 4 – Homelab und Netzwerk
Proxmox, OPNsense, NAS, Docker und Monitoring über eingeschränkte Service-Accounts für Diagnose und ausgewählte Aktionen verfügbar machen.
Phase 5 – Endgeräte und Raumterminals
Die vorhandene Weboberfläche zu einer installierbaren Progressive Web App für Surface, Mac, iPhone und iPad ausbauen und später Sprachsatelliten mit einem lokal erkannten Aktivierungswort ergänzen.
Was dieses Projekt bewusst nicht sein soll
JARVIS soll keine unkontrollierte KI mit Root-Zugriff auf mein gesamtes Netzwerk werden. Das System ist modular aufgebaut, jede Integration erhält nur die unbedingt erforderlichen Rechte und sensible Aktionen bleiben bestätigungspflichtig. Lokale KI-Modelle gehörten bewusst nicht zur ersten Phase: Zunächst sollte die zentrale Steuerung zuverlässig funktionieren. Zusätzliche Hardware, eine lokale Modellverwaltung und Offline-Funktionen können später folgen.
Zwischenstand
Mit dem lokalen Core, dem persistenten Gedächtnismodell, den ersten Sicherheitsmechanismen und der funktionierenden Sprachoberfläche ist Phase 1 abgeschlossen. JARVIS ist bereits am Desktop und auf dem Smartphone erreichbar und kann echte Sprachdialoge führen. Der nächste Meilenstein ist nun die Anbindung von Home Assistant, damit aus dem Gesprächspartner schrittweise ein kontrollierter Assistent für meinen digitalen Alltag und mein Zuhause wird.
Ich werde die Entwicklung, Entscheidungen, Fehler und späteren Integrationen auf dieser Seite fortlaufend dokumentieren. Aus einer zunächst spielerischen Idee soll so ein transparenter, kontrollierbarer und wirklich nützlicher persönlicher Assistent entstehen.
