Save.TV: LLM sieht jetzt ALLE Archiv-Filme + Prompt nutze-dein-Filmwissen

This commit is contained in:
root 2026-03-17 15:08:56 +07:00
parent 7ac401c3a5
commit 2fae7af346

View file

@ -102,6 +102,11 @@ SYSTEM_PROMPT_EXTRA = """TV / Save.TV Tools:
- savetv_record: Nimmt einen Film per TelecastId auf - savetv_record: Nimmt einen Film per TelecastId auf
- get_savetv_status: Zeigt Archiv und geplante Aufnahmen - get_savetv_status: Zeigt Archiv und geplante Aufnahmen
Wenn der User nach Archiv-Filmen/Bewertung fragt, nutze get_savetv_archive_filme. Wenn der User nach Archiv-Filmen/Bewertung fragt, nutze get_savetv_archive_filme.
WICHTIG bei Archiv-Bewertung: Die Scores sind nur grobe Heuristiken (Sender, Highlight-Flag).
Nutze DEIN eigenes Filmwissen um die wirklich guten Filme zu identifizieren! Schau die
KOMPLETTE Liste durch auch Filme mit Score 50-55 koennen Meisterwerke sein (z.B. bekannte
internationale Filme, Oscar-Gewinner, Klassiker). Sortiere nach DEINER Einschaetzung der
Filmqualitaet, nicht blind nach Score. Hebe besonders hervor: bald ablaufende gute Filme.
""" """
@ -507,31 +512,20 @@ def handle_get_savetv_archive_filme(**kw):
if urgent: if urgent:
lines.append(f"DRINGEND — {len(urgent)} Filme laufen in <=7 Tagen ab:") lines.append(f"DRINGEND — {len(urgent)} Filme laufen in <=7 Tagen ab:")
for f in urgent: for f in urgent:
hl = " *" if f["highlight"] else ""
lines.append( lines.append(
f" [{f['days_left']}d] {f['title'][:45]} | {f['station']} | " f" [{f['days_left']}d] {f['title'][:50]} | {f['station']} | TID {f['tid']}"
f"Score {f['score']}{hl} | TID {f['tid']}"
) )
lines.append("") lines.append("")
top = [f for f in films if f["score"] >= 60 and f["days_left"] > 7] safe = [f for f in films if f["days_left"] > 7]
if top: if safe:
lines.append(f"TOP-FILME ({len(top)}):") lines.append(
for f in top[:30]: f"ALLE FILME IM ARCHIV ({len(safe)}) — nutze dein Filmwissen "
hl = " *" if f["highlight"] else "" f"um die besten zu identifizieren:"
)
for f in safe:
lines.append( lines.append(
f" {f['title'][:45]:45s} | {f['station']:12s} | " f" {f['title'][:50]} | {f['station']} | {f['days_left']}d"
f"{f['date']} | {f['days_left']:2d}d | Score {f['score']}{hl}"
)
lines.append("")
rest = [f for f in films if f["score"] < 60 and f["days_left"] > 7]
if rest:
lines.append(f"WEITERE ({len(rest)}):")
for f in rest[:20]:
lines.append(
f" {f['title'][:45]:45s} | {f['station']:12s} | "
f"{f['date']} | {f['days_left']:2d}d"
) )
return "\n".join(lines) return "\n".join(lines)