explaingit

chanzhaoyu/chatgpt-web

31,666VueAudience · developerComplexity · 3/5StaleLicenseSetup · moderate

TLDR

Self-hosted ChatGPT web interface you can deploy on your own server, connecting to OpenAI's API with your own key.

Mindmap

mindmap
  root((repo))
    What it does
      Self-hosted chat UI
      Connect to OpenAI API
      Conversation history
      Code syntax highlighting
    Features
      Light and dark themes
      Multiple languages
      Export as images
      Password protection
    Tech stack
      Vue 3 frontend
      Express backend
      Node.js runtime
      pnpm package manager
    Deployment
      Docker support
      Manual setup
      Proxy settings
      Rate limiting
    Use cases
      Private ChatGPT instance
      Team chat interface
      Custom branding
      Learning project

Things people build with this

USE CASE 1

Deploy a private ChatGPT interface on your own server instead of using OpenAI's website.

USE CASE 2

Build a team chat application with your own API key and control over who can access it.

USE CASE 3

Customize the chat UI with your branding, themes, and language preferences.

USE CASE 4

Learn how to build a full-stack web app connecting a Vue frontend to a Node.js backend with API integration.

Tech stack

Vue 3ExpressNode.jspnpm

Getting it running

Difficulty · moderate Time to first run · 30min

Requires OpenAI API key and Node.js/pnpm environment setup.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

ChatGPT Web is an open-source project that lets you self-host a ChatGPT-style chat interface on your own server, connecting to OpenAI's API using your own API key. The description is in Chinese and the README explains it is intended purely as an open-source learning project, free to use, with no commercial offering attached. The project supports two ways of connecting to ChatGPT. The first uses an official OpenAI API key with the GPT-3.5-turbo model, which is reliable but costs money per request. The second uses a web access token obtained from the ChatGPT website, which bypasses the paid API through an unofficial reverse proxy, though this approach is less stable and exposes your session token to a third-party server. The application has a Vue 3 frontend that provides a familiar chat interface with conversation history, code formatting with syntax highlighting, light and dark themes, multiple language support, and the ability to export conversations as images. The backend is an Express server written in Node.js that handles the communication with OpenAI and manages configuration. It supports proxy settings, rate limiting, and optional password-based access control to restrict who can use the deployed instance. You would use this when you want a self-hosted, customizable ChatGPT interface that you control, rather than relying on OpenAI's own website. It can be deployed with Docker or manually and works on any server that can run Node.js. The tech stack is Vue 3 for the frontend and Express with Node.js for the backend. Package management uses pnpm. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
How do I set up chatgpt-web on my own server using Docker and my OpenAI API key?
Prompt 2
Show me how to add password protection to my chatgpt-web instance so only authorized users can chat.
Prompt 3
What are the differences between using an OpenAI API key versus a web access token in chatgpt-web, and which should I choose?
Prompt 4
How can I customize the chatgpt-web interface to match my brand colors and add my company logo?
Prompt 5
Walk me through deploying chatgpt-web manually without Docker on a Linux server.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.