# ChatGPT Conversation Toolkit: the feature in the repository description is the one the project deprecated, and its button is still in the toolbar

> A browser extension for the ChatGPT web app, maintained by one person who says so on the page, whose headline capability was retired once the site virtualised its own message list. The retired feature keeps its toolbar button, its source file and four configuration constants, and search and export work by reading the site's own conversation API rather than the page.

**bujue3709/GPT-Conversation-Toolkit** — A useful plugin for the ChatGPT web platform, focusing on long conversation browsing, exporting, searching, prompt management, and timeline navigation. 🚀||优化ChatGPT长会话卡顿，聊天记录一键导出，消息搜索跳转，会话管理，prompt管理和时间线导航

- Repository: https://github.com/bujue3709/GPT-Conversation-Toolkit
- Website: https://github.com/bujue3709/chatgpt-Long-conversation-optimization/issues
- Stars: 963 · Forks: 27
- Language: JavaScript
- License: MIT
- Published: 2026-09-14 · Updated: 2026-09-14 · Language: en
- Canonical page: https://hysenlabs.com/projects/bujue3709-gpt-conversation-toolkit

## The headline capability is the one that was retired

The repository description advertises optimising long conversations and fixing the lag they cause. The page then explains that ChatGPT's web interface started rendering its message list virtually, keeping only a window of messages in the document and mounting the rest on demand, which solves the exact problem the extension existed to solve. So the plugin's own answer was to stop doing it: the collapse feature is described as deprecated, no longer maintained as a recommended workflow, and actively harmful because hiding older messages interferes with search, with timeline positioning and with the page's own interaction. The description at the top of the repository has not caught up. Everything below describes what replaced it: a shared jump routine that locates the target message, waits for the site to mount it, and confirms the node by identifier or text fragment.

## The deprecated feature still has a button, a file and four constants

The configuration block at the bottom of the page still defines the constants that drove it, along with the state object:

```js
const TIMELINE_VISIBLE_NODE_CAPACITY = 10;
const TIMELINE_MAX_NODES = 20;
const COLLAPSE_AUTO_REOPTIMIZE_BUFFER = 10;

const state = {
  isCollapsed: false,
  isMinimized: false,
  keepLatest: 20,
  collapsedNodes: [],
  cachedNodes: [],
};
```

Two of those are described as belonging to the retired collapse feature: how many recent messages to keep, and the re-optimisation buffer. So the deprecated feature still has a toolbar button, a module, two constants and two state fields, and the page marks them as legacy rather than removing them.

## One maintainer, and a surgical operation in the release notes

A line near the top states who is actively maintaining the project and qualifies it in the same breath: the author is the main and only active maintainer. The current version's notes then explain the gap in the issue tracker by saying the author recently had an operation and only now has time to look at issues, with thanks for the patience. Almost nothing else in the page says anything about the project's future. There is no roadmap, no test matrix in the documentation, no support commitment and no second pair of eyes, and the release history is a patch-level line moving every couple of weeks. For a tool that exists to rescue conversations from an interface that changes without notice, a single maintainer is the dependency you are actually taking on, whatever the version number suggests.

## Search and export read the site's own conversation API

This is the mechanism that makes the extension work on long threads, and it is stated plainly in three places. Search, timeline generation and export all prefer API session data over the messages currently in the document, so a conversation whose older messages have been unmounted can still be searched, navigated and exported in full. Export will fall back to whatever is loaded or cached when that data is unavailable, and the selection page then shows a notice that the result is incomplete. In practice the extension is running with your own authenticated session against the same conversation endpoints the page uses, which is why it can reach history you have not scrolled to. Anything exported that way is a full transcript, so treat the export directory with the care you would give the chat itself.

## Folders are a local view, not a server-side structure

The folder bar appears above the conversation list in the sidebar and supports creating, renaming, deleting, collapsing, dragging conversations in and dragging them back to ungrouped. The native per-conversation menu keeps working alongside it, which is the tell: the folders are not a feature of the account, they are metadata the extension keeps beside it. The page says folders, classification relationships and collapsed state are persisted automatically and restored after a refresh, and the persistence layer is browser local storage in the extension's own utility module. So the whole structure lives in one browser profile on one machine. Open the same account elsewhere and it is not there, clear site data and it is gone, and the sidebar it draws over is one the site may re-render in a shape the extension has to keep finding.

