Go to file
Niek van der Maas 0ce386a209 Re-add `?key=` support, fixes #222 2023-07-10 14:42:57 +02:00
.github Replace screenshot 2023-06-09 12:02:19 +02:00
.vscode Refactor and add many features 2023-05-27 05:25:54 -05:00
mocked_api lock mocked api package versions 2023-03-24 09:44:51 -04:00
src Re-add `?key=` support, fixes #222 2023-07-10 14:42:57 +02:00
src-tauri Bump tauri from 1.2.4 to 1.2.5 in /src-tauri 2023-05-03 21:59:30 +00:00
.all-contributorsrc docs: update .all-contributorsrc 2023-06-20 16:37:14 +00:00
.env Fix endpoint 2023-06-07 11:52:08 -05:00
.eslintrc.cjs Ignore linting JSON 2023-03-27 15:43:03 +02:00
.gitignore Merge branch 'Niek:main' into main 2023-03-21 08:45:09 +08:00
Dockerfile Small enhancements 2023-03-20 14:08:40 +01:00
LICENSE Add license (GPL-3) 2023-03-08 13:49:05 +01:00
README.md Add clarification to README, related to #212 2023-07-03 10:39:03 +02:00
docker-compose.yml Depend on mocked service, volume mount 2023-03-24 09:20:57 +01:00
index.html Fixes Add mobile-web-app-capable #133 2023-05-22 10:33:33 +02:00
package-lock.json Merge pull request #220 from Niek/dependabot/npm_and_yarn/postcss-8.4.25 2023-07-10 10:52:49 +02:00
package.json Merge pull request #220 from Niek/dependabot/npm_and_yarn/postcss-8.4.25 2023-07-10 10:52:49 +02:00
svelte.config.js Fix #36 - added ESlint config with ts-standard + svelte support 2023-03-20 13:42:47 +01:00
tsconfig.json Fix annoying errors with tsconfig 2023-03-21 09:00:46 +01:00
tsconfig.node.json Initial commit 2023-03-02 22:12:55 +04:00
vite.config.ts Use relative URL in build 2023-05-31 19:37:58 -05:00

README.md

ChatGPT-web

GitHub Workflow Status JavaScript Style Guide GitHub All Contributors

URL: https://niek.github.io/chatgpt-web/

Screenshot of ChatGPT-web

ChatGPT-web is a simple one-page web interface to the OpenAI ChatGPT API. To use it, you need to register for an OpenAI API key first. All messages are stored in your browser's local storage, so everything is private. You can also close the browser tab and come back later to continue the conversation.

Features

  • Open source: ChatGPT-web is open source (GPL-3.0), so you can host it yourself and make changes as you want.
  • Private: All chats and messages are stored in your browser's local storage, so everything is private.
  • Customizable: You can customize the prompt, the temperature, and other model settings. Multiple models (including GPT-4) are supported.
  • Cheaper: ChatGPT-web uses the commercial OpenAI API, so it's much cheaper than a ChatGPT Plus subscription.
  • Fast: ChatGPT-web is a single-page web app, so it's fast and responsive.
  • Mobile-friendly: ChatGPT-web is mobile-friendly, so you can use it on your phone.
  • Voice input: ChatGPT-web supports voice input, so you can talk to ChatGPT. It will also talk back to you.
  • Pre-selected prompts: ChatGPT-web comes with a list of pre-selected prompts, so you can get started quickly.
  • Export: ChatGPT-web can export chats as a Markdown file, so you can share them with others.
  • Code: ChatGPT-web recognizes and highlights code blocks and allows you to copy them with one click.
  • Desktop app: ChatGPT-web can be bundled as a desktop app, so you can use it outside of the browser.
  • Image generation: ChatGPT-web can generate images using the DALL·E model by using the prompt "show me an image of ...".
  • Streaming: ChatGPT-web can stream the response from the API, so you can see the response as it's being generated.

Development

To run the development server, run

npm ci
npm run dev # or: npm run build

To update the awesome-chatgpt-prompts subtree, run :

git subtree pull --prefix src/awesome-chatgpt-prompts https://github.com/f/awesome-chatgpt-prompts.git main --squash

Use with Docker compose

docker compose up -d

Mocked api

If you don't want to wait for the API to respond, you can use the mocked API instead. To use the mocked API, edit the .env file at root of the project ans set the key VITE_API_BASE=http://localhost:5174 in it. Then, run the docker compose up -d command above.

You can customize the mocked API response by sending a message that consists of d followed by a number, it will delay the response the the specified number of seconds. You can customize the length of the response by including l followed by a number, it will return a response with the specified number of sentences. For example, sending the message d2 l10 will result in a 2 seconds delay and 10 sentences response.

Desktop app

You can also use ChatGPT-web as a desktop app. To do so, install Rust first. Then, simply run npm run tauri dev for the development version or npm run tauri build for the production version of the desktop app. The desktop app will be built in the src-tauri/target folder.

Contributors

Michael Tanzer
Michael Tanzer

🤔 💻
Peter
Peter

🤔
Dan Brown
Dan Brown

🤔 💻
littlemoonstones
littlemoonstones

💻 🤔
maxrye1996
maxrye1996

🐛
Mikemansour
Mikemansour

🤔
abc91199
abc91199

🤔
fuegovic
fuegovic

🤔
Sixzeroo
Sixzeroo

💻
terryoy
terryoy

🤔 💻
Yang Lyu
Yang Lyu

🐛
ryanhex53
ryanhex53

💻 🎨
Emil Elgaard
Emil Elgaard

🤔 🎨 💻
felixschwamm
felixschwamm

💻 🤔
Webifi
Webifi

💻 🤔
Daniel Dengler
Daniel Dengler

💻
Ashkan
Ashkan

💻
antopoid
antopoid

📖