Der KI-Assistent unserer Familie — komplett auf eigener Hardware, ohne Cloud-Anbieter. Web-Chat und Handy-App, ein Konto pro Familienmitglied, und ein Gedächtnis, das sich merkt, was für die Familie wirklich zählt: Termine, Einkaufslisten, Erinnerungen, Vorlieben.
Kleo kann mehr als reden. Sie trägt Termine ein und sagt sie ab, führt Listen, erinnert von sich aus, beantwortet Wetterfragen und sucht im Web — jedes Mal über ein Werkzeug mit klarer Zuständigkeit, nie durch Raten. Und sie darf nur an genau die Stellen im Internet, die ausdrücklich freigegeben sind.
Our family's AI assistant — entirely on our own hardware, no cloud provider. Web chat and phone app, one account per family member, and a memory that keeps what actually matters to a household: appointments, shopping lists, reminders, preferences.
Kleo does more than talk. She creates and cancels appointments, keeps lists, reminds people on her own, answers weather questions and searches the web — each time through a tool with a clear responsibility, never by guessing. And she may only reach exactly those places on the internet that have been explicitly allowed.
Warum selbst bauen
Es gibt fertige Assistenten. Sie sind besser als meiner — und sie schicken jedes Wort, das in unserer Küche gesprochen wird, zu einem fremden Unternehmen. Bei einem Familien-Assistenten ist genau das der Inhalt: wer wann Zeit hat, was gekauft werden muss, wer wen wie nennt.
Also läuft alles hier. Die Modelle liegen auf eigener Hardware, das Gedächtnis in einer eigenen Datenbank, und das Ganze ist gleichzeitig mein Lernprojekt: Wenn man einen Assistenten selbst baut, versteht man sehr genau, wo sie schwierig werden.
Zwei Schichten statt eines großen Modells
Kleo hat eine Stimme — das Modell, das mit der Familie spricht — und dahinter Fach-Experten, die rechnen, planen oder zusammenfassen. Die Stimme entscheidet, ob eine Frage überhaupt jemanden dahinter braucht.
Das hat einen praktischen Grund: Die Stimme muss angenehm und schnell sein, weil man mit ihr redet. Ein Modell, das gut rechnet, ist selten auch das, mit dem man gern plaudert.
Die Regel, die am meisten Arbeit gemacht hat
Kleo täuscht keine Taten vor.
Das klingt selbstverständlich und ist es überhaupt nicht. Ein Sprachmodell, das gefragt wird „trag das bitte ein", antwortet von Natur aus „habe ich eingetragen" — weil das die Antwort ist, die im Text am wahrscheinlichsten folgt. Ob wirklich etwas eingetragen wurde, weiß es nicht, denn es hat nichts eingetragen; das täte ein Werkzeug.
Deshalb:
- Jede Aktion — Termin, Liste, Erinnerung — läuft über ein Werkzeug mit klarer Zuständigkeit.
- Die Stimme darf Listen lesen, aber nicht verändern. Ändern darf nur, wer dafür gebaut ist.
- Bei Mehrdeutigkeit wird nachgefragt, nicht geraten.
Gegengeprüft wurde das mit Absicht feindselig: 234 Sätze, die eine falsche Schreib-Aktion auslösen sollten. Null falsche Schreib-Aktionen. Bei den Listen separat: null irrtümlich angelegte und null irrtümlich gelöschte Einträge.
Ein Gedächtnis, das nachfragt
Kleo merkt sich Dinge über die Familie — aber nicht heimlich und nicht alles. Was in die Erinnerung soll, wird bestätigt. Es gibt eine private und eine familiengemeinsame Ebene, und der Assistent darf nicht aus der einen in die andere plaudern.
Der Gesprächsverlauf liegt bewusst getrennt von den Fakten. Ein Verlauf darf altern und verschwinden; ein Geburtstag nicht.
Die Wand nach draußen
Kleo ist ein Programm, das Texte von Familienmitgliedern verarbeitet und dabei ins Internet greifen kann. Das ist genau die Kombination, bei der man sich fragen sollte, was passiert, wenn jemand etwas Ungutes hineinschreibt.
Die Antwort ist keine Klugheit im Prompt, sondern eine Grenze davor: Kleo kommt grundsätzlich nicht ins Internet. Ausgehende Verbindungen laufen ausschließlich über eine Freigabeliste, die außerhalb ihrer Reichweite verwaltet wird — und dazu eine Netzwerkregel, die auch den Umweg zumacht. Was nicht auf der Liste steht, ist nicht erreichbar, egal wie überzeugend der Text war, der es verlangt hat.
Die Web-Suche läuft entsprechend nicht direkt, sondern über eine eigene, ebenfalls eingesperrte Suchinstanz.
Kinderkonten
Klara und Leo haben eigene Zugänge, ohne zweiten Faktor — ein Kind mit einer Zahlen-App vor dem Chat benutzt den Chat nicht. Stattdessen funktionieren die Kinderkonten nur zu Hause. Ist nicht sicher feststellbar, dass das Gerät zu Hause ist, wird der Zugang verweigert statt erlaubt. Im Zweifel zu.
Why build it myself
Ready-made assistants exist. They are better than mine — and they send every word spoken in our kitchen to somebody else's company. For a family assistant that is precisely the content: who has time when, what needs buying, who calls whom what.
So it all runs here. The models sit on our own hardware, the memory in our own database, and the whole thing doubles as my learning project: building an assistant yourself teaches you exactly where they get hard.
Two layers instead of one big model
Kleo has a voice — the model that talks to the family — and behind it specialists that calculate, plan or summarise. The voice decides whether a question needs anyone behind it at all.
There is a practical reason: the voice has to be pleasant and fast, because you talk to it. A model that is good at arithmetic is rarely the one you enjoy chatting with.
The rule that took the most work
Kleo never pretends to have acted.
That sounds obvious and is anything but. A language model asked "please put that in" will naturally answer "I've put it in" — because that is the most likely continuation of the text. Whether anything was actually entered it cannot know, because it entered nothing; a tool would have.
Hence:
- Every action — appointment, list, reminder — goes through a tool with a clear responsibility.
- The voice may read lists but not change them. Only what was built for it may write.
- On ambiguity it asks back instead of guessing.
This was checked deliberately adversarially: 234 sentences designed to trigger a wrong write action. Zero wrong write actions. For the lists separately: zero entries wrongly created and zero wrongly deleted.
A memory that asks first
Kleo remembers things about the family — but not secretly and not everything. What goes into memory gets confirmed. There is a private and a family-shared layer, and the assistant must not leak from one into the other.
The conversation history sits deliberately apart from the facts. A history may age and disappear; a birthday may not.
The wall facing outward
Kleo is a program that processes text written by family members and can reach the internet while doing so. That is exactly the combination where you should ask what happens if somebody writes something unpleasant into it.
The answer is not cleverness in the prompt but a boundary in front of it: Kleo has no internet access by default. Outbound connections go exclusively through an allow list managed outside her reach — plus a network rule that closes the detour as well. What is not on the list is unreachable, however convincing the text demanding it was.
Web search accordingly does not run directly but through a separate, equally caged search instance.
Children's accounts
Klara and Leo have their own logins without a second factor — a child facing a numbers app before the chat does not use the chat. Instead the children's accounts work only at home. If it cannot be established with confidence that the device is at home, access is denied rather than granted. When in doubt, closed.