Case Study
kleinanzeigen-bot-ui
Open-Source-Weboberfläche rund um den Upstream kleinanzeigen-bot
kleinanzeigen-bot-ui ist eine selbst hostbare Open-Source-Weiterführung rund um den bestehenden Upstream kleinanzeigen-bot. Sie übersetzt datei-, CLI- und browserbasierte Automatisierung in eine moderne Oberfläche für Anzeigen, Jobs, Nachrichten und mehrere getrennte Arbeitsbereiche.
Die Herausforderung
Der Upstream-Bot stellt leistungsfähige Automatisierung bereit, verlangt jedoch den sicheren Umgang mit YAML-Dateien, CLI-Befehlen, Browser-Sessions und asynchronen Zuständen. Parallele Browserläufe können zudem Login-Konflikte und Schreibzugriffe erzeugen, während MFA oder manuelle Anmeldung weiterhin sichtbar steuerbar bleiben müssen.
Die Lösung
Die Weiterführung legt Anzeigenverwaltung, KI-gestützte Erstellung, Status-Synchronisation, Zeitpläne und Messaging über die vorhandenen Bot-Funktionen. Eine FIFO-Queue begrenzt die Ausführung bewusst auf einen Job, Live-Logs erklären den Zustand, und MFA- sowie noVNC-Flows ermöglichen kontrollierte Eingriffe; Workspace-Isolation trennt Daten und Browserprofile mehrerer Nutzer.
Das Ergebnis
Entstanden ist eine umfangreiche self-hosted Verwaltungsoberfläche mit 94 REST-Endpunkten für Anzeigen, Bot-Steuerung, Jobs, Authentifizierung, Nachrichten, Zeitpläne und Systemfunktionen. Das Projekt bleibt ausdrücklich eine Open-Source-Fortführung um den Upstream kleinanzeigen-bot und ersetzt oder vereinnahmt dessen Ursprung nicht.
Systembausteine
Was die Lösung konkret ausmacht
Drei Bausteine, die aus dem Konzept ein nutzbares System machen.
Anzeigen als Arbeitsoberfläche
CRUD, Bilder, Vorlagen, Bulk-Aktionen, KI-Vorschläge und Status-Synchronisation machen den dateibasierten Bestand visuell bearbeitbar.
Kontrollierte Bot-Ausführung
FIFO-Jobs, Live-Logs, Abbruch, MFA und ein eingebetteter noVNC-Browser bilden auch problematische Läufe transparent ab.
Self-hosted und mehrbenutzerfähig
Authentifizierung, Rollen und Workspace-Isolation trennen Anzeigen, Einstellungen, Zeitpläne und Browserprofile innerhalb einer Installation.