Reverse Engineered ChatGPT API by OpenAI. Extensible for chatbots etc.
Make a pull request and fix my bad code.
Discord community: https://discord.gg/WMNtbDUjUv
pip3 install revChatGPT
- Create account on OpenAI's ChatGPT
- Save your email and password
Not supported for Google/Microsoft accounts
{
"email": "email",
"password": "your password"
}
Comes from cookies on chat.openai.com as "__Secure-next-auth.session-token"
{
"session_token": "..."
}
https://chat.openai.com/api/auth/session
{
"access_token": "<access_token>"
}
{
"conversation_id": "UUID...",
"parent_id": "UUID...",
"proxy": "...",
"paid": false
}
- Save this as
$HOME/.config/revChatGPT/config.json
- If you are using Windows, you will need to create an environment variable named
HOME
and set it to your home profile for the script to be able to locate the config.json file.
python3 -m revChatGPT.V1
!help - Show this message
!reset - Forget the current conversation
!config - Show the current configuration
!rollback x - Rollback the conversation (x being the number of messages to rollback)
!exit - Exit this program
from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
"email": "<your email>",
"password": "<your password>"
})
print("Chatbot: ")
prev_text = ""
for data in chatbot.ask(
"Hello world",
):
message = data["message"][len(prev_text) :]
print(message, end="", flush=True)
prev_text = data["message"]
print()
from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
"email": "<your email>",
"password": "<your password>"
})
prompt = "how many beaches does portugal have?"
response = ""
for data in chatbot.ask(
prompt
):
response = data["message"]
print(response)
Refer to the wiki for advanced developer usage.
Using cloudflare bypass server (no browser on server either). Check out the server source code: https://github.com/acheong08/ChatGPT-Proxy-V2
It seems I wasn't clear enough in my explanations and lead to some misunderstandings:
- Your email and password are not sent to me. Authentication is done locally with https://github.com/acheong08/OpenAIAuth
- Unless you use
--insecure-auth
. This is meant for users who are blocked from accessing OpenAI websites- The server is open source: https://github.com/acheong08/ChatGPT-Proxy-V2 but with a
config.json
missing to avoid OpenAI detection.- Rate limits: 180 requests per minute (IP based)
- I am running the server right now
You must either define
--paid
in command line orpaid=True
in code if you have a plus subscription.
pip3 install --upgrade revChatGPT
$ python3 -m revChatGPT.V2 -h
ChatGPT - A command-line interface to OpenAI's ChatGPT (https://chat.openai.com/chat)
Repo: github.com/acheong08/ChatGPT
usage: V2.py [-h] [-e EMAIL] [-p PASSWORD] [--paid] [--proxy PROXY] [--insecure-auth]
[--session_token SESSION_TOKEN]
options:
-h, --help show this help message and exit
-e EMAIL, --email EMAIL
Your OpenAI email address
-p PASSWORD, --password PASSWORD
Your OpenAI password
--paid Use the paid API
--proxy PROXY Use a proxy
--insecure-auth (Deprecated)
--session_token SESSION_TOKEN Alternative to email and password authentication. Use this if you have Google/Microsoft account.
Wiki: https://github.com/acheong08/ChatGPT/wiki/V2
Example code:
from revChatGPT.V2 import Chatbot
async def main():
chatbot = Chatbot(email="...", password="...")
async for line in chatbot.ask("Hello"):
print(line["choices"][0]["text"].replace("<|im_end|>", ""), end="", flush = True)
print()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
If you have a cool project you want added to the list, open an issue.
This is not an official OpenAI product. This is a personal project and is not affiliated with OpenAI in any way. Don't sue me
- virtualharby - Memes for emotional support
- All contributors - Pull requests