{"adoption": {"forks": 674, "observed_at": "2026-08-28T04:07:29.340284+00:00", "stars": 2913}, "canonical_url": "https://ross.abutalabs.com/products/mili", "card": {"archived": false, "artifact_type": "application", "description": "mili 是一个开源的社区系统，界面优雅，功能丰富😛", "domain": ["web-development", "cms", "self-hosted", "frontend", "backend"], "enriched": true, "function": ["web-framework", "http-server", "ui-components", "orm", "database"], "health_score": 20, "homepage": "https://www.nodejs123.com/", "language": "JavaScript", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["shen100/mili"], "name": "shen100/mili", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2020-09-04T22:43:46+00:00", "repo": "shen100/mili", "stars": 2913, "tags": ["community-forum", "vue", "nestjs", "typeorm", "iview", "forum-software", "social-community", "nodejs", "web-server"], "topics": ["vue", "nodejs", "cms", "blog", "typescript", "nestjs", "typeorm", "javascript"], "urls": [], "use_cases": ["build a self-hosted online community forum", "start a discussion board website like v2ex", "create a blog plus community site with vue and nodejs", "self-host a social community platform", "launch a Q&A and topic discussion site", "run a community site with mysql and redis backend"], "what_it_is": "Mili is an open-source community/forum system with an elegant interface, built with Vue and iView on the frontend and TypeScript, NestJS, and TypeORM on the backend. It powers the Miliwang community site and can be self-hosted to run your own community.", "when_to_avoid": ["you need actively maintained software with recent releases", "you want a forum in PHP like Discourse/Flarum alternatives on shared hosting", "you need a headless CMS rather than a full community application"], "when_to_choose": ["you want a ready-made, self-hosted community/forum system with a polished UI", "your stack is Vue on the frontend and NestJS/TypeORM on the backend", "you want a full-featured forum you can customize in TypeScript"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mili", "repo": "shen100/mili", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "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:29.340284+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.340284+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:34:13.790246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b34764e9d0caf3b12c52e7ec775ab8761e1af668b473ff21fee8e840fe9d0b17", "fetched_at": "2026-08-28T04:07:29.340284+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shen100/mili"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3330, "days_push": 2189, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}