homelab-brain/homelab-ai-bot/tools
Homelab Cursor d82b6f97ef feat(chatlogger): multi-tenant + Jarvis tool integration
Phase 2 of the chatlogger feature.

Multi-tenant:
- chatlogger-bot.service -> chatlogger-bot@.service (systemd template)
- /opt/chatlogger/<instance>.env per bot, all share /opt/chatlogger/chats.db
- existing bot migrated: chatlogger-bot@arakawa.service
- adding a second group bot is now: cp arakawa.env <name>.env, edit token+chats,
  systemctl enable --now chatlogger-bot@<name>

Jarvis (hausmeister-bot) tool:
- homelab-ai-bot/tools/chatlog.py (autodiscovered by tool_loader.py)
- 4 tools: chatlog_list_chats, chatlog_recent, chatlog_search, chatlog_since
- Reads SQLite directly via sys.path += /opt/homelab-brain/chatlogger
- SYSTEM_PROMPT_EXTRA tells the LLM when to use these (Concierge, Airbnb,
  Listing, 'aktueller Stand', 'wer hat zugesagt', 'muss ich reagieren').

Tested live: hausmeister-bot loads 48 tools (44 + 4 new), all chatlog
handlers callable, returns real messages from the @arakawa_concierge_bot
recording of -1003924901022.
2026-05-01 12:13:00 +02:00
..
__init__.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
api_costs.py feat(bot): API-Kosten Tool — OpenRouter Guthaben/Verbrauch per Chat abfragen 2026-03-21 12:13:58 +01:00
chatlog.py feat(chatlogger): multi-tenant + Jarvis tool integration 2026-05-01 12:13:00 +02:00
deep_research.py refactor(llm): Local-First Routing mit Sonar-Websuche 2026-03-21 12:06:00 +01:00
feeds.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
forgejo.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
grafana.py fix(grafana): Umlaute, °C, saubere Formatierung fuer Temperaturen/Energie/Heizung 2026-03-21 02:02:29 +01:00
loki.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
mail.py Mail-Tool: Zeitraum-Abfrage + bessere Tool-Beschreibungen fuer LLM 2026-03-16 21:19:10 +07:00
matomo.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
memory.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
openmemory.py Hausmeister Kumpel-Modus: OpenMemory (CT 122) angebunden 2026-03-24 14:03:19 +01:00
pbs.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
predict.py feat(hausmeister): Host-Suppression via ALERT_SUPPRESS_HOSTS 2026-04-24 15:57:14 +02:00
prometheus.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
proxmox.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
rag.py rag: LLM-Query-Rewrite (Stufe B, gpt-4o-mini) als Default-Modus 2026-04-17 21:46:15 +02:00
savetv.py feat(savetv): erweitere Wunschfilm-Liste 2026-04-26 19:53:23 +02:00
savetv_country_filter.py feat(savetv): Der Clou als geschuetzten Wunschfilm aufnehmen 2026-04-26 19:53:23 +02:00
seafile.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00
services.py Domains: rss-manager.orbitalo.net + redax.orbitalo.net ins Service-Verzeichnis 2026-03-16 15:59:55 +07:00
tailscale.py Neue Tools: tailscale.py (Netzwerk-Status) + grafana.py (Dashboard-Status) 2026-03-16 16:08:26 +07:00
web_search.py fix(bot): Einheiten-Falle loesen — min 5 Ergebnisse bei Preisfragen, Gramm/Unze Warnung in Prompt und Suchergebnissen 2026-03-21 00:29:32 +01:00
wordpress.py Plugin-System: tools/*.py auto-discovery, eine Datei pro Tool 2026-03-16 14:25:22 +07:00