{"adoption": {"forks": 1899, "observed_at": "2026-08-28T04:09:27.035038+00:00", "stars": 5651}, "canonical_url": "https://ross.abutalabs.com/products/techxuexi", "card": {"archived": false, "artifact_type": "application", "description": "强国通 科技强国 学习强国 xuexiqiangguo 全网最好用开源网页学习强国助手：TechXueXi （懒人刷分工具 自动学习）技术强国，支持答题，支持 docker 45分/天", "domain": ["developer-tools"], "enriched": true, "function": ["workflow-automation", "web-scraping"], "health_score": 65, "homepage": "https://techxuexi.js.org/", "language": "Python", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["TechXueXi/TechXueXi", "TechXueXi/techxuexi-js"], "name": "TechXueXi", "platform": ["python", "cross-platform", "self-hosted"], "pushed_at": "2026-03-27T07:32:32+00:00", "repo": "TechXueXi/TechXueXi", "stars": 5651, "tags": ["xuexiqiangguo", "auto-learning", "score-farming", "browser-automation", "china", "automation", "docker"], "topics": ["xxqg", "auto-xxqg", "docker", "xuexi", "xuexiqiangguo", "xuexi-qiangguo", "qiang-guo", "qiangguo"], "urls": [{"kind": "homepage", "url": "https://techxuexi.js.org/"}], "use_cases": ["automatically earn daily points on xuexi qiangguo", "auto-answer quiz questions on the xuexiqiangguo app", "run a scheduled daily learning bot in docker", "automate reading and video watching tasks for study points", "lazy score-farming tool for xuexi qiangguo"], "what_it_is": "TechXueXi is an open-source Python automation tool that automatically completes daily study tasks and quizzes on China's Xuexi Qiangguo (学习强国) platform, earning up to 45 points per day. It can run locally or via Docker and includes a browser extension script variant.", "when_to_avoid": ["you need a tool for other learning platforms", "you cannot accept the legal/policy risk of automating a government study app", "you require a maintained mobile app rather than a desktop/Docker bot"], "when_to_choose": ["you need automated daily Xuexi Qiangguo point accumulation with quiz support", "you want a Docker-based headless deployment running daily", "you prefer a mature community-maintained fork with releases"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/TechXueXi/TechXueXi", "repo": "TechXueXi/TechXueXi", "role": "main", "score": 56}, {"path": "/repos/TechXueXi/techxuexi-js", "repo": "TechXueXi/techxuexi-js", "role": "plugin", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "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:09:27.035038+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:27.035038+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:55:16.296303+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0906829e31b358d575bbda993b34b3dd0aae6cffc74ac2e3d9280bd2452cff54", "fetched_at": "2026-08-28T04:09:27.035038+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TechXueXi/TechXueXi"}, {"content_hash": "fd4a022c2244f918298691ec8cbd71b6fc3a694bb9d2f08e0d73348fd860dae6", "fetched_at": "2026-08-29T08:50:01.444489+00:00", "kind": "homepage", "missing": false, "url": "https://techxuexi.js.org/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 74, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1886, "days_push": 159, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 56, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}