a1fa212da4
fix regex typo: allemagne
2026-03-31 11:24:22 +00:00
218858314d
fix: should_exclude_production_country calls load_filminfo_cache
2026-03-31 11:24:16 +00:00
830682945b
Add savetv_country_filter: exclude DE/FR production countries from film selection
2026-03-31 11:24:04 +00:00
Homelab Cursor
eb47bcb8d1
feat(savetv): Jellyfin-Filter, Archiv-Cache, Stabilitäts-Fixes
...
- savetv_web.py: Archiv-Cache mit Hintergrund-Refresh (kein Blockieren bei Save.TV-Login)
- savetv_web.py: Flask threaded=True für parallele Requests
- savetv_web.py: Jellyfin-Duplikate-Filter (Checkbox, default: ein)
- tools/savetv.py: Login-Timeout (8s connect, 20s read) + modernerer User-Agent
- savetv_sync.py: Dateien unter 700 MB werden übersprungen (kein SD-Schrott)
- CT 116: www.save.tv statisch in /etc/hosts → kein DNS-GIL-Block mehr
- CT 116: RAM von 512 MB auf 1 GB erhöht (war der Hauptgrund für Einfrieren)
2026-03-28 20:55:12 +01:00
Homelab Cursor
3b6ee14b37
fix(rag): timeout 45s, RRF rank-map bug fix
2026-03-28 16:54:20 +01:00
Homelab Cursor
a3735bf265
fix(rag): RRF fusion, 512-char snippets, 15 candidates — speed+quality
2026-03-28 16:51:06 +01:00
Homelab Cursor
da0d1cd16c
feat(rag): Cross-Encoder Reranking via CT123 bge-reranker-v2-m3
2026-03-28 16:37:56 +01:00
Homelab Cursor
8b78cf0854
rag: docnm_search (Boost 5.0) — Dateinamen als Volltext durchsuchbar ( #52 )
...
ES-Index: neues Feld docnm_search (custom analyzer mit path_splitter,
__ und _ werden zu Leerzeichen). docnm_kwd bleibt als Keyword.
Hybrid-Suche nutzt jetzt docnm_search mit Boost 5.0 —
Arakawa/Wohnung/Kambodscha etc. finden direkt ueber den Dateinamen
ohne handverdrahtete Subqueries.
Closes #52
2026-03-27 10:41:00 +01:00
Homelab Cursor
70469cfbc5
rag: Fix toter Code — Immobilien-Wide-Check war nach return unreachbar
2026-03-26 19:04:23 +01:00
Homelab Cursor
0a76bee464
rag: Breitensuche fuer Wohnungen/Immobilien/Kambodscha
...
- _is_wide_recall_query: erkennt jetzt Wohnung+welche/alle, Kambodscha+Wohnung
- _WIDE_SUBQUERIES_IMMOBILIEN: Arakawa-Wohnungen, Mietvertraege, Kaufvertrag, Hard Title etc.
- handle_rag_search waehlt Subquery-Pool je nach Thema (Immo vs. Versicherung)
2026-03-26 19:00:28 +01:00
Homelab Cursor
00283a6268
llm+rag: RAG-Pflicht fuer Wohnung/Immobilie/Kambodscha; generische Forced-Prompts
...
- _DOC_KW: wohnung, immobilie, condo, kambodscha, takeo, phnom, haus, ...
- Bei Geo/Wohnung: RAG-Query mit Zusatz-Keywords
- Forced-RAG: Finanz-Fokus vs. allgemeine Unterlagen (Gedaechtnis nicht Prioritaet)
- rag.py: Tool-Prompt Wohnungen/Ausland explizit
2026-03-26 18:53:06 +01:00
Homelab Cursor
40d6badfc7
fix(rag+llm): Kfz-Kosten mit Quelle; kein nackter EUR-Betrag
...
- Forciertes RAG: Prompt verbietet Ein-Zahl-Antwort; Dateiname Pflicht.
- User-Nachtrag [Quelle: ...] bei forced RAG.
- rag: kostet/wie viel in wide recall; Subqueries Ford Transit / Kfz jährlich.
2026-03-26 17:18:32 +01:00
Homelab Cursor
ae6a50d182
fix(rag+llm): 60 wide treffer, Pfad-Dedup, 100k tool payload
...
(Nachtrag: vorheriger Commit enthielt nur telegram_bot.)
2026-03-26 17:15:48 +01:00
Homelab Cursor
dcf70b087b
fix(rag): breite Mehrfachsuche + mehr Treffer fuer Uebersichten
...
- wide_recall: bis 16 ES-Runden mit Sparten-/Gesellschafts-Queries, Merge
nach Dedup-Key, bis 25 distinct Treffer, groessere Snippets.
- Normale Suche: top_k bis 15, ES bis 150.
- Forciertes RAG: top_k 25, Tool-Payload 32k Zeichen.
- Hinweis: 100% Vollstaendigkeit haengt von Index/OCR ab.
2026-03-26 17:12:13 +01:00
Homelab Cursor
03f70fdda3
fix(rag): larger forced tool payload (12k) + list all insurance Sparten
...
- Forced rag_search used top_k=10 and tool content up to 12k chars (was 3k, cut off most hits).
- System instruction: enumerate each Sparte/doc type for same insurer, not only first hit.
- rag.py SYSTEM_PROMPT_EXTRA: same rule for multi-hit answers.
2026-03-26 16:56:29 +01:00
Homelab Cursor
59e53a2750
rag: 19/20 E2E-Tests bestanden — Dedup + Anti-Halluzination + Pflicht-Prompt
...
- Dedup auf Dateinamen-Ebene (Extension + Kopie-Marker ignorieren)
- docnm_kwd boost 1.5→3.0 fuer bessere Ordner-Treffer
- SYSTEM_PROMPT_EXTRA verschaerft: IMMER rag_search bei Dokument-Fragen
- Expliziter Ende-Marker gegen LLM-Halluzination
- MIN_TOP_K=5, Default top_k=8
- Content-Snippet 400→600 Zeichen
Ref: Issue #51
2026-03-26 15:25:52 +01:00
Homelab Cursor
a43c0b913b
rag: bessere Treffer + Anti-Halluzination
...
- top_k min=5, default=8 (LLM kann nicht mehr top_k=3 setzen)
- docnm_kwd boost 1.5→3.0 (Ordner/Dateinamen staerker gewichten)
- Ordnerpfad als Kategorie-Info in Ausgabe
- Content-Snippet 400→600 Zeichen
- SYSTEM_PROMPT_EXTRA: LLM darf keine Details erfinden
- es_size erhoehen fuer breitere Suche
Ref: Issue #51
2026-03-26 15:07:31 +01:00
Homelab Cursor
f9b69ad283
rag: Elasticsearch direkt (Hybrid kNN + deutsch) statt RAGFlow API
...
- ES 100.109.101.12:1200, Filter kb_id, knn auf q_768_vec
- Query-Embedding via Ollama nomic-embed-text
- Text: content_de, content_ltks, docnm_kwd
- OCR-Heuristik, Deduplizierung nach docnm_kwd
- Ref: Issue #51
2026-03-26 14:34:40 +01:00
Auto-Sync
9d79af7481
Auto-Sync: 2026-03-26 12:30
2026-03-26 12:30:10 +01:00
Homelab Cursor
dbf2497cd6
Hausmeister Kumpel-Modus: OpenMemory (CT 122) angebunden
...
- openmemory_client.py: REST-API Client für search/add/list
- tools/openmemory.py: openmemory_add, openmemory_search, Kumpel SYSTEM_PROMPT_EXTRA
- llm.py: OpenMemory-Block in Prompt (Text + Bild)
- homelab.conf: OPENMEMORY Optionen dokumentiert
2026-03-24 14:03:19 +01:00
Homelab Cursor
2e61530055
fix: _delete_telecast() in savetv.py implementiert
...
Funktion fehlte komplett - Auto-Delete nach Download hat nie funktioniert.
Nutzt GET /STV/M/obj/cRecordOrder/croDelete.cfm?TelecastID=...
2026-03-21 19:12:37 +01:00
Homelab Cursor
47bd67eb97
fix: predict.py ohne interne LLM-Analyse, strukturierter Daten-Report
...
- Tool gibt strukturierten Report zurueck (kein verschachtelter LLM-Aufruf mehr)
- Klare Hervorhebung: KRITISCH (>=100 Fehler), Erhoeht (>=20), Disk-Trend
- Proxmox: korrekte Passwort/Token-Ermittlung, nur echte pve-Hosts im Fehler-Log
- daily_forecast: LLM analysiert den Report bevor er gesendet wird
2026-03-21 13:44:35 +01:00
Homelab Cursor
c4553b46d7
feat: KI-Systemvorhersage (tools/predict.py) + taegl. 08:00 Job
...
- tools/predict.py: sammelt Disk-Trends (Prometheus), Fehler-Logs (Loki),
Container-Status (Proxmox) und laesst lokales LLM eine Prognose erstellen
- telegram_bot.py: daily_forecast Job taegl. 08:00 Uhr, sendet Prognose via Telegram
- llm.py: Forecast-Trigger (vorhersage, prognose, was bahnt sich an etc.) -> lokal
2026-03-21 13:18:20 +01:00
Cursor
785aa36a35
feat(bot): API-Kosten Tool — OpenRouter Guthaben/Verbrauch per Chat abfragen
2026-03-21 12:13:58 +01:00
Cursor
36d708bee1
refactor(llm): Local-First Routing mit Sonar-Websuche
...
- Basis: 981118f9 (lokales Qwen3 30B) wiederhergestellt
- Drei Pfade: lokal (qwen3:30b-a3b), Vision (qwen3-vl:32b), Sonar (perplexity/sonar)
- _route_model() fuer sauberes Routing (Web-Keywords -> Sonar, Rest -> lokal)
- /no_think fuer Ollama, Timeout-Fallback auf qwen2.5:14b
- Passthrough-Tools fuer Grafana-Daten
- deep_research TOOLS wieder aktiviert
- Preis-Spaghetti-Logik entfernt
2026-03-21 12:06:00 +01:00
Homelab Cursor
4d38c5302c
fix(grafana): Umlaute, °C, saubere Formatierung fuer Temperaturen/Energie/Heizung
...
- SENSOR_MAP Labels mit echten Umlauten (Außen, Küche, Ölkessel)
- Gradzeichen °C statt nur C
- Listenformat mit Bindestrich statt Einrueckung
- Abschnitte Räume & Außen / Heizung & Puffer
- Energie-Tool mit passenden Einheiten (W, kWh, %)
- SYSTEM_PROMPT_EXTRA: LLM soll Tool-Output 1:1 weitergeben
2026-03-21 02:02:29 +01:00
Cursor
3f4af61389
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
Cursor
2697e7f283
fix(web_search): kurze Keyword-Queries statt Saetze, language=de, bessere Prompt-Anweisungen
2026-03-21 00:21:17 +01:00
Cursor
f6e9e29ae4
fix(web_search): interne SearXNG-URL nicht als Quelle anzeigen
2026-03-20 23:44:48 +01:00
Cursor
981118f940
feat(bot): Qwen3 30B-A3B lokal (Ollama/RTX3090), web_search bevorzugt, Date-Injection, Thinking-Mode Fix
2026-03-20 23:40:58 +01:00
Homelab Cursor
e0afaff058
feat: harte Qualitaetspruefung fuer Preisrecherche
...
Bei Preisfragen validiert deep_research jetzt die Antwort auf:
- konkrete Preise mit Waehrung
- Delta in Prozent
- Preisvergleich damals/heute
- mindestens 3 konkrete Quellen-Links
Wenn die Qualitaet zu schwach ist:
1) automatischer Retry mit strikter Anfrage
2) falls weiter unzureichend: klare Fehlermeldung "keine belastbaren Preisdaten gefunden"
2026-03-20 22:17:50 +01:00
Homelab Cursor
6ef208c289
feat: web_search Tool via SearXNG ergaenzen
...
Issue #35 vervollstaendigt mit schneller Web-Suche (3-10s):
- neues Tool web_search in tools/web_search.py
- SearXNG Endpoint CT121 (intern + Tailscale Fallback)
- strukturierte Treffer mit Snippets + Quellenlinks
- Prompt-Hinweis fuer Routing: web_search vs deep_research
2026-03-20 21:59:33 +01:00
Homelab Cursor
7a3327eb90
fix: deep_research Tool — Logging + allow_clarification=False
...
- Ausfuehrliches Logging fuer Debugging
- allow_clarification deaktiviert (verhindert Rueckfrage-Deadlock)
- Ergebnis-Schwelle auf 100 Zeichen gesenkt
2026-03-20 21:47:33 +01:00
Homelab Cursor
3f245ffea9
feat: deep_research Tool fuer Hausmeister-Bot
...
Open Deep Research (CT 121) als neues LLM-Tool.
- LangGraph API auf 10.10.10.121:2024
- SearXNG + OpenRouter als Backend
- Polling-basiert (2-10 Min pro Recherche)
- Report wird fuer Telegram gekuerzt
2026-03-20 21:30:53 +01:00
root
ff11575d4c
Save.TV: Film-Download auf pve-hetzner Festplatte (HD, werbefrei, /mnt/savetv Bind-Mount)
2026-03-17 15:49:26 +07:00
root
63d2a64533
Save.TV: Kino-Highlights Erkennung statt Score-basiert, 62 echte Kinofilme identifiziert
2026-03-17 15:14:28 +07:00
root
2fae7af346
Save.TV: LLM sieht jetzt ALLE Archiv-Filme + Prompt nutze-dein-Filmwissen
2026-03-17 15:08:56 +07:00
root
7ac401c3a5
Save.TV: Archiv-Bewertung Tool + _get_archive POST-Fix
2026-03-17 15:05:46 +07:00
root
e511e08463
fix: Primetime-Bonus entfernt — Sendezeit hat keinen Einfluss mehr auf Score
2026-03-16 22:33:49 +07:00
root
985caeab38
fix: Nacht-Strafe entfernt + Auto-Record ab Score 80 — gute Filme egal wann
2026-03-16 22:31:30 +07:00
root
847b120172
feat: Auto-Aufnahme fuer Top-Filme (Score>=95), Vorschlaege mit Buttons fuer den Rest
2026-03-16 22:23:35 +07:00
root
0dcb0fd35a
feat: EPG-Scanner erweitert — 4 Wochen voraus + Seen-Cache fuer nur neue Filme
2026-03-16 22:17:34 +07:00
root
eeec98303d
feat: Save.TV Integration — EPG-Scanner, Filmtipps, Aufnahme per Inline-Button + täglicher Cronjob 14:00
2026-03-16 22:04:29 +07:00
root
983d93a67b
Mail-Tool: Zeitraum-Abfrage + bessere Tool-Beschreibungen fuer LLM
2026-03-16 21:19:10 +07:00
root
156cb92e26
Grafana-Tool: Temperaturen, Energie, Heizung live aus InfluxDB
2026-03-16 16:31:07 +07:00
root
b32cbf353e
Grafana-Tool: URL korrigiert auf CT 143 (pve-mu-3) statt CT 110
2026-03-16 16:28:54 +07:00
root
1a88c782d6
Neue Tools: tailscale.py (Netzwerk-Status) + grafana.py (Dashboard-Status)
2026-03-16 16:08:26 +07:00
root
04363fa033
Domains: rss-manager.orbitalo.net + redax.orbitalo.net ins Service-Verzeichnis
2026-03-16 15:59:55 +07:00
root
62630e3253
services.py: Cloudflare URLs vs Tailscale-only klar getrennt
2026-03-16 15:57:21 +07:00
root
def09fa2e5
Neues Tool: services.py — Dienst-Verzeichnis mit URLs + Zugangsdaten
2026-03-16 15:52:12 +07:00