{"adoption": {"forks": 1924, "observed_at": "2026-08-28T04:09:45.547042+00:00", "stars": 6593}, "canonical_url": "https://ross.abutalabs.com/products/jetlinks-community", "card": {"archived": false, "artifact_type": "application", "description": "JetLinks  基于Java,Spring Boot ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的企业级物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议等设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统。", "domain": ["iot", "self-hosted", "developer-tools", "analytics"], "enriched": true, "function": ["iot", "message-queue", "streaming", "monitoring", "alerting", "data-visualization", "workflow-automation", "web-framework", "api-framework", "websocket", "http-server"], "health_score": 95, "homepage": "https://www.jetlinks.cn/", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["jetlinks/jetlinks-community"], "name": "jetlinks/jetlinks-community", "platform": ["jvm", "self-hosted", "cross-platform"], "pushed_at": "2026-08-24T08:04:32+00:00", "repo": "jetlinks/jetlinks-community", "stars": 6593, "tags": ["reactive", "spring-boot", "webflux", "netty", "mqtt", "device-management", "rule-engine", "timeseries", "multi-protocol", "device-access", "real-time", "automation", "linux", "docker", "web-server"], "topics": ["iot", "java", "spring-boot", "webflux", "reactor", "r2dbc", "iot-platform", "rule-engine", "mqtt", "tcp", "websocket", "netty", "reactive-streams", "jetlinks"], "urls": [], "use_cases": ["build an iot platform to manage devices from multiple vendors", "connect mqtt and tcp devices to a unified management system", "set up device alerts and notification rules", "collect and visualize real-time sensor data", "self-host an open-source iot backend in java", "adapt heterogeneous device protocols into one platform", "forward device messages to other systems"], "what_it_is": "JetLinks is an open-source, fully reactive enterprise IoT platform built on Java 17, Spring Boot 3.x, WebFlux, Netty, and Reactor. It provides unified device access and management across multiple protocols (MQTT, TCP, UDP, CoAP, HTTP), a flexible rule engine for alerts and scene linkage, real-time data processing, and data visualization.", "when_to_avoid": ["you need a lightweight embedded or edge-only solution", "your team is not comfortable with Java and reactive programming", "you only need simple single-protocol device connectivity", "you require a fully managed cloud iot service rather than self-hosting"], "when_to_choose": ["you need a self-hosted, extensible iot platform with full source access", "you must unify devices speaking different protocols (MQTT, TCP, UDP, HTTP, CoAP)", "you want a reactive Java stack that scales to large device counts", "you need built-in rule engine, alerting, and data visualization out of the box"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jetlinks-community", "repo": "jetlinks/jetlinks-community", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "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:45.547042+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:45.547042+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:43:33.470483+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "614efd3758d8b58dd42c53d77460b8000c131f7dc173485b7a5d1662181a4e1b", "fetched_at": "2026-08-28T04:09:45.547042+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetlinks/jetlinks-community"}, {"content_hash": "15835c8a1395dd9c940f8d5de2914c8f4b97e082dbc525e368afc850e9b744df", "fetched_at": "2026-08-29T08:39:54.158811+00:00", "kind": "homepage", "missing": false, "url": "https://www.jetlinks.cn/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 22}, "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": 2435, "days_push": 9, "days_rel": 310, "gap_med": 197.0, "n_releases_24m": 3}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}