RSS is still a great tool for keeping up to date with news, and there are plenty of amazing RSS feeds out there that you can use to track your favorite sites. However, what if I told you that you could make RSS even better with a free, open-source tool, powered by your local large language model and a Markdown reader like Obsidian? That’s where Matcha comes in, a fantastic command line-based RSS parser.
Matcha is a clever RSS parser that does more than just build a markdown file daily with articles from the sites you follow. It can pull the weather for the day, bookmark articles via Instapaper, follow topics and keywords via Google News, pull from Hacker News, and, the big one, summarize articles using any OpenAI-compatible API. In other words, if you want to get an idea of what the…
RSS is still a great tool for keeping up to date with news, and there are plenty of amazing RSS feeds out there that you can use to track your favorite sites. However, what if I told you that you could make RSS even better with a free, open-source tool, powered by your local large language model and a Markdown reader like Obsidian? That’s where Matcha comes in, a fantastic command line-based RSS parser.
Matcha is a clever RSS parser that does more than just build a markdown file daily with articles from the sites you follow. It can pull the weather for the day, bookmark articles via Instapaper, follow topics and keywords via Google News, pull from Hacker News, and, the big one, summarize articles using any OpenAI-compatible API. In other words, if you want to get an idea of what the article is before you click it, you can get a brief rundown in your daily digest.
I have it set up with my local Ollama instance running on Proxmox, and I have an Obsidian Vault that matcha exports its files to. Any Markdown reader will do the job, though, and you can either automate Matcha to run periodically, or run it as you need it.
Running Matcha and analyzing your RSS feeds
All viewed inside Obsidian
Matcha is easy to set up; download it from GitHub, place the file in the place you want to run it, and you’re good to go. Run it once for the first time to generate the config.yml file, and you can then modify it to include all of the feeds you want to parse. My config.yaml looks like this, as an example:
markdown_dir_path:feeds: - https://www.xda-developers.com/feed/google_news_keywords: esp32instapaper: falseweather_latitude: 37.77weather_longitude: 122.41terminal_mode: falseopml_file_path:markdown_file_prefix:markdown_file_suffix:reading_time: truesunrise_sunset: falseopenai_api_key:openai_base_url: http://192.168.2.12:11434/v1openai_model: gemma3:27b-it-qatsummary_feeds: - https://www.xda-developers.com/feed/ - https://www.home-assistant.io/atom.xml - https://community.home-assistant.io/latest.rss - https://www.reddit.com/r/homeassistant/.rssshow_images: trueanalyst_feeds: - https://www.xda-developers.com/feed/analyst_prompt: I am looking for fun and unique projects to attempt. This is an RSS feed from XDA, find me interesting things to try.analyst_model: gemma3:27b-it-qat
For those who want to identify new sites to track, you can set Google News keywords to track. This will find trending articles with the terms you’ve entered and include them in your daily digest, so that you can identify new sources of news or just track particular topics that you have an interest in. These won’t be summarized, but it’ll still collate a list of articles that you can check out.
As you can see above, there are minimal configuration options required. You define your feeds, your OpenAI URL, an API key if it’s required, your model, the feeds to summarize, and the feeds to analyze. It’s fairly simple to understand and get started with, and you can use LM Studio, Ollama, OpenAI, or any other OpenAI-compatible endpoint for summarization purposes. Even if you’re not summarizing, it’s still a pretty powerful tool to collect your RSS feeds all in one place.
The analysis feature is especially powerful, as you can use it to take the list of titles and descriptions from a feed in order to process it in a more direct way. For example, if you wanted to find ESP32 projects, you could provide it an RSS feed of our ESP32 tag in order to find new projects to build based on everything that it discovered. Alternatively, you could use it to find emerging trends across a range of feeds in any field of your personal interest.
How to make Matcha even better
Automations and Obsidian plugins
There are a few steps you can take to make Matcha even better. For starters, you can automate its execution, using either the Windows Task Scheduler or a cron task on Linux. Then, with an Obsidian Vault created in the same directory, you can view your daily RSS feed that can update as frequently as you’d like.
Even better, every time you run Matcha, it will keep everything for that day inside of the same file, only appending new articles if there are any. This means you don’t have to worry about wasting tokens with OpenAI’s API or using a lot of electricity every time you run it, as it’ll only generate summaries for those new articles as well.
With Instapaper integration, you can easily save articles to a read-it-later repository, or you can come back to the generated digest later on. You could even automate processing through Obsidian’s Dataview or through other plugins, and programming languages such as Python have libraries that will natively understand Markdown and can also process the organized outputs.
Matcha is a fantastic tool for anyone who uses an RSS feed reader, especially if you can pair it with a local LLM. Even without that, it’s still a great tool for aggregating feeds and finding new articles online, and I absolutely love it.