English | 简体中文
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@65b028f36b34e830ae3a557c987e8757e7b025f1/dist/chatgpt-1.8.0.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 this 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 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.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!
These are some of the projects that rely on code from chatgpt.js:
Auto-clear your ChatGPT query history for maximum privacy.
Install /
Readme /
Discuss
Automatically send DAN prompts to ChatGPT.
Install /
Readme
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
Generate endless answers from all-knowing ChatGPT (in any language!)
Install /
Readme /
Discuss
Adds Widescreen + Full-Window modes to ChatGPT for enhanced viewing + reduced scrolling.
Install /
Readme /
Discuss
Display ChatGPT answers in DuckDuckGo sidebar (powered by GPT-4!)
Install /
Readme /
Discuss
This library exists thanks to code, translations, issues & ideas from the following contributors: