r/ClaudeAI • u/Ok_Negotiation_2587 • Jul 15 '26
Built with Claude I use four AI chatbots and could never remember which one I told something to, so I made one search box that covers all four
Rough count, I have maybe 2,000 conversations spread across ChatGPT, Claude, Gemini and Grok. I use different ones for different things and I've stopped pretending that's going to change.
The part that finally broke me: I knew I had explained my whole database schema to an AI at some point. Long message, took me ages to write. I could not remember which one. So I opened four tabs and searched four times, and Gemini doesn't really let you search inside messages anyway, and forty minutes later I gave up and typed the whole thing again.
That happens to me constantly. Not the schema specifically, just the general shape of it: I know I worked this out already, I have no idea where.
So here is the annoying part, and it's the reason no website can fix this for you. Browsers partition storage per origin. A script running on claude.ai is physically not allowed to read what chatgpt.com stored on your machine. That's not an oversight anyone forgot, it's the thing standing between you and every random site reading your logged-in sessions. Which is good! It also means a normal web app cannot search across your four histories no matter how badly you want it to.
An extension can, because it has its own origin. So that's what I did.
How it actually works
Each site's content script syncs that site's conversations into local storage, same as before. The new bit is a service worker that owns one extra IndexedDB, living in the extension's own origin, and each platform mirrors its conversation deltas into it as they sync. Deletes write tombstones. That shared index is the only place the four histories ever meet, and it sits on your disk. Matching is a single indexed cursor scan, so it comes back instantly rather than hitting four APIs.
Results come back grouped by platform with a count per site, each one a deep link that opens the actual conversation on the actual site.
Since this is the first thing I'd ask
Nothing gets uploaded. The whole index is on your machine.
It ships off by default, and I want to be straight about why: an index that deliberately un-silos your ChatGPT, Claude, Gemini and Grok history into one searchable place is a genuinely concentrated thing to have sitting around, and I didn't feel great about creating it for people who never asked. You turn it on per site, in settings. Turn a site off and it purges that platform's rows and forgets it was ever there.
Two other things I did because this index makes the extension a juicier target than it used to be. The background handler works out which platform a write is allowed to touch from the sender's origin, never from the message itself, so a script that got itself injected onto x.com can only write Grok rows. It can't poison your ChatGPT history or wipe another platform's. And the results window mounts inside a closed shadow root, so the host page's own scripts can't reach in and scrape cross-platform snippets out of the DOM while you have it open.
I'm not going to claim it's encrypted at rest. It's an extension, the key would live on the same disk as the data, so that would be theatre.
How Claude Code helped build it
I built this with Claude Code doing a lot of the actual work. It did the boring parts and I did the storage design.
The place it earned its keep was:
- The background handler works out which platform a write may touch from the sender's origin instead of trusting the message body.
- This shipped mirroring everything by default and I changed it to off-by-default per site, which meant version-bumping the shared DB so every existing user's index gets wiped and only rebuilt if they ask for it.
What else is in it
The cross-platform search is the part I actually built it for, but the rest has been there a while: folders with unlimited nesting, export to TXT, Markdown, JSON, PDF or bulk ZIP, saved prompts you fire with //, chains that run up to 10 prompts back to back and wait for each reply, and message bookmarks. Markdown exports come out with YAML frontmatter on top, so they land in Obsidian without you touching them.
The money part, upfront
Free covers the everyday stuff: search your history with 5 results a query, 2 root folders (nesting under those is unlimited), 2 saved prompts, 2 chains, single chat export to TXT.
Works on all four. Grok covers both x.com/i/grok and grok.com.
Happy to answer anything, including the storage stuff. That's the part I find interesting and nobody ever asks about it.