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)
(async () => {
await import('https://code.chatgptjs.org/chatgpt-latest.min.js');
// Your code here...
})();
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...
}
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@0ccfc9e6acfcc24f864b233199f811316cfcd136/dist/chatgpt-2.0.6.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.
Note To 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 (
lib
in this example) -
Add ES6 export statement to end of
lib/chatgpt.js
...
export { chatgpt }
- In project's (V3)
manifest.json
, addlib/chatgpt.js
as a web accessible resource
"web_accessible_resources": [{
"matches": ["<all_urls>"],
"resources": ["lib/chatgpt.js"]
}],
- 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...
})();
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 probabily 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!
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
Automatically continue generating multiple ChatGPT responses.
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!
This library exists thanks to code, translations, issues & ideas from the following contributors: