Chat Graph is a local-first Chrome and Firefox extension that turns the questions in long ChatGPT conversations into a navigable question tree or forest. It keeps the current question, its logical parent, unfinished branches, and the original message location within reach without creating a second copy of the conversation.
The current release is v0.12.0 - Local JSON Backup.
| Current / Parent workspace | Question Graph |
|---|---|
![]() |
![]() |
- Captures questions submitted on ChatGPT and adds one candidate per submission.
- Shows the current question and its logical parent in a persistent floating panel.
- Builds a question graph from selected messages or from all user questions in the current conversation.
- Opens the full graph in the Chrome Side Panel or Firefox Sidebar.
- Searches questions and summaries across conversations in the current project.
- Jumps from a graph node back to its original message when that conversation is open on the current ChatGPT page.
- Tracks pending and resolved questions, supports multiple roots, and protects against parent cycles.
- Persists projects and graph state locally with Dexie and IndexedDB.
- Exports all project graphs to a versioned JSON backup and imports backups as non-destructive project copies.
- Optionally uses an AI provider to summarize questions and recommend logical parent nodes.
Chat Graph stores discussion structure, not a second chat history. Node content is intentionally limited to question, summary, and status; Assistant responses are not stored.
- Download
chatgpt-discussion-map-0.12.0-chrome.zipfrom the latest release. - Extract the ZIP to a folder you plan to keep.
- Open
chrome://extensions/and enable Developer mode. - Select Load unpacked and choose the extracted folder.
- Open ChatGPT. If it was already open, use Open page panel from the side panel; no refresh is required.
Chrome does not automatically update manually loaded extensions. For a future release, replace the extracted files, click Reload on the extension card, and refresh the ChatGPT tab.
- Download and extract the Firefox ZIP from the latest release.
- Open
about:debugging#/runtime/this-firefox. - Select Load Temporary Add-on and choose the extracted
manifest.json.
Temporary Firefox add-ons must be loaded again after restarting Firefox. Permanent installation requires a package signed by Mozilla Add-ons.
Open ChatGPT after installing the extension. The floating panel appears on the page and follows ChatGPT single-page navigation.
- Select or create a project before capturing questions.
- Submit a question normally, select one existing question from the page, or import all user questions from the current conversation.
- Switch between the current-question view and the project graph.
- Use the extension toolbar icon to open the full graph. Firefox also supports
Alt+Shift+G. - Open a node menu to inspect it, change its parent or status, locate the original message on the current page, or delete it.
- New nodes default to pending; adding children, changing parents, and bulk graph creation never complete nodes automatically. Status changes are manual.
AI is optional. Without an AI provider, captured questions remain available for manual parent selection.
Chat Graph supports Alibaba Cloud Bailian, OpenAI, Anthropic, Google Gemini, DeepSeek, OpenRouter, and custom OpenAI-compatible HTTPS endpoints. Each provider keeps its own API key, base URL, and model setting.
API credentials are stored in extension-local storage. Requests go directly from the extension to the provider selected by the user; this project does not operate a proxy or backend. Provider charges and privacy terms apply.
Projects, question nodes, relationships, statuses, message locators, and current focus are stored in the extension's local IndexedDB database. Settings, panel preferences, and API credentials are stored in extension-local storage. JSON backups contain graph data and message locators, but never AI settings or API keys. There is no account system, analytics service, project server, or cloud synchronization.
Uninstalling the extension or clearing its site/extension data deletes the local graph. Read the full Privacy Policy before enabling an AI provider.
Requirements:
- Node.js 22.22.2 or newer
- npm 10 or newer
- Chrome 116+ or Firefox 115+
Install dependencies and start a development build:
npm install
npm run dev:chrome
# or
npm run dev:firefoxLoad .output/chrome-mv3/ from chrome://extensions/, or load .output/firefox-mv3/manifest.json from Firefox's debugging page. WXT watches and rebuilds the source; extension reloads and ChatGPT page refreshes may still be required for background, manifest, or content-script changes.
Useful commands:
npm run compile # TypeScript checks
npm run test # Automated tests
npm run test:provider # Live provider test using local .env values
npm run build # Chrome and Firefox production builds
npm run zip # Chrome and Firefox release archives
npm run check # Compile, test, and build both browsersDo not commit .env or real API keys. Start from .env.example only when running the optional provider test script.
entrypoints/ Background, ChatGPT content script, and side panel
adapters/ ChatGPT capture, conversation identity, and message location
ai/ Provider registry, request clients, prompts, and schemas
graph/ Discussion services, current path, search, and layout
db/ IndexedDB schema, migrations, and repositories
components/ Side-panel and graph UI
settings/ Local AI configuration
tests/ Domain, browser adapter, interaction, and layout tests
docs/ Roadmap, browser notes, PRDs, and release notes
See the roadmap, browser support notes, and changelog for implementation details and current limitations.
Bug reports and focused feature proposals are welcome in GitHub Issues. Please include the browser version, extension version, reproduction steps, and any relevant console errors, with private conversation content removed.
Chat Graph is available under the MIT License.



