{"adoption": {"forks": 646, "observed_at": "2026-08-28T04:07:10.888124+00:00", "stars": 2689}, "canonical_url": "https://ross.abutalabs.com/products/cxmooc-tools", "card": {"archived": true, "artifact_type": "plugin", "description": "一个 超星(学习通)/智慧树(知到)/中国大学mooc 学习工具,火狐,谷歌,油猴支持.全自动任务,视频倍速秒过,作业考试题库,验证码自动打码(੧ᐛ੭挂科模式,启动)", "domain": ["education", "browser-extensions"], "enriched": true, "function": ["browser-extension", "workflow-automation"], "health_score": 10, "homepage": "https://cx.icodef.com/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["CodFrm/cxmooc-tools"], "name": "CodFrm/cxmooc-tools", "platform": ["browser", "browser-extension"], "pushed_at": "2022-02-07T04:07:27+00:00", "repo": "CodFrm/cxmooc-tools", "stars": 2689, "tags": ["chaoxing", "xuexitong", "zhihuishu", "zhidao", "china-university-mooc", "tampermonkey", "userscript", "course-automation", "video-speed-control", "question-bank", "captcha-solving", "auto-answer", "chrome-extension", "firefox-addon", "typescript", "automation"], "topics": ["chrome", "plugin"], "urls": [], "use_cases": ["automatically finish Chaoxing Xuexitong course videos", "auto answer homework and exams on Zhihuishu Zhidao", "speed through China University MOOC videos", "browser extension to auto-watch online classes", "Tampermonkey script for brushing online courses", "auto solve CAPTCHAs on Chinese MOOC sites", "look up quiz answers from a shared question bank"], "what_it_is": "A browser extension and Tampermonkey userscript that automates coursework on Chinese MOOC platforms including Chaoxing (Xuexitong), Zhihuishu (Zhidao), and China University MOOC. It auto-plays, mutes, and fast-forwards course videos, answers homework and exam questions from a crowdsourced question bank, and automatically solves CAPTCHAs.", "when_to_avoid": ["Your course platform is not one of the supported Chinese MOOC sites", "Automating coursework would violate your institution's academic integrity rules or the platform's terms of service", "You need actively maintained support, since the last release dates to February 2022 and recent platform changes may not be handled"], "when_to_choose": ["You study on Chaoxing, Zhihuishu, or China University MOOC and want to automate video watching, reading tasks, and quizzes", "You want a ready-to-install Chrome/Firefox extension or Tampermonkey userscript instead of maintaining your own scripts", "You want answers drawn from a crowdsourced question bank for common course questions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cxmooc-tools", "repo": "CodFrm/cxmooc-tools", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "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:07:10.888124+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:10.888124+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:17:41.828233+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc79a107c1b8db295417b8b1fc8767ae02412774c98389a01c2e608db6288af9", "fetched_at": "2026-08-28T04:07:10.888124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CodFrm/cxmooc-tools"}, {"content_hash": "4a724cc9fbe4ede40a279f5eba1801a4395142de59acfb99a4c7b9b679902204", "fetched_at": "2026-08-29T10:00:02.435965+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/cxmooc-tools"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3142, "days_push": 1668, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}