{"adoption": {"forks": 713, "observed_at": "2026-08-28T04:07:44.503252+00:00", "stars": 3127}, "canonical_url": "https://ross.abutalabs.com/products/869413421-chatgpt-web", "card": {"archived": false, "artifact_type": "application", "description": "基于ChatGPT3.5 API实现的私有化web程序", "domain": ["chatbots", "large-language-models", "self-hosted", "web-development"], "enriched": true, "function": ["chatbot", "chat-interface", "http-server", "auth", "web-framework"], "health_score": 20, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["869413421/chatgpt-web"], "name": "869413421/chatgpt-web", "platform": ["windows", "self-hosted", "go"], "pushed_at": "2024-03-25T06:12:48+00:00", "repo": "869413421/chatgpt-web", "stars": 3127, "tags": ["chatgpt", "openai-api", "gpt-3.5", "gpt-4", "self-hosted-chat", "docker-compose", "jwt-auth", "proxy-support", "linux", "macos", "docker", "web-server"], "topics": ["chatgpt", "website"], "urls": [], "use_cases": ["deploy a private chatgpt web app on my own server", "self-host a chatgpt interface with my own api key", "run a chatgpt website behind docker with basic auth", "customize ai personality and chat parameters for a chatbot site", "access chatgpt through a proxy in restricted regions", "host a simple gpt-3.5 chat ui for a small team"], "what_it_is": "A self-hosted web application written in Go that wraps the OpenAI ChatGPT 3.5/4 API into a private chat website with configurable model parameters, markdown rendering, and conversation context. It ships as prebuilt binaries, Docker images, and docker-compose files, with optional basic auth/JWT user login and SOCKS5/HTTP proxy support.", "when_to_avoid": ["you need multi-user management, billing, or advanced chat features beyond basic Q&A", "you want a modern maintained stack - the project's last release was March 2024 and OpenAI API versions it targets are dated", "you need streaming responses or plugin/tool use typical of newer chat frontends", "you require enterprise-grade security or scalability"], "when_to_choose": ["you want a one-command, self-hosted ChatGPT web UI with binaries or Docker", "you need proxy support to reach the OpenAI API from restricted networks", "you want simple configurable bot personality, temperature, and token settings", "you prefer a lightweight Go single-binary deployment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/869413421-chatgpt-web", "repo": "869413421/chatgpt-web", "role": "main", "score": 21}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "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:07:44.503252+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.503252+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:26:21.050478+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "362eb639cad549fc9b3c290a91a4ed8901c34cd9fea1485a3155602007393735", "fetched_at": "2026-08-28T04:07:44.503252+00:00", "kind": "readme", "missing": false, "url": "https://github.com/869413421/chatgpt-web"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 92, "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": 1300, "days_push": 891, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 21, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}