homelab-brain/homelab-ai-bot/STATE.md
2026-03-21 01:45:09 +01:00

3.2 KiB

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