{"adoption": {"forks": 5336, "observed_at": "2026-08-28T04:05:28.302558+00:00", "stars": 1727}, "canonical_url": "https://ross.abutalabs.com/products/hajimi", "card": {"archived": true, "artifact_type": "service", "description": "这是一个基于 FastAPI 构建的 Gemini API 代理", "domain": ["large-language-models", "apis", "self-hosted", "backend", "web-development"], "enriched": true, "function": ["api-gateway", "proxy", "http-server", "middleware", "rate-limiting", "chatbot"], "health_score": 10, "homepage": null, "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["wyeeeee/hajimi"], "name": "wyeeeee/hajimi", "platform": ["python", "self-hosted", "cross-platform"], "pushed_at": "2025-09-21T02:03:39+00:00", "repo": "wyeeeee/hajimi", "stars": 1727, "tags": ["gemini-api-proxy", "openai-compatible", "fastapi", "api-key-pooling", "huggingface-spaces", "vertex-ai", "docker", "web-server"], "topics": [], "urls": [], "use_cases": ["use gemini models through openai-compatible clients like sillytavern", "proxy gemini api with multiple api keys and rotation", "self-host an openai-format endpoint for gemini", "deploy a gemini proxy on huggingface spaces for free", "add rate limiting and password protection to a gemini proxy", "enable gemini web search via model name suffix", "convert openai chat requests to gemini format"], "what_it_is": "Hajimi is a FastAPI-based proxy for Google's Gemini API that exposes OpenAI-compatible endpoints like /v1/chat/completions. It provides API key pooling and rotation, rate limiting, optional password protection, fake streaming, concurrent request caching, and web search mode, deployable on Hugging Face Spaces, Claw Cloud, Render, or locally.", "when_to_avoid": ["you need a fully supported, production-hardened gateway with a clear license (license is unspecified)", "you only use OpenAI or Anthropic models and never Gemini", "you require strict compliance, since the proxy includes request-disguise features that may violate provider terms"], "when_to_choose": ["you need an OpenAI-compatible gateway in front of Gemini or Vertex AI", "you want key pooling, rate limits, and a web UI for configuration", "you want free one-click deployment on Hugging Face Spaces or Claw Cloud"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hajimi", "repo": "wyeeeee/hajimi", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "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:05:28.302558+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.302558+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:32:30.028080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6eedecaf60cae490b8373142e68274c170ab8b863586d031648729aadd4737be", "fetched_at": "2026-08-28T04:05:28.302558+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wyeeeee/hajimi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 43, "longevity": 37, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 520, "days_push": 347, "days_rel": 454, "gap_med": 1, "n_releases_24m": 20}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}