78 lines
3.2 KiB
Markdown
78 lines
3.2 KiB
Markdown
# 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
|