https://github.com/t30tom/chatgpt-speedup
Chrome/Opera MV3 extension that speeds up ChatGPT by keeping only the last N messages visible. Older turns are archived (storage or hidden container). Popup controls + live stats. Privacy-friendly: data stays in your browser. Open to PRs & ideas.
https://github.com/t30tom/chatgpt-speedup
chatgpt chrome chrome-extension extension javascript manifest-v3 mv3 opera performance performance-optimization webextension
Last synced: about 2 months ago
JSON representation
Chrome/Opera MV3 extension that speeds up ChatGPT by keeping only the last N messages visible. Older turns are archived (storage or hidden container). Popup controls + live stats. Privacy-friendly: data stays in your browser. Open to PRs & ideas.
- Host: GitHub
- URL: https://github.com/t30tom/chatgpt-speedup
- Owner: T30Tom
- License: mit
- Created: 2025-09-30T04:14:48.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-30T05:50:13.000Z (9 months ago)
- Last Synced: 2025-09-30T06:12:42.122Z (9 months ago)
- Topics: chatgpt, chrome, chrome-extension, extension, javascript, manifest-v3, mv3, opera, performance, performance-optimization, webextension
- Language: JavaScript
- Homepage: https://github.com/T30Tom/chatgpt-speedup
- Size: 25.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ChatGPT Speedup — MV3 Extension
[](LICENSE)
[](CONTRIBUTING.md)
[](../../actions)
> Make long ChatGPT chats feel snappy. This extension prunes older messages in the DOM and keeps only the most recent **N** visible (default 5). Older tu
s are archived either in **storage** or moved to a **hidden container**, and can be restored on demand. All data stays **local** in your browser.
## ✨ Features
- Keep last **N** visible; archive older messages (storage or hidden)
- **Popup controls**: Keep N, mode, quick actions (+5, −5, collapse to 1)
- Works on **chat.openai.com** and **chatgpt.com**
- Privacy-friendly: archives live in `chrome.storage.local`
- MV3, Chromium-compatible (Chrome, Opera, Edge)
## 🧩 How it works
The content script detects conversation tu
s (robust selectors), prunes older nodes, and updates counts. In storage mode, pruned nodes are serialized and removed from the DOM; in hidden mode, they’re moved to an off-screen container for fast restore.
## 🔧 Install (dev)
1. Clone this repo
2. Go to `chrome://extensions` → enable **Developer mode**
3. **Load unpacked** → select the project folder
4. Open a ChatGPT conversation and use the **extension popup**
## 📁 Project structure
manifest.json
background.js
content.js
content.css
popup.html
popup.js
icons/
markdown
Copy code
## 🛠 Settings (Popup)
- **Keep N**: number of visible tu
s
- **Mode**: `storage` (serialize + remove) or `hidden` (move to hidden container)
- **Quick actions**: +5, −5, collapse to 1
- **Refresh Tabs**: ask open ChatGPT tabs to refresh after updates
## 🧪 Dev tips
- Use DevTools Console on ChatGPT pages for logs
- If popup says it can’t reach the content script, click **Refresh Tabs** or reload the page
- Test both domains: `chat.openai.com` and `chatgpt.com`
## 🔒 Privacy
No servers. No analytics. Archives are saved in your browser’s `chrome.storage.local`.
## 🤝 Contributing
Issues and PRs welcome!
- Keep PRs focused and well-scoped
- Describe user-visible changes in the PR
- Test on both domains and include a short QA checklist
## 🧾 License
[MIT](LICENSE)
---
**Ideas / roadmap**
- Keyboard shortcuts
- Smarter prune heuristics (skip when user scrolls up)
- Export/import archives (JSON)
- Per-conversation profiles
See: [How to cut a release](RELEASING.md)
## How to cut a release
To create a GitHub Release (the Action zips the extension and attaches a checksum), tag a version and push the tag:
```bash
git tag -a v0.1.0 -m "v0.1.0"
git push origin v0.1.0
git tag -a v0.1.0 -m "v0.1.0" creates an annotated tag locally named v0.1.0.
git push origin v0.1.0 pushes that tag to GitHub.
The Release workflow (triggered by tags matching v*) builds chatgpt-speedup-vX.Y.Z.zip,
generates SHA256SUMS.txt, and publishes a GitHub Release with those files attached.
See: [How to cut a release](RELEASING.md)
See: [How to cut a release](RELEASING.md)