## Every install is a developer-mode load

There are three install procedures and none of them is a store. On Chromium browsers you open the extensions page, turn on developer mode, choose the unpacked extension loader and point it at the project root. On Firefox you open the runtime debugging page and load the manifest as a temporary add-on, which the page itself marks as temporary and says will be formally supported later; a temporary add-on does not survive a browser restart. Safari is listed as under evaluation. There is no store listing, no signed build and therefore no automatic update path, so a browser upgrade or a manual reload can silently drop the extension, and the timeline navigation that depends on recognising the page's own DOM structure is the feature that breaks first when the site changes.

## No build step, so the order lives in the manifest

The code is split into a small number of plain files across a state and internationalisation pair, a features directory, a user interface pair and two utilities, plus one content script and a stylesheet. The page is explicit that the manifest injects these scripts in a sequence, and there is no bundler, no transpiler and no compile step in any of the instructions. That is a real strength for reading the source, since what you read is what runs. It is also a constraint, because load order becomes a dependency you can only see by reading the manifest, and the feature modules share state through a global object rather than through imports. There is a tests directory at the root that the structure listing does not mention, and no test command anywhere in the documentation.

## Three releases, three different spellings of the version

The release metadata is inconsistent in a small but annoying way. Of the three most recent releases, one has the version prefix on its tag, the next has no prefix on its tag, and one release title has a space between the prefix and the number. The page itself prints the current version once, at the top, with the prefix attached. So any script that resolves a build by comparing a tag against the version string in the page will match two of the three and miss one, and any automation that assumes a prefix will fail on the tag that lacks it. None of this matters for a person who installs by hand, which is how the page intends installation to work, and all of it matters the moment someone tries to build an updater on top of it.

## Conclusion

Use ChatGPT Conversation Toolkit if you want to get long conversations out of the ChatGPT web interface into files you own, and if you are comfortable with an unpacked extension that reads the site's conversation API with your own session. Five things to know first. Search, timeline and export prefer the site's own conversation API over the rendered page, which is what makes them work on long threads and which also means they can reach history that is not on screen. Export falls back to partially loaded content when that API is unavailable, with only an in-page notice, so check whether your file is complete. Folders, classification and settings are stored in browser local storage, so they are a local view that another browser will not have. Every install is a developer-mode load with no store listing, and on Firefox it is a temporary add-on that has to be reloaded. And the person maintaining it says on the page that they are the only active maintainer and that a recent operation kept them away from issues for a while, which is the single most important fact for anyone depending on it.

## FAQ

### Does ChatGPT Conversation Toolkit still have the long conversation folding feature?

It is deprecated. The page says the site's own virtualised list now unmounts distant messages on its own, so the extra folding is no longer needed and can interfere with search, timeline positioning and page interaction. The toolbar entry and the recovery action remain.

### How does the extension search and export messages that are not on screen?

Search, the timeline and export prefer the site's conversation API data over the rendered document, so unmounted messages are still reachable. When that data is unavailable, export degrades to loaded or cached content and the selection page marks the result as incomplete.

### Where are ChatGPT Conversation Toolkit folders stored?

In browser local storage through the extension's own storage utility, along with classification relationships and collapsed state. The native conversation menu keeps working alongside them, so the folders are local metadata rather than an account feature.

### Is ChatGPT Conversation Toolkit available in a browser extension store?

The page gives three manual procedures only: load unpacked on Chromium browsers, load the manifest as a temporary add-on on Firefox, and Safari is under evaluation. There is no store listing and therefore no automatic update path described.

### Who maintains ChatGPT Conversation Toolkit?

The page names a single person as the main and only active maintainer, and the current release notes explain a gap in issue handling by saying the author recently had an operation.

## Sources

- [bujue3709/GPT-Conversation-Toolkit on GitHub](https://github.com/bujue3709/GPT-Conversation-Toolkit)
- [License: MIT](https://github.com/bujue3709/GPT-Conversation-Toolkit/blob/main/LICENSE)
- [Project website](https://github.com/bujue3709/chatgpt-Long-conversation-optimization/issues)
- [README](https://github.com/bujue3709/GPT-Conversation-Toolkit/blob/main/README.md)
- [Releases](https://github.com/bujue3709/GPT-Conversation-Toolkit/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/bujue3709-gpt-conversation-toolkit
