DistillFeed: RSS reader with AI-ranked items and summaries
DistillFeed is an RSS/Atom reader that uses AI to rank articles and generate summaries. It supports OpenAI and Ollama, offers cost safeguards, notification alerts via ntfy, and includes an arXiv daily digest plugin. The application is available on GitHub under the Apache License 2.0.
Notifications You must be signed in to change notification settings
Fork 0
Star 0
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
11 Commits
11 Commits
.github/workflows
.github/workflows
deployment
deployment
distillfeed_arxiv
distillfeed_arxiv
docs/images
docs/images
examples
examples
rss_reader
rss_reader
tests
tests
.dockerignore
.dockerignore
.gitattributes
.gitattributes
.gitignore
.gitignore
CITATION.cff
CITATION.cff
Dockerfile
Dockerfile
LICENSE
LICENSE
Procfile
Procfile
README.md
README.md
config.example.toml
config.example.toml
install.sh
install.sh
launch.sh
launch.sh
pyproject.toml
pyproject.toml
render.yaml
render.yaml
test-distillfeed.sh
test-distillfeed.sh
upd.sh
upd.sh
uv.lock
uv.lock
Repository files navigation
RSS reader that provides contents ranked by AI, as well as summaries. It checks RSS feeds, stores the articles locally, and can use OpenAI or Ollama to score new entries (relevance) and write topic summaries.
Highlights
RSS and Atom reading with OPML import and export
AI relevance scores and concise summaries
An arXiv daily digest (plugin), included with the application
AI cost safeguards
Per-group and per-feed rules for optional notification alerts with ntfy (can be sent to mobile so)
OpenAI and local Ollama support
A guided first launch
Local use by default, with Docker and server deployment files included
Install
DistillFeed requires Python 3.11 or newer on macOS or Linux.
Clone git clone https://github.com/ibaaj/distillfeed or download this repository, open a terminal in the project directory, and run:
./launch.sh
On the first run, DistillFeed creates its own Python environment and opens a local setup page.
Later, use the same command to start the reader again. If the browser cannot open automatically, run ./launch.sh --no-browser and open the address shown in the terminal.
Demo setup
For the release demo, run:
./launch.sh --demo
Enter an OpenAI API key during setup if you want the AI and arXiv parts of the demo.
Feed checks and summaries
DistillFeed deliberately keeps these actions separate:
Check feeds downloads RSS or Atom documents and stores new entries. It does not use AI.
Update summaries checks readiness and AI cost safeguards, evaluates eligible entries, then publishes the affected summaries. This uses AI.
arXiv daily digest (plugin)
There is an arXiv digest plugin inspired by this project. I
Enable and configure it during first launch, or later under AI summaries. Use Check arXiv to retrieve papers and Update daily digest to produce the digest.
Subscriptions
Use Manage in the subscription panel to add, rename, move, reorder or delete groups and feeds.
Notices and alerts
There are two separate notification features:
System notices explain what DistillFeed itself is doing: completed updates, partial feed failures, missing AI configuration, retries, budget blocks and similar operational information.
Other devices sends selected articles to an ntfy server.
Configure ntfy under Settings → Other devices. System notices do not require ntfy and remain available inside the reader.
Personal generated feeds
DistillFeed can read XML produced by a personal scraper. Set a directory:
[feeds] generated_feed_directory = "/srv/distillfeed/generated-feeds"
Manual installation
The normal launch script is recommended. For an existing server workflow:
python3 -m venv .venv . .venv/bin/activate python -m pip install ".[server]" cp config.example.toml config.toml distillfeed init distillfeed serve
The example configuration listens only on 127.0.0.1:8080. Set OPENAI_API_KEY before starting the server if you prefer an environment-managed OpenAI credential.
License
DistillFeed is released under the Apache License 2.0. See LICENSE.
About
RSS reader with AI-ranked items and summaries.
Resources
Readme
License
Apache-2.0 license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
0 stars
Watchers
0 watching
Forks
0 forks
Report repository
Releases
No releases published
Packages 0
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Python 70.4%
HTML 9.8%
JavaScript 9.2%
Shell 8.8%
CSS 1.8%
Dockerfile 0.0%