{"adoption": {"forks": 536, "observed_at": "2026-08-28T04:07:02.671821+00:00", "stars": 2586}, "canonical_url": "https://ross.abutalabs.com/products/mochat", "card": {"archived": false, "artifact_type": "application", "description": "基于企业微信的开源SCRM应用开发框架&引擎，也是一套通用的企业私域流量管理系统!", "domain": ["e-commerce", "erp", "messaging-platforms"], "enriched": true, "function": ["web-framework", "api-framework", "http-server", "chatbot", "workflow-automation", "self-hosted", "developer-tools"], "health_score": 45, "homepage": "https://mo.chat", "language": "PHP", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["mochat-cloud/mochat"], "name": "mochat-cloud/mochat", "platform": ["php", "self-hosted"], "pushed_at": "2025-09-15T08:26:47+00:00", "repo": "mochat-cloud/mochat", "stars": 2586, "tags": ["scrm", "wecom", "wework", "enterprise-wechat", "private-domain-traffic", "multi-tenant", "saas", "customer-management", "marketing-automation", "hyperf", "swoole", "vue", "customer-service", "chat-archive", "customer-retention", "marketing", "customer-engagement", "linux", "web-server", "docker"], "topics": ["mochat", "wework", "weixin", "wecom"], "urls": [], "use_cases": ["build a WeCom SCRM system for my business", "manage enterprise WeChat private domain customer traffic", "multi-tenant SaaS platform for enterprise WeChat customer management", "automate customer acquisition via QR codes and welcome messages", "archive and monitor employee WeCom chat records for compliance", "run group fission and marketing campaigns on WeCom", "track customer lifecycle and prevent customer churn on WeCom"], "what_it_is": "MoChat is an open-source SCRM (Social Customer Relationship Management) application development framework and engine built on top of WeCom (Enterprise WeChat). It provides a complete multi-tenant SaaS system for managing private domain customer traffic, including customer acquisition, conversion, management, group operations, and employee risk control.", "when_to_avoid": ["your business does not use WeCom / Enterprise WeChat", "you need a general-purpose CRM not tied to the WeCom ecosystem", "you cannot deploy PHP 7.4+, Swoole, MySQL, and Redis infrastructure", "you need a lightweight single-purpose tool rather than a full SCRM platform", "you require official vendor support or SLA guarantees"], "when_to_choose": ["your business uses WeCom (Enterprise WeChat) and needs SCRM capabilities", "you want a self-hosted, open-source alternative to commercial WeCom SCRM products", "you need multi-tenant SaaS architecture for serving multiple enterprise clients", "you want to build custom WeCom applications on top of an existing framework", "you need customer chat archiving and sensitive-word alerting for compliance"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mochat", "repo": "mochat-cloud/mochat", "role": "main", "score": 42}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "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:02.671821+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.671821+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:22:26.678596+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed3e5c53dc665b67ec8505913980a8da89c4416d0af6fd048aa3e23fb6a7b3a8", "fetched_at": "2026-08-28T04:07:02.671821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mochat-cloud/mochat"}, {"content_hash": "12d356e502303eb14eebbbff1adcfb4cbdd0f2df912b4b60c5e2cb8c39245b2f", "fetched_at": "2026-08-29T10:04:53.567350+00:00", "kind": "homepage", "missing": false, "url": "https://mo.chat"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 42, "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": 2053, "days_push": 352, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 42, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}