acheong08/ChatGPT

ChatGPT

README 介紹的是透過觀察某個聊天服務做成的非官方客戶端。這一頁不抄端點、權杖或請求細節。

27,925·2026年10月15日PythonGPL-2.0

ChatGPT

English - 中文 - Spanish - 日本語 - 한국어

PyPi
Support_Platform
Downloads

Reverse Engineered ChatGPT API by OpenAI. Extensible for chatbots etc.

Installation

python -m pip install --upgrade revChatGPT

Suport Python Version

  • Minimum - Python3.9
  • Recommend - Python3.11+

V1 Standard ChatGPT

V1 uses a cloudflare bypass proxy to make life convenient for everyone. The proxy is open source: https://github.com/acheong08/ChatGPT-Proxy-V4

To set your own deployed proxy, set the environment variable CHATGPT_BASE_URL to https://yourproxy.com/api/

Rate limits

  • Proxy server: 5 requests / 10 seconds
  • OpenAI: 50 requests / hour for each account

Configuration

  1. Create account on OpenAI's ChatGPT
  2. Save your email and password

Authentication method: (Choose 1)

- Email/Password

Not supported for Google/Microsoft accounts.

{
  "email": "email",
  "password": "your password"
}

- Access token

https://chat.openai.com/api/auth/session

{
  "access_token": "<access_token>"
}

- Optional configuration:

{
  "conversation_id": "UUID...",
  "parent_id": "UUID...",
  "proxy": "...",
  "model": "gpt-4", // gpt-4-browsing, text-davinci-002-render-sha, gpt-4, gpt-4-plugins
  "plugin_ids": ["plugin-d1d6eb04-3375-40aa-940a-c2fc57ce0f51"], // Wolfram Alpha example
  "disable_history": true,
  "PUID": "<_puid cookie for plus accounts>", // Only if you have a plus account and use GPT-4
  "unverified_plugin_domains":["showme.redstarplugin.com"] // Unverfied plugins to install
}
  1. Save this as $HOME/.config/revChatGPT/config.json
  2. 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.

Plugin IDs can be found here. Remember to set model to gpt-4-plugins if plugins are enabled. Plugins may or may not work if you haven't installed them from the web interface. You can call chatbot.install_plugin(plugin_id=plugin_id) to install any one of them from code. Call chatbot.get_plugins() to get a list of all plugins available.

Usage

Command line

python3 -m revChatGPT.V1

        ChatGPT - A command-line interface to OpenAI's ChatGPT (https://chat.openai.com/chat)
        Repo: github.com/acheong08/ChatGPT
Type '!help' to show a full list of commands
Logging in...
You:
(Press Esc followed by Enter to finish)

The command line interface supports multi-line inputs and allows navigation using arrow keys. Besides, you can also edit history inputs by arrow keys when the prompt is empty. It also completes your input if it finds matched previous prompts. To finish input, press Esc and then Enter as solely Enter itself is used for creating new line in multi-line mode.

Set the environment variable NO_COLOR to true to disable color output.

Developer API

Basic example (streamed):

from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
  "access_token": "<your access_token>"
})
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()

Basic example (single result):

from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
  "access_token": "<your access_token>"
})
prompt = "how many beaches does portugal have?"
response = ""
for data in chatbot.ask(
  prompt
):
    response = data["message"]
print(response)

All API methods

Refer to the wiki for advanced developer usage.

V3 Official Chat API

Recently released by OpenAI

  • Paid

Get API key from https://platform.openai.com/account/api-keys

Command line

python3 -m revChatGPT.V3 --api_key <api_key>

  $ python3 -m revChatGPT.V3

    ChatGPT - Official ChatGPT API
    Repo: github.com/acheong08/ChatGPT
    Version: 6.2

Type '!help' to show a full list of commands
Press Esc followed by Enter or Alt+Enter to send a message.

usage: V3.py [-h] --api_key API_KEY [--temperature TEMPERATURE] [--no_stream]
             [--base_prompt BASE_PROMPT] [--proxy PROXY] [--top_p TOP_P]
             [--reply_count REPLY_COUNT] [--enable_internet] [--config CONFIG]
             [--submit_key SUBMIT_KEY]
             [--model {gpt-3.5-turbo,gpt-3.5-turbo-16k,gpt-3.5-turbo-0301,gpt-3.5-turbo-0613,gpt-4,gpt-4-0314,gpt-4-32k,gpt-4-32k-0314,gpt-4-0613}]
             [--truncate_limit TRUNCATE_LIMIT]

Developer API

Basic example

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
chatbot.ask("Hello world")

Streaming example

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
for data in chatbot.ask_stream("Hello world"):
    print(data, end="", flush=True)

Awesome ChatGPT

My list

If you have a cool project you want added to the list, open an issue.

Disclaimers

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.

Contributors

This project exists thanks to all the people who contribute.

Additional credits


ChatGPT

English - 中文 - Spanish - 日本語

PyPi
支持的平台
Downloads

ChatGPT 的逆向工程可扩展 API,可用于聊天机器人等。

支持本项目

开 Pull Request 并修复我的代码

Discord 服务器: https://discord.gg/9K2BvbXEHT

