{"adoption": {"forks": 3185, "observed_at": "2026-08-28T04:11:30.099555+00:00", "stars": 20406}, "canonical_url": "https://ross.abutalabs.com/products/dokit", "card": {"archived": false, "artifact_type": "library", "description": "一款面向泛前端产品研发全生命周期的效率平台。", "domain": ["mobile-development", "developer-tools", "testing", "frontend"], "enriched": true, "function": ["monitoring", "testing", "developer-tools", "mocking", "logging"], "health_score": 55, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["didi/DoKit"], "name": "didi/DoKit", "platform": ["cross-platform"], "pushed_at": "2025-08-12T11:43:04+00:00", "repo": "didi/DoKit", "stars": 20406, "tags": ["debug-panel", "flutter", "miniapp", "performance-monitoring", "mock-gps", "weex", "doraemonkit", "android", "ios", "web-server"], "topics": ["ios", "tools", "monitoring", "performance", "android", "mockgps", "miniapp"], "urls": [], "use_cases": ["monitor fps cpu and memory of a mobile app during development", "switch app environments and manage debug settings from one panel", "mock gps location on android for testing", "mock network requests during mobile app testing", "integrate custom business debug tools into a shared panel", "debug wechat mini programs and flutter apps"], "what_it_is": "DoKit (DoraemonKit) is an efficiency platform for the full lifecycle of pan-frontend product development, offering in-app debug toolkits for Android, iOS, Flutter, mini-programs, and Web. It consolidates common testing and performance tools (FPS, CPU/memory monitoring, environment switching, mock GPS, visual tools) into a unified panel, optionally extended via the dokit.cn platform.", "when_to_avoid": ["you need tools in production/release builds - DoKit is designed for debug environments only", "you need backend or server-side monitoring rather than client-side app debugging", "you need a lightweight single-purpose tool rather than a full SDK integration"], "when_to_choose": ["you are developing or testing Android, iOS, Flutter, or mini-program apps and want a unified in-app debug toolkit", "you want to consolidate scattered debug features like environment switching and performance monitoring", "your team wants a mature, widely adopted debugging platform with platform-side extensions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dokit", "repo": "didi/DoKit", "role": "main", "score": 50}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "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:11:30.099555+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.099555+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:58:51.625329+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2bc5eb66348bc87dc2ffcfccc08df368f784ae4ddc09b6af4e27076fe12806b8", "fetched_at": "2026-08-28T04:11:30.099555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/DoKit"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 36, "longevity": 100, "rhythm": 40}, "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": 2941, "days_push": 386, "days_rel": 439, "gap_med": 1, "n_releases_24m": 4}, "score": 50, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}