If you use multiple LLMs daily, you know the friction. You want ChatGPT's ideas or want to generate code via Claude or an image generation feature through Gemini for the same domain topic, and you need to move your massive, 15-prompt conversation over to another model.
The Problem: Text Dumping is Broken
Currently, the only way to migrate context is to copy and paste giant text dumps. This approach is terrible:
Token Waste: You eat up your context window instantly.
Tokeniser Mismatches: 500 tokens in OpenAI might be 650 tokens in Anthropic's tokeniser, meaning context windows fill up at unpredictable rates.
Loss of Nuance: You lose the structural reality of what was an "error", what was "code", and what was just "conversational fluff".
My Approach: Treating Chat Like a Codebase
I am building an open-source browser extension called Thread. Instead of brute-force text dumping, I wanted to try semantic state transfer.
Inspired by tools that map codebases, Thread treats your conversation log like a structural dataset.
The Engine: It uses a local, single-threaded C++ WebAssembly (WASM) engine that runs entirely in the background.
Zero APIs: No external LLM calls. The chat never leaves your browser until you click migrate.
The Output: It strips the fluff and builds a highly compressed property graph (using semantic, artefact, and state nodes).
The target LLM receives a structured JSON map of your exact state, saving massive amounts of tokens while retaining 100% of the non-negotiable artifacts (like code blocks and system rules).
Looking for Feedback!
I am building the V1 MVP
updating soon!!













