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...
}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/chatgptjs/chatgpt.js@51dc48d5bff8e5539e8cee273032360d0691c6a6/dist/chatgpt-1.6.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.js can be used instead to import the latest minified release.
Since Google is likely to phase out Manifest V2 by next month, remote code will no longer be allowed, so importing chatgpt.js locally is ideal:
-
Save https://raw.githubusercontent.com/chatgptjs/chatgpt.js/main/chatgpt.js to a subdirectory (
libin this example) -
Add ES6 export statement to end of
lib/chatgpt.js
...
export { chatgpt }- In project's (V3)
manifest.json, addlib/chatgpt.jsas a web accessible resource
"web_accessible_resources": [{
"matches": ["<all_urls>"],
"resources": ["lib/chatgpt.js"]
}],- In scripts that use
chatgpt.js(foreground/background alike), structure 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.get('reply', 'last')Each call equally fetches the last response. If you think it works, it probabily will... so just type it! (Who has time for docs?)
If it didn't, simply submit an issue or PR and it will be integrated, ezpz!
The following apps rely on code from chatgpt.js:
Auto-clear your ChatGPT query history for maximum privacy.
Install /
Readme /
Discuss
Display ChatGPT answers in Brave Search sidebar.
Install /
Readme /
Discuss
Keeps ChatGPT sessions fresh to eliminate network errors + Cloudflare checks.
Install /
Readme /
Discuss
Generate endless answers from all-knowing ChatGPT (in any language!)
Install /
Readme /
Discuss
Adds Widescreen + Full-Window modes to ChatGPT for reduced scrolling.
Install /
Readme /
Discuss
Display ChatGPT answers in DuckDuckGo sidebar.
Install /
Readme /
Discuss
Whether w/ translations or code, contributions of any kind are encouraged & accepted via PR!