Lightweight CLI & TUI RSS reader for terminal lovers.
rss-flow-cli is a modern, fast, and feature-complete RSS/Atom/JSONFeed reader designed specifically for terminal enthusiasts. It provides a full interactive TUI built with Textual, a command-line engine built with Typer, and instant full-text search powered by SQLite FTS5.
- Split-Pane & Reader TUI: Side-by-side feed navigation, unread badges, full article renderer, and clean dark/light themes.
- SQLite + FTS5 Full-Text Search: Fast local database indexing across all feed titles, article summaries, and full extracted text.
- Offline Readability Mode: Extract complete web article content from truncated RSS snippets with a single keypress or automatic background rule.
- OPML 2.0 Import & Export: Effortlessly import or export feed collections, preserved categories, and folder hierarchies.
- Auto-Filtering & Tagging Rules: Define custom regex rules to automatically star, tag, or mark articles read.
- External Server Synchronization: Compatible with Miniflux / Fever / Google Reader API standards.
- Modern CLI Utility: Perform headful or headless feed syncing, searching, adding feeds, and OPML exports right from your shell.
pip install rss-flow-cliuv tool install rss-flow-clirss-flow tui
# or simply
rss-flow# Add a new feed
rss-flow add https://news.ycombinator.com/rss --category Tech
# List subscribed feeds
rss-flow list
# Sync all feeds
rss-flow sync
# Search articles using SQLite FTS5
rss-flow search "python release"
# Import OPML subscriptions
rss-flow import subscriptions.opml
# Export OPML subscriptions
rss-flow export backup.opml
# Mark all articles in a feed as read
rss-flow mark-read --feed 1| Shortcut | Description |
|---|---|
q |
Quit application |
r |
Refresh / Sync all feeds |
a |
Add new feed dialog |
s |
Toggle starred status |
m |
Toggle read / unread status |
e |
Extract full web article readability |
o |
Open article link in web browser |
/ |
Focus search bar |
t |
Cycle UI themes (Dark / Light / Catppuccin / Nord / Dracula) |
? |
Toggle keybindings help dialog |
Built with modern Python standards:
- TUI Framework: Textual
- CLI Engine: Typer & Rich
- Database / ORM: SQLModel & SQLite FTS5
- Feed Parser:
httpx+feedparser - Build System: Hatchling (PEP 621)
Copyright (C) 2026 Rupam Ghosh <hulo@crine.in>.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).