{"adoption": {"forks": 626, "observed_at": "2026-08-28T04:06:26.344982+00:00", "stars": 2210}, "canonical_url": "https://ross.abutalabs.com/products/sonic-cloud-real-machine-platform", "card": {"archived": true, "artifact_type": "application", "description": "🎉Back end of Sonic cloud real machine platform. Sonic云真机平台后端服务。", "domain": ["testing", "mobile-development", "developer-tools", "self-hosted"], "enriched": true, "function": ["testing", "e2e-testing", "workflow-automation", "self-hosted", "developer-tools"], "health_score": 10, "homepage": "https://soniccloudorg.github.io/", "language": "Java", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["SonicCloudOrg/sonic-server", "SonicCloudOrg/sonic-agent"], "name": "Sonic Cloud Real Machine Platform", "platform": ["jvm", "self-hosted", "cross-platform"], "pushed_at": "2025-03-24T20:56:27+00:00", "repo": "SonicCloudOrg/sonic-server", "stars": 2210, "tags": ["cloud-real-device", "mobile-device-farm", "remote-debugging", "appium", "stf", "ui-automation", "device-management", "android", "ios", "automation", "docker"], "topics": ["appium", "automation", "android", "testing", "stf"], "urls": [{"kind": "homepage", "url": "https://soniccloudorg.github.io/"}], "use_cases": ["remotely control and debug android and ios devices from a browser", "run ui automation tests across a distributed device farm", "manage a shared pool of real mobile devices for a QA team", "run scheduled unattended regression tests on multiple devices at once", "debug webview content on remote devices with devtools", "capture network traffic through an online proxy during testing", "integrate mobile device testing into jenkins devops pipelines", "deploy a self-hosted alternative to stf or commercial device clouds"], "what_it_is": "Sonic is an open-source cloud real machine platform for remote control, debugging, and automated testing of mobile devices such as Android, iOS, wearables, and in-vehicle systems. The sonic-server repository is its Java backend service, paired with sonic-agent for device connectivity.", "when_to_avoid": ["you only need simple local adb-based testing without a platform", "you require a fully managed cloud device service without self-hosting", "you cannot comply with the AGPL-3.0 license in your product", "you need desktop or browser automation rather than mobile devices"], "when_to_choose": ["you need a free, self-hosted mobile device farm with remote debugging", "your team wants codeless, drag-and-drop ui automation across many devices", "you need distributed device clusters across network segments or data centers", "you want jenkins integration and visual test reports out of the box"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/SonicCloudOrg/sonic-server", "repo": "SonicCloudOrg/sonic-server", "role": "backend", "score": 10}, {"path": "/repos/SonicCloudOrg/sonic-agent", "repo": "SonicCloudOrg/sonic-agent", "role": "plugin", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "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:26.344982+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:26.344982+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:46:06.223489+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae8ecc2ed8a4303f022ff6ba4a1c4f37aaad0ef58a1d6914586898c91bd20879", "fetched_at": "2026-08-28T04:06:26.344982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SonicCloudOrg/sonic-server"}, {"content_hash": "7f45f0833776c258b380968f456a22c9e313fbb71c122e0e31a41a7bd59a1cab", "fetched_at": "2026-08-29T10:26:27.188083+00:00", "kind": "homepage", "missing": false, "url": "https://soniccloudorg.github.io/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 13, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1844, "days_push": 527, "days_rel": 667, "gap_med": null, "n_releases_24m": 1}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}