# Hausmeister Bot - STATE **Stand:** 21.03.2026 **Status:** laeuft, aber in inkonsistentem Umbauzustand ## Kurzfassung Der Bot ist aktuell nicht in einem sauberen Zielzustand. Er wurde von `local-only` auf ein teilweises Hybrid-Routing umgebaut, ohne die Gesamtarchitektur sauber abzuschliessen. Dadurch funktioniert ein Teil der Anfragen besser, aber der Systemzustand ist inkonsistent und nicht final. ## Aktueller Live-Zustand - `hausmeister-bot.service` ist aktiv. - `llm.py` hat uncommittete Live-Aenderungen. - Standardmodell in `llm.py`: `qwen3-vl:32b` - Online-Textmodell in `llm.py`: `openai/gpt-4o-mini` - Auf dem Ollama-Server ist aktuell kein Modell vorgeladen (`/api/ps` leer). ## Was aktuell geroutet wird ### Lokal - normale Textaufgaben ohne Preis-/Recherche-Trigger - normale Bildaufgaben - Tool-Nutzung allgemein ueber `tool_loader` ### Online (`openai/gpt-4o-mini`) - Preisfragen - Web-/Recherchefragen anhand einfacher Keyword-Heuristik in `llm.py` - Bildanfragen mit Preisbezug ## Was daran kaputt / unsauber ist 1. Das System ist nicht mehr rein `local-first`. Standardziel war: Standardaufgaben lokal, online nur als klarer Sonderfall. Aktuell entscheidet eine einfache Triggerliste in `llm.py` ueber Online-Routing. 2. `deep_research` ist faktisch deaktiviert. In `tools/deep_research.py` steht `TOOLS = []`. Der Handler existiert noch, aber das LLM sieht das Tool nicht und kann es nicht normal aufrufen. 3. Es gibt gewachsene Sonderlogik in `llm.py`. Darin stecken u.a. Preis-/Einheitenregeln, Routing-Heuristiken und Bild-Sonderfaelle. Das ist funktional entstanden, aber architektonisch nicht sauber getrennt. 4. Der aktuelle Zustand ist nicht sauber versioniert. `homelab-ai-bot/llm.py` ist lokal geaendert, aber nicht committed. Der laufende Zustand und der Git-Stand sind also aktuell nicht identisch. 5. Das Vision-Standardmodell ist derzeit `qwen3-vl:32b`. Dieses Modell war auf der 3090 fuer Bot-Nutzung spuerbar zu langsam. Das Routing kompensiert das aktuell durch Online-Ausnahmen, loest aber nicht die Grundarchitektur. ## Was weiterhin funktioniert - Tool-Loader und Handler-System funktionieren grundsaetzlich. - Die meisten Tools sind modellunabhaengige Python-Handler und bleiben nutzbar: - `web_search` - `memory_*` - `get_feed_stats` - Proxmox / Loki / Grafana / Prometheus / Mail / SaveTV / Seafile / Tailscale / PBS / WordPress - Goldpreis-Test ueber `web_search` + `gpt-4o-mini` lieferte plausibles Ergebnis statt Gramm/Unze-Verwechslung. ## Was aktuell nicht als stabil gelten darf - `deep_research` - sauberes `local-first` Routing - Preis-/Recherche-Routing als finale Architektur - Bot-Verhalten bei weiteren Sonderfaellen ausserhalb des bisher getesteten Bereichs ## Eigentliches Zielbild - Standardaufgaben lokal - Bild-/OCR-/Scraper-Aufgaben lokal - Online nur fuer klar definierte Ausnahmen: - Preisfragen - Web-Recherche - Deep Research - Routing zentral und explizit im Code, nicht ueber gewachsene Prompt-Sonderregeln ## Naechster sinnvoller Schritt Kein weiterer Quick-Fix. Stattdessen sauberer Umbau von `llm.py` in eine klare Routing-Architektur mit drei expliziten Pfaden: 1. lokaler Standardpfad 2. lokaler Vision-Pfad 3. Online-Recherchepfad