Open source, self-hosted

A reading list with an end.

You pick every token that reaches your model’s context window. Cyris does the same for your attention: it reads the feeds and newsletters you stopped opening and hands you a digest short enough to finish.

Free and open source. No AI key needed to start.

The maintainer’s own deployment, 56 issues from Aug 28 to Sep 27, 2026: an average issue took in 91 articles, kept 13, and cost about US$0.03 in AI.

A Cyris digest built from 13 public tech feeds: 64 articles received, 12 included, led by a top story

How it works

Read the highlights or explore the details.

Choose your sources and processing depth. Reports on the same news story merge into one summary. Start with the digest, then consult the full list when you need it.

  1. Bring your subscriptions

    RSS feeds and newsletters

  2. Set each source’s depth

    Filter, summarize, or keep excerpts

  3. Read, then explore

    Highlights, plus this run’s articles and pending items

Article review

Nothing is hidden
to make it short.

See what it left out

Every issue links to the full list of what it collected, dropped articles included.

Teach it with a vote

Upvote or downvote to accept or reject an article. Votes can also filter similar articles out of later runs.

Choose an AI provider, or none

AnthropicGoogle GeminiOpenAICloudflare Workers AINone: plain excerpts

Delivery

Get it in your
inbox or Discord.

Read it in your inbox

The whole digest arrives as an email.

Get a Discord message

Get a message with a link to each new digest.

Hear when a run fails

The channels you set up also tell you when a run fails.

Deployment

Run on your computer
or publish on Cloudflare.

On your computer

Run a command to generate an HTML digest, then open it in your browser.

  • Requires Python 3.12+ and uv
  • Run on demand; keep data on disk
  • Email ingestion and web voting need Cloudflare Workers
Local setup

Publish on Cloudflare

Set publishing hours so Cyris can generate digests on schedule. Read them and manage your settings on the web.

  • Requires Cloudflare Workers Paid (US$5/month)
  • Data in D1; digests on Pages
  • Email ingestion and delivery need your domain and Email Routing
Cloud setup
Local quickstart: from source to digest

Copy the example files and add your sources. Pick an AI provider, or set provider = "none" to start without an API key.

git clone https://github.com/musingfox/cyris.git
cd cyris
uv sync

cp cyris.toml.example cyris.toml
cp .env.example .env
cp sources.example.yaml sources.yaml

# Edit settings and sources; choose none or supply your AI provider credentials.
uv run cyris doctor
uv run cyris run

Read the full setup instructions ↗