You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Users already run news summarizers through external tools via Lemonade. GAIA should provide this natively: subscribe to RSS feeds, search the web for topic news, extract article content, and produce LLM-summarized digests — all running locally on AMD hardware. The NewsAgent plugs into the Daily Briefs pipeline (#663) as the "news" content source and works standalone via gaia news.
Features
Capability
Tools
Reuses
Feed management — add/remove/list RSS/Atom feeds
add_feed, remove_feed, list_feeds, refresh_feeds
New; feedparser library
OPML import/export
CLI gaia news import/export
New
Web search for news
search_news(query, max_results)
Brave Search MCP or Perplexity (ExternalToolsMixin pattern)
Summary
Users already run news summarizers through external tools via Lemonade. GAIA should provide this natively: subscribe to RSS feeds, search the web for topic news, extract article content, and produce LLM-summarized digests — all running locally on AMD hardware. The NewsAgent plugs into the Daily Briefs pipeline (#663) as the "news" content source and works standalone via
gaia news.Features
add_feed,remove_feed,list_feeds,refresh_feedsfeedparserlibrarygaia news import/exportsearch_news(query, max_results)fetch_article(url)httpx+trafilaturasummarize_articles(articles, style)compile_digest(topics, style, format)DigestCompilerclassadd_topic,remove_topic,list_topicsDigest Styles
headlines— one-liner per articlebrief— 2-3 sentence summariesdeep_dive— full analysis of a single articleStorage
~/.gaia/news/feeds.yaml— feed subscriptions (YAML for human editability)~/.gaia/news/topics.yaml— interest profiles with keywords~/.gaia/news/digests/YYYY-MM-DD.md— generated digests (30-day retention)Non-Goals
Implementation Approach
src/gaia/agents/news/—agent.py,tools.py,feed_manager.py,content_extractor.py,digest_compiler.pyNewsAgent(MCPAgent)— inherits MCPAgent for Fetch MCP and Brave Search MCP accessFeedManagerhandles CRUD on feeds.yaml, RSS/Atom parsing viafeedparser, OPML import/export, ETag/Last-Modified cachingContentExtractorwraps Fetch MCP (primary) withhttpx+trafilaturafallback for HTML-to-textDigestCompilerorchestrates: feed refresh → extraction → deduplication → topic assignment → summarization (via SummarizeAgent) → output formattingfeedparser,trafilaturainsetup.pyextras[news]newsinKNOWN_TOOLSinregistry.pygaia newswith sub-subcommands:digest,feeds,topics,import,searchdocs/guides/news.mdxget_news_brief(topics, max_articles)for Daily Briefs integration (Personalized daily briefs: morning digest of email, calendar, news, and tasks #663)Dependencies
gaia news digestworks without itSecurity Considerations
robots.txtand include responsible User-Agent header (GAIA/version)Test Plan
gaia news feeds add <url>,gaia news digest,gaia news topics add <name>