Skip to content

Latest commit

 

History

95 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

⚡ ChatSpeed — Reduce ChatGPT Conversation Render Load

Conservative recent-window optimization for ChatGPT conversations

ChatSpeed is a Chrome extension that reduces the size of a recognized recent conversation page before ChatGPT renders it.

It intercepts the current paginated conversation-detail response and retains only a small, complete user/assistant window. ChatGPT already paginates older history itself, so the practical benefit varies by conversation and browser.

Designed for developers and power users who want a reversible local experiment, not a guarantee of performance.

August 2026 update: ChatGPT now paginates conversation history rather than returning its previous full conversation graph. ChatSpeed has been updated for this architecture: it trims the recent conversation page and retains its automatic 25-message reset behavior. Since ChatGPT already paginates natively, gains may be smaller than with the original implementation.


🚀 The Problem: Long-Lived Chat Sessions

ChatGPT now paginates conversation history, which substantially limits the amount of history loaded on an initial visit. During a long-lived session, however, newly generated messages and messages loaded by upward scrolling can accumulate in the rendered page.

ChatSpeed keeps that active working set smaller. It does not claim to benchmark or guarantee a particular performance result for the current ChatGPT frontend.

🛠️ The Solution: Recent-Window Interception

Unlike simple UI cleaners, ChatSpeed operates at the network layer.

It intercepts one recognized paginated conversation response and trims that recent page before it reaches the UI.

This ensures optimization happens before DOM inflation, not after.

Older-history pagination, generation, edits, branches, and unrecognized requests are left unchanged.

⚡ Key Features

  • 🧠 Recent-page trimming — retains the newest two complete exchange groups, including their required tool and reasoning records
  • ↔️ Native history preserved — older-history requests pass through untouched
  • 🧯 Fail-open validation — unfamiliar payloads use ChatGPT’s original response
  • 🔒 Local processing — no external API calls or analytics

📊 Current Behavior

Behavior ChatGPT native response With ChatSpeed
Recent conversation page A small recent window (observed as approximately 10 user/assistant conversation messages) The latest two complete exchange groups are retained; their required tool and reasoning records may also remain
Older history Loaded through ChatGPT's native pagination Left unchanged
Unrecognized response Rendered normally Passed through unchanged (fail-open)
Loaded-turn threshold Accumulates as the session and upward scrolling add turns Reloads the conversation at 25 rendered turns, then compacts the recent page again

🖥️ Demo

Watch ChatSpeed in action: Demo Video Link

🖥️ Dashboard Interface

The ChatSpeed HUD provides a systems-level view of optimization in real time.

  • Active: Recent-window optimization is active
  • Standby: System is ready to intercept
  • Unsupported: Not on a compatible target

Designed to feel like internal performance tooling used by engineers.


🔧 Installation & Usage

  1. Clone the repo
git clone https://github.com/danishirfan21/Chat-Speed.git
cd chatspeed
  1. Install dependencies
npm install
  1. Build the extension
npm run build
  1. Load in Chrome
  • Go to chrome://extensions
  • Enable Developer Mode
  • Click Load unpacked
  • Select the dist folder

Core Mechanism

  • Intercepts window.fetch in the main world
  • Targets the current paginated conversation-detail response
  • Retains the latest two complete exchange groups, including their required internal records
  • Leaves ChatGPT's older-history pagination responses unchanged
  • Returns a modified JSON payload before React renders it
ChatGPT native recent page
        ↓
ChatSpeed keeps the latest two complete exchanges
        ↓
conversation continues normally
        ↓
loaded/rendered message count reaches 25
        ↓
ChatSpeed refreshes
        ↓
recent page is compacted again

The native page is currently observed as a small recent window of approximately 10 user/assistant conversation messages; this is not a public API contract. ChatSpeed retains the latest two complete exchange groups while preserving their required internal tool and reasoning records. When loaded/rendered messages reach 25—including messages loaded by upward scrolling—ChatSpeed refreshes the conversation and compacts the recent page again. Temporarily disable ChatSpeed when unrestricted deep-history browsing is needed.

The original graph-response interceptor is retained in chatspeed/public/injected.js as legacy/reference code. The active extension path uses chatspeed/public/pagination-interceptor.js instead.

For deeper implementation details, see Architecture.

⚠️ Quick Note for Power Users

ChatSpeed only optimizes the active conversation you are currently viewing.
It does not intentionally modify the sidebar or your chat history list.

If ChatGPT behaves unexpectedly, disable ChatSpeed and refresh the page. If the problem persists with ChatSpeed disabled, it is unlikely to be caused by the extension.

ChatSpeed is open source and still evolving.
If you find a reproducible bug, please open a GitHub Issue with console logs and reproduction steps 🛠️

🛡️ Privacy & Security

ChatSpeed is open-source because trust is the primary metric.

  • No external API calls
  • No tracking or analytics
  • All processing happens locally in your browser

⚖️ License

Distributed under the GPL-3.0 License.

GPL-3.0 keeps distributed derivative works under the same open-source license while permitting use, modification, and redistribution under its terms.

🏆 Developer’s Note

Most UI optimizers act after conversation content has rendered. ChatSpeed reduces the recognized recent conversation window before it reaches the UI and periodically resets accumulated session history.

About

Chrome extension for reducing ChatGPT conversation render load. Trims the current paginated recent window and periodically resets accumulated messages, entirely in-browser. ⚡

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages