{"adoption": {"forks": 377, "observed_at": "2026-08-28T04:04:57.471990+00:00", "stars": 1520}, "canonical_url": "https://ross.abutalabs.com/products/xiaoy233-chat2api", "card": {"archived": false, "artifact_type": "application", "description": "Chat2API enables zero-cost access to leading AI models by leveraging official web UIs. It supports providers such as DeepSeek, GLM, Kimi, MiniMax, Qwen, and Z.ai, and seamlessly integrates with tools like openlcaw, Cline, and Roo-Code.", "domain": ["large-language-models", "artificial-intelligence", "developer-tools", "self-hosted"], "enriched": true, "function": ["llm-inference", "api-framework", "http-server", "proxy", "chatbot"], "health_score": 90, "homepage": "https://chat2api-doc.vercel.app/", "language": "TypeScript", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["xiaoY233/Chat2API"], "name": "xiaoY233/Chat2API", "platform": ["cross-platform", "windows"], "pushed_at": "2026-05-28T05:35:43+00:00", "repo": "xiaoY233/Chat2API", "stars": 1520, "tags": ["openai-compatible-api", "free-api", "electron-app", "multi-provider", "reverse-proxy", "function-calling", "desktop", "macos", "linux"], "topics": ["chatgpt-api", "deepseek-chat", "free-api", "glm-5", "kimi-k2", "qwen3", "minimax-chat"], "urls": [], "use_cases": ["use free AI models through an OpenAI-compatible local API", "connect Cline or Roo-Code to DeepSeek and Qwen without paying for API keys", "proxy multiple AI chat providers behind one unified endpoint", "add function calling to models that lack native tool support", "monitor token usage and request success rates for local AI proxies"], "what_it_is": "Chat2API is an Electron-based desktop application that exposes OpenAI-compatible API endpoints backed by official AI provider web UIs such as DeepSeek, GLM, Kimi, MiniMax, Qwen, and Z.ai. It includes a dashboard for monitoring requests, API key management, model mapping, and context management so any OpenAI-compatible client works out of the box.", "when_to_avoid": ["you need production-grade reliability or guaranteed SLAs", "you require official API features like fine-tuning or batch jobs", "web-UI scraping violates the provider's terms of service for your use case"], "when_to_choose": ["you want zero-cost access to models via official web UIs", "you need an OpenAI-compatible endpoint for coding assistants like Cline", "you want unified management of multiple AI provider accounts"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xiaoy233-chat2api", "repo": "xiaoY233/Chat2API", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "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:04:57.471990+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.471990+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:56.194062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0185bbdc65ba48d4aa38e654822051ab6e4022a28ae179c6f74bbb95c00bc0ab", "fetched_at": "2026-08-28T04:04:57.471990+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xiaoY233/Chat2API"}, {"content_hash": "dbae4988410933fd96159f07f383e07f0fb70b2e290afc1bb4da606d1088f489", "fetched_at": "2026-08-29T11:35:21.065525+00:00", "kind": "homepage", "missing": false, "url": "https://chat2api-doc.vercel.app/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 13, "rhythm": 86}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 188, "days_push": 97, "days_rel": 98, "gap_med": 12, "n_releases_24m": 8}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}