{"adoption": {"forks": 4151, "observed_at": "2026-08-28T04:11:30.505359+00:00", "stars": 20934}, "canonical_url": "https://ross.abutalabs.com/products/openmaic", "card": {"archived": false, "artifact_type": "application", "description": "Open Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click", "domain": ["artificial-intelligence", "education", "large-language-models", "web-development"], "enriched": true, "function": ["agent-framework", "chatbot", "chat-interface", "speech-recognition", "llm-inference", "web-framework"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["THU-MAIC/OpenMAIC"], "name": "THU-MAIC/OpenMAIC", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-08-26T19:12:37+00:00", "repo": "THU-MAIC/OpenMAIC", "stars": 20934, "tags": ["multi-agent", "ai-education", "virtual-classroom", "nextjs", "langgraph", "interactive-learning", "tutor-agents", "ai-agents", "web-server", "nodejs", "typescript"], "topics": [], "urls": [], "use_cases": ["run an ai-powered virtual classroom with multiple teaching agents", "self-host an interactive multi-agent learning platform", "deploy an ai tutor classroom with one click to vercel", "simulate classroom discussions with llm agents", "build an immersive online learning experience with ai agents", "use local llm models for an ai classroom"], "what_it_is": "OpenMAIC is an open-source multi-agent interactive classroom that delivers immersive AI-driven learning experiences with one click. Built with Next.js, React, TypeScript, and LangGraph, it orchestrates multiple LLM-powered agents for teaching and can be self-hosted or deployed to Vercel.", "when_to_avoid": ["you need a general-purpose agent framework library to embed in your own app", "you need a traditional LMS with gradebooks and enrollment", "you require non-LLM-based e-learning tooling"], "when_to_choose": ["you want a ready-to-deploy multi-agent educational application", "you need a self-hosted AI classroom with live demo parity", "you want LangGraph-based agent orchestration for teaching scenarios"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openmaic", "repo": "THU-MAIC/OpenMAIC", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "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:11:30.505359+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.505359+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:58:31.352180+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f3667859e7b9ce14c854908e4eee8cd8ccdbe3922c315f2826897293861c705", "fetched_at": "2026-08-28T04:11:30.505359+00:00", "kind": "readme", "missing": false, "url": "https://github.com/THU-MAIC/OpenMAIC"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 12, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 175, "days_push": 7, "days_rel": 19, "gap_med": 22, "n_releases_24m": 8}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}