Skip to content

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. 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 install

    Install frontend dependencies (from root folder)

    pnpm bootstrap

    Start the backend service (from /service folder)

    pnpm start

    Start the frontend in development (from root folder)

    pnpm dev
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
chatgpt-web (this)31.4kAppintermediate2.2 years agoDevelopers who want a starting point for a self-hosted chat interface in Vue 3 and Express
NextChat88.9kAppbeginner17 days agoPeople who want one chat window for several AI models
LibreChat46.6kAppintermediate4 days agoTeams 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.