Krass, dass der letzte Beitrag inzwischen doch schon über zwei Monate her ist. Was ich in der Zwischenzeit gemacht habe? Das Übliche.
OpenClaw
Ich war ziemlich lange im KI-Agent-Rabbit-Hole gefangen. Nachdem ich mich lange dagegen gewehrt hatte, habe ich mir Anfang Mai dann doch mal OpenClaw angeschaut.
Und was soll ich sagen: Ich habe mich ziemlich schnell darin verloren. Ich habe mir meine persönliche Assistentin Nia erstellt und sie immer weiter in meinen Alltag integriert. Durch die History und den Zugriff auf eigene Tools ist das schon ein großer Unterschied zu normalen Chatbots.
nia-todo
Eines Abends wusste ich mal wieder nicht, was ich eigentlich alles erledigen wollte. Also habe ich in meiner To-do-App Todoist gestöbert und versucht, meine Gedanken zu sortieren.
Dabei kam mir die Idee, dass es mit den aktuellen Vibe-Coding-Möglichkeiten doch relativ einfach sein müsste, Todoist durch etwas Eigenes zu ersetzen. Also habe ich Nia einfach mal gebeten, mir eine Web-To-do-App zu erstellen.
Nach einigen Minuten bekam ich einen Link und landete auf der Weboberfläche einer kleinen, simplen To-do-App. Sie hatte sie nia-todo genannt.
Es war eine hübsche Oberfläche, in der man verschiedene To-dos anlegen und mit Prioritäten und Deadlines versehen konnte.
Meine Freundin wollte auch schon länger eine App, in der wir gemeinsame To-dos, Einkaufslisten und Ähnliches verwalten können. Also habe ich in den darauffolgenden Tagen damit begonnen, die Web-App um ein paar Funktionen zu erweitern. Ich habe responsive Unterstützung für Mobilgeräte eingebaut und daraus eine PWA (Progressive Web App) mit Offline-Modus gemacht.
Da mir das aber nicht reichte und ich anscheinend nicht wusste, was ich mit meiner vielen Freizeit anfangen soll 🤡, habe ich in den nächsten Wochen weitere Features hinzugefügt und das ganze Projekt auf GitHub zum Selfhosting veröffentlicht.
Der Name nia-todo ist geblieben, die App wurde inzwischen aber komplett überarbeitet. Es ist natürlich nach wie vor ein Vibe-Coding-Projekt, allerdings eines, in das mittlerweile ziemlich viel meiner Zeit geflossen ist.
Die Featureliste der aktuellen Version 2.12.2 ist mittlerweile doch relativ lang:
- Wiederkehrende Aufgaben mit täglichen, wöchentlichen, monatlichen oder jährlichen Intervallen
- Projekte und Unterprojekte
- Abschnitte zur Unterteilung von Projekten
- Projektfreigaben zwischen Benutzern
- Workspaces mit separaten Projekten, zum Beispiel für Privat und Beruf
- Erinnerungen, Push-Benachrichtigungen und ortsbezogene Erinnerungen unter Android
- BrainDump: Speech-to-Text und anschließende Umwandlung in To-dos per LLM
- Admin-Panel zur Serververwaltung
- Benutzerverwaltung
- E-Mail-Integration für Einladungen und Passwortzurücksetzungen
- Authentifizierung, API-Keys und CSRF-Schutz
- 2FA/MFA via TOTP, Passkey und E-Mail-Code
- OIDC-Unterstützung
- Offline-fähige PWA mit lokaler IndexedDB
- Android-App
- Windows-Desktop-App
- i18n, aktuell Deutsch und Englisch
- SQLite als Datenbank
nia-todo ist als Docker-Image und als Debian-Paket zur Serverinstallation verfügbar.
Spätestens mit dem BrainDump-Feature hatte ich Todoist endgültig ersetzt und mein Pro-Abo gekündigt. Ich verwende Whisper für STT und einen minimalen OpenClaw-Agenten, der den Prompt in To-dos umwandelt und in bestehende Projekte einsortiert.
Aktuell arbeite ich an Version 3.0, die ein überarbeitetes Design, Anhänge, Kommentare und Subtasks mitbringen wird.
Pocket ID und Tinyauth
Bisher hatte ich in meinem Homelab für jeden Dienst eigene Benutzer, weil ich immer zu faul war, OIDC beziehungsweise SSO einzurichten. Da ich OIDC-Unterstützung in nia-todo einbauen wollte, musste ich das aber endlich angehen, damit ich das Feature auch vernünftig testen konnte.
Also: keine Ausreden mehr.
Authelia, Authentik und Keycloak sind mir für meine Zwecke allerdings alle etwas zu aufgebläht. Darum habe ich mich für Pocket ID entschieden.
Das Besondere an Pocket ID ist, dass es zur Authentifizierung ausschließlich Passkeys unterstützt. Keine Benutzernamen, keine Passwörter.
Erst einmal aufgesetzt, war es sehr einfach, die meisten Dienste mit nativer OIDC-Unterstützung anzubinden. Für Dienste ohne OIDC-Support verwende ich Tinyauth als OIDC-Proxy.
Da NPMplus Tinyauth direkt als Auth-Proxy unterstützt, war die Einbindung hier ebenfalls denkbar einfach.
Nach einem Abend war mein gesamtes Homelab auf SSO umgestellt und ich frage mich, warum ich das nicht schon früher gemacht habe 😅
Gothic 1 Remake
Am 5. Juni wurde dann auch noch das Remake von Gothic 1 veröffentlicht. Ein Remake von einem der ersten Open-World-Spiele, in das ich mich als Kind verliebt hatte.
Also habe ich so ziemlich den ganzen Juni wieder im Minental verbracht und alles aufs Neue von vorne bis hinten erkundet.
Das Remake ist den Entwicklern von Alkimia Interactive absolut gelungen. Ich habe jede einzelne Sekunde genossen.
Das letzte Mal hatte ich mich, glaube ich, bei Witcher 3 so in einem Spiel verloren.
Wie geht’s weiter?
Das waren meine letzten zwei Monate. Vielleicht stelle ich euch im nächsten Post nia-todo nach dem Release von Version 3.0 genauer vor. Vielleicht schreibe ich auch endlich den versprochenen Folgepost zu CrowdSec.