安装

python -m pip install --upgrade revChatGPT

支持的Python版本

  • 最低版本 - Python3.9
  • 推荐版本 - Python3.11+

V1 标准 ChatGPT

通过对 chat.openai.com API 进行逆向工程,再绕过Cloudflare Server,以免费使用 ChatGPT API。由于 OpenAI 严格的访问频率限制,此特定库仅供个人使用。尚未针对多帐户进行优化。

您也可以查看此项目用于搭建多账户循环调用系统,鉴于它与官方 API 兼容。使用 OpenAI 的文档 作为使用参考。它在帐户之间进行对话,以确保在帐户数量过多的情况下不会达到速率限制。

速率限制

  • 代理服务器:5 请求/秒
  • OpenAI:60 请求/小时(每个账户)

配置

  1. 在OpenAI的 ChatGPT 网站创建账户
  2. 记住你的邮箱地址与密码

身份验证方式: (任选其一)

- 邮箱/密码 登录

不支持使用 Google/Microsoft 账号 授权登录的账户

{
  "email": "email",
  "password": "your password"
}

- 访问令牌(Access Token)验证

建议使用该方式验证!

https://chat.openai.com/api/auth/session

{
  "access_token": "<access_token>"
}

- 可选配置内容:

{
  "conversation_id": "UUID...",
  "parent_id": "UUID...",
  "proxy": "...",
  "paid": false,
  "collect_analytics": true,
  "model": "gpt-4"
}

默认情况下,数据收集&分析处于禁用状态。将collect_analytics设置为true以启用它。

  1. 另存为 $HOME/.config/revChatGPT/config.json
  2. 如果您使用的是 Windows,则需要创建一个名为HOME的环境变量,并将其设置为您的主配置文件,以便脚本能够找到 config.json 文件。

使用方法

命令行程序

python3 -m revChatGPT.V1
        ChatGPT - A command-line interface to OpenAI's ChatGPT (https://chat.openai.com/chat)
        Repo: github.com/acheong08/ChatGPT

Type '!help' to show a full list of commands

Logging in...

You:
(Press Esc followed by Enter to finish)

命令行界面支持多行输入,并允许使用箭头键进行导航。此外,您还可以在提示为空时通过箭头键编辑历史记录输入。如果找到匹配的先前提示,它也会完成您的输入。要完成输入,请按Esc,然后按Enter,因为仅Enter本身用于在多行模式下创建新行。

设置环境变量NO_COLOR为true可以禁用带色彩的命令行输出

开发人员的API

基础开发(命令行程序):

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={
  "access_token": "<your access_token>"
})

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={
  "access_token": "<your access_token>"
})

prompt = "how many beaches does portugal have?"
response = ""

for data in chatbot.ask(
  prompt
):
    response = data["message"]

print(response)

所有的API方法

请移步 wiki 以了解高级的开发者功能

V3 官方API

最近由OpenAI发布

  • 付费账户

从 https://platform.openai.com/account/api-keys 获取API-key

命令行程序

python3 -m revChatGPT.V3 --api_key <api_key>
 $ python3 -m revChatGPT.V3 -h

    ChatGPT - Official ChatGPT API
    Repo: github.com/acheong08/ChatGPT

Type '!help' to show a full list of commands
Press Esc followed by Enter or Alt+Enter to send a message.

usage: V3.py [-h] --api_key API_KEY [--temperature TEMPERATURE] [--no_stream]
             [--base_prompt BASE_PROMPT] [--proxy PROXY] [--top_p TOP_P]
             [--reply_count REPLY_COUNT] [--enable_internet] [--config CONFIG]
             [--submit_key SUBMIT_KEY]
             [--model {gpt-3.5-turbo,gpt-4,gpt-4-32k}]

options:
  -h, --help            show this help message and exit
  --api_key API_KEY     OpenAI API key
  --temperature TEMPERATURE
                        Temperature for response
  --no_stream           Disable streaming
  --base_prompt BASE_PROMPT
                        Base prompt for chatbot
  --proxy PROXY         Proxy address
  --top_p TOP_P         Top p for response
  --reply_count REPLY_COUNT
                        Number of replies for each prompt
  --enable_internet     Allow ChatGPT to search the internet
  --config CONFIG       Path to V3 config json file
  --submit_key SUBMIT_KEY
                        Custom submit key for chatbot. For more information on keys, see https://python-prompt-toolkit.readthedocs.io/en/stable/pages/advanced_topics/key_bindings.html#list-of-special-keys
  --model {gpt-3.5-turbo,gpt-4,gpt-4-32k}

开发API

基础示例

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
chatbot.ask("Hello world")

命令行程序

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
for data in chatbot.ask_stream("Hello world"):
    print(data, end="", flush=True)

贼好用的ChatGPT工具

我的列表

如果要将很酷的项目添加到列表中,请提出issue

免责声明

这不是OpenAI官方的产品,这仅仅是我个人的项目,与OpenAI没有任何关系,不要以任何理由起诉我。

贡献

感谢所有为本项目做出贡献的开发者们

附加说明

看原文 · README · README 中文

倉庫位址

https://github.com/acheong08/ChatGPT · 逆向庫