Эта библиотека может работать, а может и не работать, в ChatGPT предусмотрены меры защиты от ботов, а для управления сеансом требуются браузеры.
Чтобы использовать ChatGPT в своем приложении, запустите:
npm i unofficial-chatgpt-api# или `yarn add unofficial-chatgpt-api`# или `pnpm i unofficial-chatgpt-api`
// двойной токенконст { ChatGPTClient } = require('unofficial-chatgpt-api');const gpt = new ChatGPTClient({ clearanceToken: '<--BOT_CLEARANCE_TOKEN-->', sessionToken0: '<--SESSION_TOKEN_0-->', sessionToken1: '<--SESSION_TOKEN_1-->',});
// одиночный токенconst { ChatGPTClient } = require('unofficial-chatgpt-api');const gpt = new ChatGPTClient({ clearanceToken: '<--BOT_CLEARANCE_TOKEN-->', sessionToken0: '<--SESSION_TOKEN-->',});
Библиотека управляет токенами автоматического обновления.
Двойные токены
Для некоторых учетных записей требуются двойные токены:
Посетите: https://chat.openai.com/chat
Откройте инструменты разработчика в Chrome: перейдите на вкладку приложения.
Нажмите на файлы cookie слева под хранилищем, нажмите на доменchat.openai.com.
Скопируйте значение первого файла cookie и вставьте его в клиент (имя: __Secure-next-auth.session-token.0
).
Скопируйте значение второго файла cookie и вставьте его в клиент (имя: __Secure-next-auth.session-token.1
).
Один токен
Для некоторых учетных записей требуется один токен:
Посетите: https://chat.openai.com/chat
Откройте инструменты разработчика в Chrome: перейдите на вкладку приложения.
Нажмите на файлы cookie слева под хранилищем, нажмите на доменchat.openai.com.
Скопируйте значение первого файла cookie и вставьте его в клиент (имя: __Secure-next-auth.session-token
).
const convo = await gpt.startConversation();const m1 = await convo.chat('покажи мне код JavaScript:');const m2 = await convo.chat('кто тебя создал?');console.log(m2. сообщение.контент.части);
const convo1 = await gpt.startConversation();const convo2 = await gpt.startConversation();const m1 = await convo1.chat('покажи мне код javascript:');const m2 = await convo2.chat('кто тебя создал ?');console.log(m2.message.content.parts);
convo.reset();