
ChatGPT Web
A self-hosted web chat page for ChatGPT-style models, built with Express and Vue 3.
- Stars
- 31.4k
- Forks
- 10.6k
- Licence
- MIT
- Language
- Vue
- Last update
- 2.2 years ago
- Type
- App
This repository is archived and no longer maintained.
What it is
This is a web page you run on your own machine or server that lets you chat with OpenAI models through a browser. It has a Node.js/Express backend and a Vue 3 frontend, and the README says it is a demo meant for open-source learning. You supply either an OpenAI API key or a web access token, and the app forwards your messages.
- Run a private chat page on your own server with an OpenAI API key
- Set AUTH_SECRET_KEY to add a password in front of the page when it is public
- Use Docker to start the app without installing Node.js locally
- Study the Express backend and Vue 3 frontend as a reference codebase
Great for
- Developers who want a starting point for a self-hosted chat interface in Vue 3 and Express
- Students learning how a chat front end talks to a backend that calls an AI API
- People who already have an OpenAI API key and want a simple browser chat page they control
Not ideal for
- Anyone who wants a maintained product: the repository is archived and its last push was 2024-08-16, so it will not receive updates
- People who do not want to handle a Node.js setup, environment files, or API keys
- Users who need a privacy-sensitive setup, since the README warns that the access-token method exposes the token to third-party reverse proxies
How to get it
- 1
Clone and build from source
You'll need: Node.js ^16 || ^18 || ^19 · pnpm · An OpenAI API key or accessToken
Install backend dependencies (from /service folder)
pnpm installInstall frontend dependencies (from root folder)
pnpm bootstrapStart the backend service (from /service folder)
pnpm startStart the frontend in development (from root folder)
pnpm dev - 2
Run it
- Copy service/.env.example to service/.env and fill in OPENAI_API_KEY or OPENAI_ACCESS_TOKEN
- Run pnpm install in the /service folder and pnpm bootstrap in the root folder
- Start the backend with pnpm start in /service
- Start the frontend with pnpm dev in the root folder and open the local address it prints
- 3
Get the most out of it
- Set MAX_REQUEST_PER_HOUR to limit usage if the page is publicly reachable
- Set AUTH_SECRET_KEY to require a password for access
- Use OPENAI_API_MODEL to choose a model; the default is gpt-3.5-turbo
- Use HTTPS_PROXY or ALL_PROXY if your network needs a proxy to reach the API
- Use Docker compose with a pinned image to deploy the app on a server
Downloads
Strengths
- MIT licensed, so you can read, modify, and reuse the code
- Supports both an official API key and an access-token method, as described in the README
- Includes Docker, Railway, and Sealos deployment options in the README
Trade-offs
- Archived, so there are no new fixes or features from maintainers
- The README itself says the access-token method is unreliable and has rate limits, and that it relies on third-party servers
- Requires Node 16, 18, or 19 and pnpm, and the setup involves editing environment files
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| chatgpt-web (this) | 31.4k | App | intermediate | 2.2 years ago | Developers who want a starting point for a self-hosted chat interface in Vue 3 and Express |
| NextChat | 88.9k | App | beginner | 17 days ago | People who want one chat window for several AI models |
| LibreChat | 46.6k | App | intermediate | 4 days ago | Teams that want one shared chat interface across several AI providers |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.