chatgpt.js
A powerful, open source client-side JavaScript library for ChatGPT
README
🤖 A powerful client-side JavaScript library for ChatGPT
About
chatgpt.jsis a powerfulJavaScript library that allows for super easyinteraction w/ the ChatGPT DOM.
Feature-rich
Object-oriented
Easy-to-use
Lightweight (yet optimally performant)
⚡ Importing the library
ES6:
- ``` js
- (async () => {
- await import('https://code.chatgptjs.org/chatgpt-latest.min.js');
- // Your code here...
- })();
- ```
ES5:
- ``` js
- 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.appendChild(chatgptJS);
- yourCode(); // runs your code
- }
- };
- xhr.send();
- function yourCode() {
- // Your code here...
- }
- ```
Greasemonkey:
NoteTo 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:
- ``` js
- ...
- // @require https://cdn.jsdelivr.net/gh/kudoai/chatgpt.js@2535c87dc1204a4dbe464b69450bfff6197d3d99/dist/chatgpt-2.3.5.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.jscan be used instead to import the latest minified release.
Chrome:
NoteTo use a starter template: kudoai/chatgpt.js-chrome-starter
Since Google will eventually phase out Manifest V2, remote code will no longer be allowed, so importing chatgpt.js locally is ideal:
Save https://raw.githubusercontent.com/kudoai/chatgpt.js/main/chatgpt.js to a subdirectory (libin this example)
Add ES6 export statement to end of lib/chatgpt.js
- ``` js
- ...
- export { chatgpt }
- ```
In project's (V3) manifest.json, add lib/chatgpt.jsas a web accessible resource
- ``` json
- "web_accessible_resources": [{
- "matches": ["<all_urls>"],
- "resources": ["lib/chatgpt.js"]
- }],
- ```
In scripts that need chatgpt.js(foreground/background alike), import it like so:
- ``` js
- (async () => {
- const { chatgpt } = await import(chrome.runtime.getURL('lib/chatgpt.js'));
- // Your code here...
- })();
- ```
💻 Usage
chatgpt.jswas written w/ ultra flexibility in mind.
For example:
- ``` js
- 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
Auto-clear your ChatGPT query history for maximum privacy. Install / Readme / Discuss
Automatically send DAN prompts to ChatGPT. Install / Readme / Discuss
Display ChatGPT answers in Brave Search sidebar (powered by GPT-4!) Install / Readme / Discuss
Keeps ChatGPT sessions fresh to eliminate network errors + Cloudflare checks. Install / Readme / Discuss
Display ChatGPT answers in DuckDuckGo 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: