{"adoption": {"forks": 704, "observed_at": "2026-08-28T04:09:02.542686+00:00", "stars": 4925}, "canonical_url": "https://ross.abutalabs.com/products/wukongim", "card": {"archived": false, "artifact_type": "service", "description": "More than just IM 不只是即时通讯(IM)", "domain": ["chatbots", "iot", "self-hosted", "microservices"], "enriched": true, "function": ["websocket", "http-server", "message-queue", "chatbot", "rpc"], "health_score": 98, "homepage": "https://githubim.com", "language": "Go", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["WuKongIM/WuKongIM"], "name": "WuKongIM/WuKongIM", "platform": ["go", "self-hosted", "cross-platform"], "pushed_at": "2026-08-26T15:21:37+00:00", "repo": "WuKongIM/WuKongIM", "stars": 4925, "tags": ["instant-messaging", "im-server", "chat-server", "channel-based", "raft", "pebble", "pub-sub", "offline-sync", "end-to-end-encryption", "webchat", "customer-service", "live-chat", "webrtc-signaling", "messaging", "real-time", "linux", "docker", "kubernetes"], "topics": ["chat", "im", "message", "agent"], "urls": [], "use_cases": ["build a self-hosted chat app with group and private messaging", "send push notifications and real-time updates to users", "connect IoT devices via a lightweight messaging channel", "power live stream chat with high fan-out", "add customer service live chat to a product", "build an AI chatbot messaging backend", "implement WebRTC signaling for video calls"], "what_it_is": "WuKongIM is a high-performance, channel-oriented instant messaging server written in Go that handles message persistence, replication, ordering, presence, and offline sync with zero external dependencies. It supports single-node and distributed cluster deployments and ships SDKs for iOS, Android, Web, and Flutter.", "when_to_avoid": ["you need a fully stable API - v3 is in beta and formats may change", "you need cross-country data node deployment, which is not yet supported", "you want a fully managed SaaS chat service rather than self-hosting", "your project requires a permissively licensed dependency - licensing should be verified"], "when_to_choose": ["you need a self-contained IM server with no external database, cache, or message queue", "you need very high message throughput (tens of thousands of messages per second per node)", "you want to scale from a single node to a Raft-based cluster with online expansion", "you need guaranteed per-channel message ordering, offline sync, and multi-device sessions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/wukongim", "repo": "WuKongIM/WuKongIM", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "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:02.542686+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.542686+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.170763+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ad7052e31481e778b6d61104b7a49659bf24947f185cd2042a0fb460f6c52bc", "fetched_at": "2026-08-28T04:09:02.542686+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WuKongIM/WuKongIM"}, {"content_hash": "cc7849b07cf3454445757cf20898688a33113b37b439deff1e6ecc44c5f0efa8", "fetched_at": "2026-08-29T08:59:57.601607+00:00", "kind": "homepage", "missing": false, "url": "https://githubim.com"}, {"content_hash": "6a8a6758c8f3c9df1146559cab757a00f4cbcd567d3e850c58d65c91da7d621a", "fetched_at": "2026-08-29T08:59:57.603968+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started"}, {"content_hash": "3b8ec4c6924e927eb39e44ad50d7dc57969693b062deb7548c280fda5e54aaab", "fetched_at": "2026-08-29T08:59:57.605686+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/installation/overview"}, {"content_hash": "c427165cec7a001d96c620e66f2ea79479797594c1067bd76fd33d244159e25e", "fetched_at": "2026-08-29T08:59:57.607289+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/stress-report"}, {"content_hash": "e5634b8be810e0fea11819d805a94de62935fe1878ccaa20952cc82416512bea", "fetched_at": "2026-08-29T08:59:57.608798+00:00", "kind": "site_page", "missing": false, "url": "https://docs.githubim.com/zh/getting-started/learning"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 86, "rhythm": 80}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1213, "days_push": 7, "days_rel": 133, "gap_med": 27, "n_releases_24m": 20}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}