// the find
anse-app/chatgpt-demo
Minimal web UI for ChatGPT.
A small Astro and TypeScript front end that sends chat messages to OpenAI's chat API and streams the replies back, with an optional site password and several deploy targets. It suits someone who wants a private ChatGPT-style page for a small group and does not need accounts or chat history.
The code is small enough to read in an afternoon: an index page, a password page, two API routes and one OpenAI helper, so the request path is easy to trace when something breaks. Deployment is covered for Vercel, Netlify, Docker and Sealos with the same environment variables throughout. The Docker image takes its settings at run time through hack/docker-env-replace.sh, so one prebuilt image can be pointed at a different key or head script without a rebuild. The environment table addresses the blockers people actually hit: HTTPS_PROXY for networks where OpenAI is unreachable, OPENAI_API_BASE_URL for a compatible gateway, and SITE_PASSWORD for keeping a deployment private without writing auth code.
It is stale. The last push was 2023-12-27, and the default model is still gpt-3.5-turbo, so anyone adopting it now inherits an unmaintained codebase and an older model. The README also sends people elsewhere. Its top section pitches Anse as the successor, the deploy buttons and discussion links point at ddiu8081/chatgpt-demo rather than this repo, and the live demo is down because the API key ran out, so it is unclear which copy is the source of truth. Access control is a shared password with no per-user limits, and nothing in the README caps spend, so anyone with the password can burn the OpenAI key; the demo's own notice shows how that ends. PUBLIC_SECRET_KEY uses Astro's PUBLIC_ prefix, which exposes the value to the browser, so it does not protect the API. The visible tree has no test directory, and the workflows listed cover lint, Docker builds and upstream sync.