← all repositories
xqdoo00o/chatgpt-web

One HTML file, a full ChatGPT client

A single-file, zero-build frontend that talks to OpenAI—and now DeepSeek, Gemini, and Claude too.

1k stars HTML Chat Assistants
chatgpt-web
Velocity · 7d
+0.9
★ / day
Trend
steady
star history

What it does

This is a pure-JavaScript ChatGPT interface packed into one index.html. Drop it on any static host, add your API key, and you have a fully functional chat client with markdown rendering, syntax highlighting, dark mode, voice input, text-to-speech, and session management. No build step, no dependencies to install, no framework to learn.

The interesting bit

The README spends more time on nginx and Caddy reverse-proxy configs than on the app itself—and that’s the point. The author treats the frontend as a triviality and focuses on the hard part: safely proxying multiple AI providers (OpenAI, DeepSeek, Gemini, Claude) through a single custom key, with gzip for SSE streams and socat tunnels for region-blocked servers. It’s a deployment guide wearing a chat UI as a hat.

Key highlights

  • Single-file deployment: just index.html plus optional env.js for API credentials
  • Multi-provider support via reverse proxy: OpenAI, DeepSeek, Gemini, Claude with unified key auth
  • Voice input and speech output (Bing/Azure/system voices, with per-language recognition)
  • PWA-ready with service worker, offline icon, and manifest
  • HTML file encryption via a separate web tool—password-protect the frontend, though the proxy remains exposed
  • Extensive customization: themes, shortcuts, typing speed, context limits, auto-read, prompt libraries

Caveats

  • The “encryption” only obscures the HTML; API traffic and proxy endpoints are unaffected
  • PWA updates require manual sw.js edits; rename index.html and you must patch the worker
  • Voice input is Chrome-only and requires HTTPS or localhost
  • Several warnings about API key exposure over HTTP suggest the threat model is real

Verdict

Grab this if you need a quick, private ChatGPT frontend for personal use or a small team, especially behind an existing reverse proxy. Skip it if you want a managed SaaS, real multi-user auth, or a modern component framework—the value here is in the deployment patterns, not the UI architecture.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.