/chatgpt.js

🤖 A powerful, open source client-side JavaScript library for ChatGPT

Primary LanguageJavaScriptMIT LicenseMIT

English | 简体中文 | 繁體中文 | 日本 | 한국인 | हिंदी | नेपाली | Deutsch | Español | Français | Italiano | Nederlands | Português | Việt

🤖 A powerful client-side JavaScript library for ChatGPT


💡 About

chatgpt.js is a powerful JavaScript library that allows for super easy interaction w/ the ChatGPT DOM.

  • Feature-rich
  • Object-oriented
  • Easy-to-use
  • Lightweight (yet optimally performant)

⚡ Importing the library

ES6:

(async () => {
    await import('https://code.chatgptjs.org/chatgpt-latest.min.js');
    // Your code here...
})();

ES5:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://code.chatgptjs.org/chatgpt-latest.min.js');
xhr.onload = function () {
    if (xhr.status === 200) {
        var chatgptJS = document.createElement('script');
        chatgptJS.textContent = xhr.responseText;
        document.head.append(chatgptJS);
        yourCode(); // runs your code
    }
};
xhr.send();

function yourCode() {
    // Your code here...
}

Greasemonkey:

Note To use a starter template: kudoai/chatgpt.js-greasemonkey-starter

Userscript repositories like Greasy Fork maintain a whitelist of pre-approved CDNs (such as commit-specific references from cdn.jsdelivr.net) so the import URL is substantially lengthier to preserve publishability to these sites:

...
// @require https://cdn.jsdelivr.net/gh/kudoai/chatgpt.js@3ff1d910a62b989e02da86c8c4dd3ce14232216e/dist/chatgpt-2.6.3.min.js
// ==/UserScript==

// Your code here...

If you don't plan on publishing to these repos, the simpler https://code.chatgptjs.org/chatgpt-latest.min.js can be used instead to import the latest minified release.

Chrome:

Note To use a starter template: kudoai/chatgpt.js-chrome-starter

Since Google does not allow remote code, importing chatgpt.js locally is required:

  1. Save https://raw.githubusercontent.com/kudoai/chatgpt.js/main/chatgpt.js to a subdirectory (lib in this example)

  2. Add ES6 export statement to end of lib/chatgpt.js

...
export { chatgpt }
  1. In project's (V3) manifest.json, add lib/chatgpt.js as a web accessible resource
    "web_accessible_resources": [{
        "matches": ["<all_urls>"],
        "resources": ["lib/chatgpt.js"]
    }],
  1. In scripts that need chatgpt.js (foreground/background alike), import it like so:
(async () => {
    const { chatgpt } = await import(chrome.runtime.getURL('lib/chatgpt.js'));
    // Your code here...
})();

💻 Usage

chatgpt.js was written w/ ultra flexibility in mind.

For example:

chatgpt.getLastResponse();
chatgpt.getLastReply();
chatgpt.response.getLast();
chatgpt.get('reply', 'last');

Each call equally fetches the last response. If you think it works, it probably will... so just type it!

If it didn't, check out the extended userguide, or simply submit an issue or PR and it will be integrated, ezpz!

🤖 Made with chatgpt.js

demo.mp4

Autoclear ChatGPT History

Auto-clear your ChatGPT query history for maximum privacy.
Install / Readme / Discuss

Automatic ChatGPT DAN

Automatically send DAN prompts to ChatGPT.
Install / Readme / Discuss

BraveGPT

Display ChatGPT answers in Brave Search sidebar (powered by GPT-4!)
Install / Readme / Discuss

ChatGPT Auto-Continue ⏩

Automatically continue generating multiple ChatGPT responses.
Install / Readme / Discuss

ChatGPT Auto Refresh ↻

Keeps ChatGPT sessions fresh to eliminate network errors + Cloudflare checks.
Install / Readme / Discuss

DuckDuckGPT

Display ChatGPT answers in DuckDuckGo sidebar (powered by GPT-4!)
Install / Readme / Discuss

GoogleGPT

Display ChatGPT answers in Google Search sidebar (powered by GPT-4!)
Install / Readme / Discuss




If you've made something w/ chatgpt.js you want to share, email showcase@chatgptjs.org or just open a pull request!

🧠 Contributors

This library exists thanks to code, translations, issues & ideas from the following contributors:



🤝 Partners

chatgpt.js is funded in part by:


Releases / Userguide / Discuss / Back to top ↑