/chatgpt-api-by-browser-script

This project runs on users' browsers through the Tampermonkey script and converts the web version of ChatGPT operations into an API interface. This way, you can use GPT-4 in chatgpt web pages to play things like Auto-GPT. / 该项目通过Tampermonkey脚本在用户的浏览器上运行,并将ChatGPT操作的Web版本转换为API接口。这样,您就可以使用chatgpt网页中的GPT-4来玩Auto-GPT等内容。

Primary LanguageJavaScript

Chatgpt API By Browser Script

中文文档

This project runs on users' browsers through the Tampermonkey script and converts the web version of ChatGPT operations into an API interface. You can use this API to do some interesting things, such as playing Auto-GPT.

Features

  • API no cost.
  • If you have a chatgpt plus account, you can use gpt-4 api.
  • Having unlimited context.
  • Not easy to be banned and easier to handle errors.

ChatGPT API Image

Usage

Step 1 Installation and Configuration

  1. Make sure your system has installed Node.js and npm.
  2. Clone this repository and run npm install in the project directory to install dependencies.
  3. Run npm run start to start the Node.js server.
  4. Alternatively, you can use Docker docker-compose up to start the Node.js server.

Step 2 Use Tampermonkey

  1. Install Tampermonkey browser extension.
  2. Open Tampermonkey management panel and create a new script.
  3. Copy the contents of tampermonkey-script.js file into the newly created script and save it.

Step 3 Open and Log in to ChatGPT

https://chat.openai.com/

Step 4 Use API

Send a POST request to API address http://localhost:8766/v1/chat/completions

{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "Who are you?"
    }
  ],
  "model": "gpt-4"
}

API Params

Parameter Description Default Required
messages Refer to OpenAI API documentation Yes
model Refer to OpenAI API documentation No
stream Refer to OpenAI API documentation false No
newChat Whether to start a new conversation true No

Expamle with Auto-GPT

Modify the llm_utils.py file in Auto-GPT.

# response = openai.ChatCompletion.create(
#     model=model,
#     messages=messages,
#     temperature=temperature,
#     max_tokens=max_tokens,
# )
response = requests.post("http://localhost:8766/v1/chat/completions", json={"messages": messages, "model": model, "newChat": False, "temperature": temperature, "max_tokens": max_tokens}).json()


# return response.choices[0].message["content"]
return response["choices"][0]["message"]["content"]