Feat: Claude-Keywords für RSS-Suche, Jahreszahlen-Filter, strikteres Matching

- rss_researcher liefert jetzt Keywords zurück, die direkt für RSS-Suche genutzt werden
- Neue _clean_search_words() filtert rein-numerische Begriffe (Jahreszahlen etc.)
- Matching-Schwelle aufgerundet: bei 3 Keywords müssen mindestens 2 matchen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
claude-dev
2026-03-05 18:36:08 +01:00
Ursprung faa273f0de
Commit 536e7f585b
2 geänderte Dateien mit 38 neuen und 19 gelöschten Zeilen

Datei anzeigen

@@ -579,14 +579,15 @@ class AgentOrchestrator:
all_feeds = await get_feeds_with_metadata(tenant_id=tenant_id)
feed_usage = None
keywords = None
if len(all_feeds) > 20:
selected_feeds, feed_usage = await rss_researcher.select_relevant_feeds(
selected_feeds, keywords, feed_usage = await rss_researcher.select_relevant_feeds(
title, description, international, all_feeds
)
logger.info(f"Feed-Selektion: {len(selected_feeds)} von {len(all_feeds)} Feeds ausgewählt")
articles = await rss_parser.search_feeds_selective(title, selected_feeds)
articles = await rss_parser.search_feeds_selective(title, selected_feeds, keywords=keywords)
else:
articles = await rss_parser.search_feeds(title, international=international, tenant_id=tenant_id)
articles = await rss_parser.search_feeds(title, international=international, tenant_id=tenant_id, keywords=keywords)
logger.info(f"RSS: {len(articles)} relevante Artikel gefunden (international={international})")
return articles, feed_usage