{"adoption": {"forks": 179, "observed_at": "2026-08-28T04:06:37.164245+00:00", "stars": 2321}, "canonical_url": "https://ross.abutalabs.com/products/checkchan-dist", "card": {"archived": false, "artifact_type": "plugin", "description": "Check酱：监测网页内容变化，并发送异动到微信。亦支持http status、json和rss监测。配合自架云端，关电脑后也能运行。", "domain": ["monitoring", "web-development", "self-hosted", "developer-tools"], "enriched": true, "function": ["monitoring", "alerting", "web-scraping", "browser-extension"], "health_score": 20, "homepage": "https://ckc.ftqq.com", "language": "JavaScript", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["easychen/checkchan-dist"], "name": "easychen/checkchan-dist", "platform": ["browser-extension", "self-hosted"], "pushed_at": "2024-10-11T02:14:33+00:00", "repo": "easychen/checkchan-dist", "stars": 2321, "tags": ["web-change-monitoring", "wechat-notifications", "server-chan", "rss-monitoring", "-monitoring", "http-status-monitoring", "visual-selector", "cloud-sync", "notification", "automation", "docker", "web-server"], "topics": ["monitoring-server", "monitoring-tool", "wechat"], "urls": [], "use_cases": ["monitor a webpage for content changes and get notified in WeChat", "watch price or stock availability changes on dynamic pages", "monitor pages that require login using the browser's session", "track HTTP status changes of a URL", "watch JSON API responses for changes", "monitor RSS feeds for updates", "run monitoring tasks on a server after closing the browser"], "what_it_is": "Check酱 (CheckChan) is a web page content change monitoring tool consisting of a Chrome/Edge browser extension and a self-hostable cloud component. It uses a visual selector to monitor arbitrary page text, supports HTTP status, JSON, and RSS monitoring, and pushes change alerts to WeChat via Server酱.", "when_to_avoid": ["you need a fully open-source solution - the browser extension itself is not open source and the license restricts modifying the default notification channel", "you need to integrate with notification channels other than Server酱", "you only need simple uptime/HTTP monitoring without page content checks", "you need headless monitoring without a browser environment"], "when_to_choose": ["you need to monitor complex dynamic or login-protected web pages that simple HTTP checkers cannot handle", "you want a visual, no-code way to pick the exact page element to watch", "you want change alerts pushed to WeChat or your phone", "you want to keep monitoring running in the cloud after shutting down your computer"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/checkchan-dist", "repo": "easychen/checkchan-dist", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "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:06:37.164245+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.164245+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:38:46.829664+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f9e198cbc60f853ab9dac8dd3a179ef85d616378edf4608310a206d62c2c1ab", "fetched_at": "2026-08-28T04:06:37.164245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/easychen/checkchan-dist"}, {"content_hash": "259fc07dcea45b2dd692b5faf3dfae463669cb0ef0da1844811b28c0eece9cda", "fetched_at": "2026-08-29T10:19:11.741094+00:00", "kind": "homepage", "missing": false, "url": "https://ckc.ftqq.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1565, "days_push": 692, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}