{"adoption": {"forks": 420, "observed_at": "2026-08-28T04:06:55.794219+00:00", "stars": 2489}, "canonical_url": "https://ross.abutalabs.com/products/aistudioproxyapi", "card": {"archived": false, "artifact_type": "service", "description": "FastAPI + Playwright + Camoufox 中间层代理服务器，兼容OpenAI API且支持参数转发。项目通过浏览器自动化将API请求转发到 Google AI Studio Chat，并同样按照OpenAI标准格式返回的工具。内置调试WebUI面板。", "domain": ["large-language-models", "apis", "self-hosted", "artificial-intelligence"], "enriched": true, "function": ["proxy", "http-server", "api-framework", "web-scraping", "chatbot"], "health_score": 85, "homepage": "https://linux.do/u/cjackhwang", "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["CJackHwang/AIstudioProxyAPI"], "name": "CJackHwang/AIstudioProxyAPI", "platform": ["python", "self-hosted", "windows"], "pushed_at": "2026-04-22T12:20:26+00:00", "repo": "CJackHwang/AIstudioProxyAPI", "stars": 2489, "tags": ["openai-compatible-api", "google-ai-studio", "browser-automation", "playwright", "camoufox", "fastapi", "reverse-proxy", "function-calling", "streaming", "automation", "docker", "linux", "macos"], "topics": ["camoufox", "google-ai-studio", "middleware", "openai-api", "playwright", "proxy", "python", "reverse-proxy", "api", "fastapi", "openai"], "urls": [], "use_cases": ["use gemini models from ai studio through an openai-compatible api", "connect google ai studio to tools that expect the openai api format", "self-host a proxy for ai studio chat completions with streaming", "use function calling with ai studio models", "rotate multiple ai studio auth profiles to avoid rate limits", "run ai studio as a local llm api server"], "what_it_is": "A self-hosted proxy server that exposes Google AI Studio's web chat interface as an OpenAI-compatible API using FastAPI and Camoufox/Playwright browser automation. It supports streaming, function calling (auto/native/emulated modes), auth profile rotation, and includes a built-in debug Web UI.", "when_to_avoid": ["you have an official Gemini API key and want a supported, ToS-compliant integration", "you need production-grade SLAs or guaranteed availability, since browser automation is fragile against UI changes", "you need high-concurrency serving, as each request is driven through an automated browser session"], "when_to_choose": ["you want OpenAI API compatibility for Google AI Studio's free web access to Gemini models", "you need function calling, streaming, or auth profile rotation on top of AI Studio", "you want a self-hosted bridge with a debug Web UI and CLI launcher"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aistudioproxyapi", "repo": "CJackHwang/AIstudioProxyAPI", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "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:06:55.794219+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:55.794219+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:27:49.977175+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6323f38462280d122d6b9084b5fa612b6bed6f603ecaffd7afb69ae8cdec2ad0", "fetched_at": "2026-08-28T04:06:55.794219+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CJackHwang/AIstudioProxyAPI"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 78, "longevity": 35, "rhythm": 80}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 494, "days_push": 133, "days_rel": 138, "gap_med": 3, "n_releases_24m": 50}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}