Skip to main content

Reverse Engineered ChatGPT Web-version

Project description

WebChatGPT

Reverse engineered ChatGPT in Python.

Prerequisites

Installation & usage

Installation

Either of the following ways will get you ready :

  1. From pypi:
pip install --upgrade webchatgpt
  1. From source
git clone https://github.com/Simatwa/WebChatGPT.git
cd WebChatGPT
pip install .

Usage

The script utilizes HTTP Cookies and OAuth to justify the REST-API requests at Openai.

In order to do that, we will use the Http-Tracker extension to harvest the Oauth and export-cookie-for-puppeteer extension to extract the cookies.

Procedure

  1. Login to https://chat.openai.com
  2. Upon successfull login, use Export cookie JSON File Puppeteer to download cookies.
  3. Launch the Http-Tracker extension.
  4. Back to ChatGPT, make a new conversation and then have a chat with it.
  5. Back to Http-Tracker window, locate and click on the url row having https://chat.openai.com/backend-api/conversation to toggle a dropdown showing the http requests details.
  6. On the Request Details Table, locate a Header having key Authorization and then copy it's corresponding value without the Bearer string and then paste it somewhere.
  7. On your current directory create a .env file and then save the contents in the format :
openai_authorization=<authorization_value>
openai_cookie_file=<path-to-cookie-file>

By doing that you are good to go.

  • Converse Interactively:
webchatgpt interactive -P "<your startup prompt though not a must>"
  • Have a quick response
webchatgpt generate -P "<your prompt here>"

For more info; append --help to the command

$ webchatgpt --help

Usage: webchatgpt [OPTIONS] COMMAND [ARGS]...

  Reverse Engineered ChatGPT Web-version

Options:
  --help  Show this message and exit.

Commands:
  generate     Generate a quick response with ChatGPT
  interactive  Chat with ChatGPT interactively

$ webchatgpt generate --help

Usage: webchatgpt generate [OPTIONS]

  Generate a quick response with ChatGPT

Options:
  -A, --auth TEXT         OpenAI's authorization value
  -C, --cookie-path PATH  Path to .json file containing cookies for
                          `chat.openai.com`
  -M, --model TEXT        ChatGPT's model to be used
  -I, --index INTEGER     Conversation index to resume from
  -P, --prompt TEXT       Start conversation with this messsage
  --help                  Show this message and exit.

$ webchatgpt interactive --help

Usage: webchatgpt interactive [OPTIONS]

  Chat with ChatGPT interactively

Options:
  -A, --auth TEXT                 OpenAI's authorization value
  -C, --cookie-path PATH          Path to .json file containing cookies for
                                  `chat.openai.com`
  -M, --model TEXT                ChatGPT's model to be used
  -I, --index INTEGER             Conversation index to resume from
  -P, --prompt TEXT               Start conversation with this messsage
  -B, --busy-bar-index INTEGER RANGE
                                  Busy bar index [0:/, 1:■█■■■]  [0<=x<=1]
  --help                          Show this message and exit.

Running help while in interactive prompt:

command Action
help Show this help info
exit Quits Program
./<command> Run system command
<any other> Interacts with ChatGPT

ToDo

  • [] Stream Response
  • [] Implement Your idea
  • [] Fix my bad code.

Contributions

Anyone is free to fork, submit pull request as well as submitting issues.

Consider taking a look at the flow of events info for the case of a pull request.

Acknowledgements

  1. Http-Tracker.
  2. export-cookie-for-puppeteer

Special Thanks

  • You

Disclaimer

This project is a reverse-engineered implementation of the ChatGPT web version and is intended for educational and research purposes only. It is not affiliated with or endorsed by OpenAI. The code in this repository is based on reverse engineering efforts and may not perfectly replicate the functionalities or behavior of the original ChatGPT web version. Usage of this code is at your own risk, and the maintainers of this repository are not responsible for any misuse or unintended use of the generated content. Please refer to OpenAI's policies and terms of service regarding the use of their services and models. By using this repository, you agree to comply with all relevant laws and OpenAI's terms of service.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

webchatgpt-0.0.1.tar.gz (26.1 kB view hashes)

Uploaded Source

Built Distribution

webchatgpt-0.0.1-py3-none-any.whl (25.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page