{"adoption": {"forks": 4823, "observed_at": "2026-08-28T04:11:47.994412+00:00", "stars": 27723}, "canonical_url": "https://ross.abutalabs.com/products/yapi", "card": {"archived": false, "artifact_type": "application", "description": "YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台", "domain": ["apis", "developer-tools", "web-development", "testing", "documentation"], "enriched": true, "function": ["api-framework", "mock-api", "testing", "documentation", "api-documentation"], "health_score": 20, "homepage": "http://yapi.smart-xwork.cn/", "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["YMFE/yapi"], "name": "YMFE/yapi", "platform": ["self-hosted"], "pushed_at": "2024-08-12T09:29:34+00:00", "repo": "YMFE/yapi", "stars": 27723, "tags": ["api-management", "mock-server", "swagger-import", "postman-alternative", "api-testing", "self-hosted", "nodejs", "web-server", "docker"], "topics": ["api", "api-manager", "api-management", "api-test"], "urls": [], "use_cases": ["manage and document rest apis for frontend and backend teams", "mock api responses before the backend is implemented", "run automated api tests with response assertions", "import existing swagger or postman collections", "self-host api docs on an intranet for security"], "what_it_is": "YApi is a self-hostable, visual API management platform for defining, documenting, mocking, and testing HTTP interfaces across developers, product managers, and QA. It supports Json5/Mockjs-based response schemas, a Postman-like debugger, automated response-assertion tests, and imports from Postman, HAR, and Swagger.", "when_to_avoid": ["you need a lightweight code-only spec tool like OpenAPI without a server", "you require actively maintained software with recent security patches", "you only need simple client-side HTTP debugging"], "when_to_choose": ["you need a self-hosted, visual API documentation and mock server", "your team wants combined API docs, debugging, and automated testing in one tool", "you want to import Swagger/Postman/HAR definitions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yapi", "repo": "YMFE/yapi", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "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:47.994412+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:47.994412+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:54:29.598894+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1f8392fb8976bb614d01eb5a3e5cf04b6c0fdd47353a76d967eeb870f05d7a0", "fetched_at": "2026-08-28T04:11:47.994412+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YMFE/yapi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 3747, "days_push": 751, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}