Unlike the official Openai library, this library makes REST-API calls to ChatGPT via the browser endpoints. No API-KEY required
from WebChatGPT import ChatGPT
bot = ChatGPT(
"<path-to-openai-cookies.json>"
)
response = bot.chat('<Your prompt>')
print(response)
#Ouput : What can I do for you today?
Upon successfull login, use Export cookie JSON File Puppeteer to export cookies. If you haven't installed the extension, here are the quick installation links for you.
Since generate is the default option so something like this will this workout. $ webchatgpt -C <path-to-openai-cookie-file.json> "<your prompt>"
Alternatives to -C <path-to-openai-cookie-file.json> :
On the current directory of your terminal,create a .env file and save path to the cookie-file in the format :
openai_cookie_file=<path-to-cookie-file>
Or simply make path to the cookie file an environment variable identified by openai_cookie_file. By that you'll just have to use less commands to get your work done e.g webchatgpt "Nmap command for scanning SMB vulnerabilty on 192.168.0.1" -q | grep '$' > scan_smb.sh
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:
-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:
-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 h while in interactive prompt:
╒════╤════════════════════════╤═══════════════════════════════════════╕
│ │ Command │ Action │
╞════╪════════════════════════╪═══════════════════════════════════════╡
│ 0 │ h │ Show this help info │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 1 │ history │ Show conversation history │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 2 │ share │ Share conversation by link │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 3 │ stop_share │ Revoke shared conversation link │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 4 │ rename │ Rename conversation title │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 5 │ archive │ Archive or unarchive a conversation │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 6 │ shared_conversations │ Show shared conversations │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 7 │ previous_conversations │ Show previous conversations │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 8 │ delete_conversation │ Delete a particular conversation │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 9 │ prompts │ Generate random prompts │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 10 │ account_info │ ChatGPT account info/setings │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 11 │ ask │ Show raw response from ChatGPT │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 12 │ auth │ Show current user auth info │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 13 │ migrate │ Shift to another conversation │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 14 │ set_theme │ Set theme for displaying codes │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 15 │ copy_this │ Copy last response │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 16 │ with_copied │ Attach last copied text to the prompt │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 17 │ clear │ Clear console │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 18 │ ./<command> │ Run system command │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 19 │ <any other> │ Interact with ChatGPT │
├────┼────────────────────────┼───────────────────────────────────────┤
│ 20 │ exit │ Quit Program │
╘════╧════════════════════════╧═══════════════════════════════════════╛
If $ webchatgpt doesn't look cool on you, there's this workaround python -m WebChatGPT
Starting from v0.2.4 onwards, shortcut to $ webchatgpt is $ wbc.
If you don't want to follow all those steps; there this script that works out of the box. No API key needed at all, not even the cookies. Just installation and you're good to go. Check out tgpt2.
To those wishing to use the Official Openai API endpoints + GoogleBard at console environment; purpose to check out GPT-CLI
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.
We found that webchatgpt demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
By Kirill Boychenko, Peter van der Zee - Jan 29, 2025
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.