{"adoption": {"forks": 247, "observed_at": "2026-08-28T04:04:41.766951+00:00", "stars": 1426}, "canonical_url": "https://ross.abutalabs.com/products/garss", "card": {"archived": false, "artifact_type": "application", "description": "Github Actions采集RSS, 打造无广告内容优质的头版头条超赞宝藏页", "domain": ["self-hosted", "crawlers", "media", "developer-tools"], "enriched": true, "function": ["web-scraping", "self-hosted", "web-framework", "sdk"], "health_score": 98, "homepage": null, "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["zhaoolee/garss"], "name": "zhaoolee/garss", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-08-25T22:38:40+00:00", "repo": "zhaoolee/garss", "stars": 1426, "tags": ["rss", "rss-reader", "github-actions", "rsshub", "news-aggregator", "information-cocoon", "ad-free", "ai-skill", "automation", "docker", "web-server", "typescript"], "topics": ["rss"], "urls": [], "use_cases": ["aggregate rss feeds into an ad-free news page", "break out of my information bubble with a diverse feed", "self-host an rss reader with github actions automation", "read rss feeds in a clean minimal reader", "manage and categorize rss subscriptions", "expose an rss feed api for ai assistants or apps", "collect rss sources automatically on a schedule"], "what_it_is": "Garss (嘎!RSS) is a self-hosted RSS aggregation and reading system that uses GitHub Actions to collect hundreds of RSS feeds and render them as an ad-free, curated front-page news feed. It includes a Docker-based reader UI (garss-studio), subscription management, an open API, and AI skill integration.", "when_to_avoid": ["you need a full-featured commercial RSS reader with mobile apps and sync", "you require a project with a formal license for enterprise use (no license is specified)", "you only want a lightweight feed parser library rather than a full application", "you need offline-first or native desktop/mobile reading"], "when_to_choose": ["you want a free, open-source, self-hosted RSS aggregator with no ads or tracking", "you want automated feed collection via GitHub Actions without running your own scraper", "you want an open API and extensibility for secondary development or AI integration", "you prefer a simple, distraction-free reading experience"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/garss", "repo": "zhaoolee/garss", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.766951+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:37:29.295965+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2b97ffb8981a2b68bb789c466fe986e48da0f6449d34d17f37eeaeb8873c3480", "fetched_at": "2026-08-28T04:04:41.766951+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zhaoolee/garss"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 50}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2020, "days_push": 8, "days_rel": 122, "gap_med": null, "n_releases_24m": 1}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}