Open-source project
fuxiaoai/tidings-rss avatar
fuxiaoai/tidings-rss

Tidings RSS: OPML feed bundles for AI, engineering and news, checked three times

Curated, live-verified OPML collections for AI, news, research, blogs, videos, podcasts, and engineering.

580 stars43 forksPythonCC0-1.0

At a glance

What is it?
Tidings RSS is a curated OPML directory of 718 feeds, shipped as importable bundles with a recommended Top 200. The curation rules are documented; the per-feed availability record is not.
Who is it for?
Adopt Tidings RSS if you want a pre-filtered OPML starting point and are willing to prune, and start with tidings-top200.opml rather than the 718-feed collection. Skip it if you need per-feed uptime history or a stable feed set you never re-check, because the README states the catalog is rechecked and feeds move and disappear.
Can I use it commercially?
Yes. CC0-1.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 4, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem Tidings RSS solves is the pruning step, not the subscription

Any RSS reader accepts an OPML file. The expensive part is deciding which of several thousand candidate feeds belongs in it. Tidings RSS is a catalog that has already made that decision: 718 sources, grouped into 14 categories, distributed as OPML bundles you import directly. The README describes the intended first move plainly: start with the Top 200, then use topic bundles or the full directory when you want more.

The audience is narrower than "anyone who reads feeds". The bundles are explicitly bilingual, balancing Chinese and English sources across AI, engineering, security, technology media, newsletters, research, news, product, business, blogs, communities, culture, video and podcasts. Two bundles exist only for that audience: tidings-blogs.opml (349 Chinese independent blogs) and tidings-chinese.opml (469 Chinese-language sources). If you read only English, most of the catalog is still usable, but the two largest bundles are largely not for you.

The design bet is that a curated list beats a search box. That bet is only as good as the curation criteria, which the README does state, and the per-feed results, which it points to in reports/top200-curation.json rather than reproducing.

How the curation works: three parser passes and a documented selection rule

The README describes a review process rather than a ranking algorithm. Candidates are checked through the Tidings production parser three times, and a Top 200 feed must return articles and real publication dates in every round. That is a liveness test, not a popularity test, and it is the most concrete quality claim in the repository.

The selection rule is stated as authorship and editorial reputation first: first-party institutional work, writers with a durable body of work, and creators with established community recognition. Recent publishing, useful feed text and endpoint stability are described as hard requirements rather than tiebreakers. Two exclusions follow from that framing. Similar sections from one publisher are deduplicated, and fast-moving release logs or generated searches do not outrank authored work merely because they update often. That last rule is the one worth arguing about, because it deliberately demotes exactly the feeds that look most active in a reader.

Category rules differ. Chinese independent blogs are judged mainly on recent writing and useful article content. WeChat feeds must connect quickly and produce recent articles in Tidings. Company technology feeds are unique by organization and technical direction, and when an official website covers the same direction it replaces the matching WeChat feed. The repository layout supports this: data/feeds.json is the machine-readable catalog, opml/ holds the bundles, reports/ holds the curation records, and scripts/ plus tools/ plus tests/ sit alongside a .github/workflows/validate.yml that runs catalog validation on every push.

Installing Tidings RSS: download an OPML file and import it

There is nothing to install in the usual sense. Tidings RSS ships OPML files, so the install step is a download plus an import in whatever reader you already use. The README points at the latest release for each bundle, and the recommended starting file is the Top 200, published as tidings-top200.opml under the latest release download path.

If you want to check the file before trusting it, the README also links SHA-256 checksums published alongside the release as SHA256SUMS.txt. The repository does not document a command for verifying them, so use whatever checksum tool your platform provides against that file.

Then import the file in your reader. The exact menu differs by client, but every reader that supports OPML accepts this file as a subscription list; after import you should see the Top 200 feeds grouped under the categories described in the README. If you want the full directory instead, use tidings-all.opml (718 feeds) or one topic bundle such as tidings-ai.opml (99 feeds) or tidings-engineering.opml (419 feeds). The README notes that topic bundles overlap and that only the complete collection contains each feed URL once, so importing several topic bundles will produce duplicates you have to reconcile yourself.

The availability record is the weak point

The README is candid that the three-pass review "ran on the current network and preferred official, directly reachable endpoints; it is not a permanent availability guarantee for every mainland region or carrier, and a few overseas sources may still depend on local network conditions." Read that as a scope limit on the whole catalog. A feed that passed three parser rounds from the maintainer's vantage point can still fail from yours.

That matters more here than in a single-feed project, because the value proposition is the size of the bundle. Importing 200 feeds and finding that a portion never returns articles costs you the cleanup time the Top 200 was supposed to save. The README acknowledges this directly: feeds move and disappear, so the directory is checked regularly. It does not say how regularly, and the sentence is truncated in the repository's own README rendering, so the recheck cadence is not something you can plan around from the documentation alone.

A second limitation is structural. Curation decisions are editorial, and the README states the rule that fast-moving release logs and generated searches do not outrank authored work. If your actual need is changelog and release-note coverage, this catalog is filtered against you by design. Use it as a reading list, not as a monitoring list.

Alternatives and where the approach differs

The obvious alternative is a feed discovery service or an OPML file you assemble yourself from reader recommendations. The difference is where the filtering happens. A discovery service ranks by signals it can compute, typically update frequency and inbound links, and hands you a list that is long by default. Tidings RSS filters first and publishes a fixed artifact, so the cost of the filter is paid once by the maintainer and the artifact is small enough to import without triage. The trade is that you inherit the maintainer's taste, including the rule that demotes frequently updated generated feeds.

A second alternative is a self-hosted feed aggregator with its own recommendation or scoring layer. Those systems keep working from your own reading behaviour and adapt, which a static OPML file cannot do. They also require you to run and maintain a service. Tidings RSS has no server component: the repository's scripts and tests exist to validate and regenerate the catalog, not to serve feeds to you.

If your interest is the Chinese-language portion specifically, the comparison is against hand-maintained blogrolls, which tend to be smaller and updated less predictably. Here the 349-blog bundle is generated from the same catalog as everything else, which is a consistency advantage and a single-point-of-failure disadvantage in equal measure.

Maintenance, upgrade cost and the CC0-1.0 licence

The repository is not archived, and the last push was on 2026-09-14. Recent releases are v1.4.0 (2026-08-13), v1.3.0 (2026-08-12) and v1.2.0 (2026-08-12), and the README states the catalog was last checked on 2026-09-14. The release cadence in August suggests active packaging of the catalog rather than a one-off dump, but the thing you actually depend on is the recheck interval, which the documentation does not pin down.

Upgrade cost is low and manual. Bundles are release assets, so moving to a newer catalog means downloading a new OPML and re-importing it. Most readers merge or duplicate on re-import rather than replacing, so the practical cost is deduplication, not migration. Nothing in the repository suggests a versioned subscription URL that updates in place, so plan on re-importing rather than pointing your reader at a live endpoint.

The licence is CC0-1.0, a public domain dedication. For a catalog of feed URLs and metadata, that removes attribution and redistribution questions: you can fold the OPML into your own tooling or republish it without asking. It does not touch the content the feeds point at, which remains under each publisher's own terms. Nothing here is legal advice, and CC0 covers the catalog files, not the articles they link to.

Editorial conclusion

Adopt Tidings RSS if you want a pre-filtered OPML starting point and are willing to prune, and start with tidings-top200.opml rather than the 718-feed collection. Skip it if you need per-feed uptime history or a stable feed set you never re-check, because the README states the catalog is rechecked and feeds move and disappear. Before committing, import the Top 200 into your reader and confirm that the overseas sources survive your own network conditions, which the README explicitly declines to guarantee for every mainland region or carrier.

Frequently asked questions

What does RSS stand for?

The repository does not expand the acronym. It ships OPML bundles of feed URLs and links to a separate RSS-GUIDE.md for background, so the project treats RSS as a known format rather than explaining it.

Is RSS still used in 2026?

The repository makes no claim about RSS adoption. What it does show is that this project still publishes OPML bundles, with the catalog last checked on 2026-09-14 and releases through August 2026.

What does RSS mean over text?

The repository does not address this phrasing. It documents feed bundles for readers, not message formats, and points readers to RSS-GUIDE.md for anything beyond the catalog itself.

What is RSS used for?

The README does not define RSS. It shows the use it is put to here: importing OPML files into a reader so that a curated set of feeds, such as the Top 200 or the 718-source collection, appears as subscriptions.

Official sources

  1. fuxiaoai/tidings-rss on GitHub
  2. License: CC0-1.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/fuxiaoai-tidings-rss.svg)](https://hysenlabs.com/projects/fuxiaoai-tidings-rss)