AI Newsletter Daily
When to Use
Use for current AI/ML news, releases, research, funding, product launches, model updates, regulation, benchmarks, or practitioner-relevant developments.
Do not use for evergreen explainers, non-AI topics, or long-form research that is not meant to become a curated newsletter.
Procedure
-
Resolve inputs.
- Defaults:
target_news_count=20,search_query="latest AI news today",search_time_window_days=2,max_search_results=60,min_articles_required=10,include_domains=[],exclude_domains=["youtube.com","reddit.com","facebook.com","x.com","twitter.com"],summary_model="host-default",max_scrape_retries=2. - Clamp:
target_news_count 1..50,search_time_window_days 1..14,max_search_results 20..120,min_articles_required 1..50,max_scrape_retries 0..5. - If
min_articles_required > target_news_count, set it totarget_news_count.
- Defaults:
-
Search and filter.
- Run
web_searchwithsearch_query. - If no usable results, retry once with
"{search_query} generative AI LLM model open source enterprise". - Keep only results with non-empty title and URL.
- Canonicalize URLs, drop duplicates, apply domain filters, and prefer fresh results.
- Run
-
Rank.
- Score 0..100 from AI-topic relevance, freshness, and title/snippet quality.
- Sort by score desc, published date desc, URL asc.
- Keep top
target_news_count * 2candidates.
-
Fetch, verify, summarize.
- Process candidates in order until
target_news_countverified items are collected. - Skip already processed canonical URLs.
- Fetch each candidate up to
max_scrape_retries + 1times withweb_fetch. - Verify title, domain, topic, and date against the search result.
- Skip inconsistent pages and record a warning.
- Summarize each accepted article in one plain-text paragraph, max ~80 words, focused on why it matters to AI practitioners.
- Process candidates in order until
-
Fallback.
- If collected items are fewer than
min_articles_required, run one fallback search with"AI news today machine learning model release funding research". - Process only new candidates and repeat the same filter/rank/fetch/verify/summarize flow.
- If collected items are fewer than
-
Finalize.
- Keep only valid items with non-empty
title,url,domain,summary,source_query, and numericrelevance_score. - Remove duplicates by canonical URL.
- Sort by score desc, then published date desc.
- Truncate to
target_news_count. - Return
newsletter_items,markdown_newsletter, andjson_newsletter.
- Keep only valid items with non-empty
Verification
Accept items only if:
- URL is valid and canonicalized.
- Search result and fetched page broadly match.
- Topic is actually AI/news relevant.
- Published date is present or safely unknown.
- Fetched content is not malformed or off-topic.
Record warnings for failed URLs, short reasons, and whether fallback search was used.
Output Format
markdown_newsletter:
- H1 title with date.
- One H2 per article.
- One short summary paragraph per article.
- One source link per article.
json_newsletter:
datequerycountarticleswarnings
Language Output
Return the newsletter body and all article summaries in Simplified Chinese. Preserve all source metadata unchanged (title, url, domain, published_at, relevance_score, source_query).