Last active
February 13, 2025 22:42
-
-
Save aomarks/6dc4042fd2e4941158f97164f5cf05f7 to your computer and use it in GitHub Desktop.
Archive all ChatGPT chats browser script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This script will iterate over all of your ChatGPT sessions and archive them one-by-one. | |
// | |
// 1. Go to https://chat.openai.com/ | |
// 2. Open Chrome devtools (see https://developer.chrome.com/docs/devtools/open) or equivalent in your browser | |
// 3. Open the console tab | |
// 4. Paste the code below and press enter | |
const pause = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); | |
const history = document.querySelector('[aria-label="Chat history"]'); | |
while (true) { | |
const chat = history.querySelector( | |
'a[href^="/c/"]:not(.group), a[href^="/g/"]:not(.group)' | |
); | |
if (!chat) { | |
break; | |
} | |
chat.click(); | |
await pause(500); | |
const menuButton = chat.parentElement.querySelector("button"); | |
menuButton.dispatchEvent( | |
new KeyboardEvent("keydown", { key: "Enter", code: "Enter", bubbles: true }) | |
); | |
await pause(500); | |
const archiveButton = [...document.querySelectorAll('[role="menuitem"]')].find( | |
(item) => item.textContent === "Archive chat" | |
); | |
archiveButton.click(); | |
await pause(1500); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am getting this error:
Edit: This appears fixed in the fork here - https://gist.github.com/Vinaco00/83abbfb4c745abeab5fda580d08e8f37