Your AI chats. One local library.
Folders, search, cleanup, and export for Claude, ChatGPT, and Gemini — without another account, another cloud, or anything leaving your device.
Tecora sits on top of the AI chat apps you already use and turns scattered histories into one private library you can search, tag, resume, export, and clean up.
It is not a chat client and not an AI wrapper — it never calls a model.
It captures chat metadata (and, only if you allow it, message content) from
claude.ai, chatgpt.com, and gemini.google.com, stores everything in
on-device IndexedDB, and gives you the organization tools those sites don't
share with each other.
| Tecora is… | Tecora is not… |
|---|---|
| A cross-platform memory + organization layer for AI chats | An AI chat app |
| A local archive with markdown / JSON / ZIP export | An AI wrapper or "second Copilot" |
| A privacy-first tool — no account, no backend, no sync server | Cloud sync for your chats |
| A side panel + command palette + floating τ dock | A tool that works on every site (three hosts only) |
| Platform | Chat list | Messages | Rich assets on export |
|---|---|---|---|
Claude (claude.ai) |
✅ | ✅ | Artifacts, sandbox files, uploads |
ChatGPT (chatgpt.com) |
✅ (incl. projects) | ✅ | Images, files, long code fences |
Gemini (gemini.google.com) |
✅ (DOM scrape) | While the chat is open | DOM images when open |
Capture across platforms — reads your chats while you browse; normalizes Claude / ChatGPT / Gemini into one shared model. No CSV upload to get started.
Organize & resume — folders, #tags, pins, derived titles for "New chat",
one-line previews, and a Continue where you left off list across every model.
Search everywhere — a Shadow-DOM command palette (Ctrl/Cmd + K) plus
full-text MiniSearch over titles and captured messages, scoped to one account or
all platforms at once.
Today panel — a centered overlay for the day: manual + auto-detected tasks pulled from your chats (on-device), a persistent notes scratchpad, and a cached "Yesterday" recap.
Export & backup — single/bulk Markdown, a portable JSON archive
(chats, messages, folders, tags, tasks, notes), and ZIP export with harvested
assets and a MISSING.md manifest.
Developer tools — cross-chat code-block gallery, jump-to-code outline,
copy-with-provenance, a prompt-snippet starter pack (> in the palette), and a
local warn-before-send secret scanner.
On-device digest — chat summaries via Chrome's built-in Summarizer (Gemini Nano) with a dependency-free extractive fallback. Nothing is uploaded.
Privacy & control — per-platform message-capture toggles, a local activity log, and one-click wipe all data.
Draggable τ dock — the floating mark stays out of the way; drag it anywhere, click to expand Search / Today / Library. Its position is remembered.
Honesty note: usage numbers shown in-product are local estimates (
~chars/4tokens), never a claim of your exact platform quota.
Tecora isn't on the Chrome Web Store yet, so you build it from source and load the unpacked extension. Takes ~2 minutes.
- Node.js 20+ and npm
- A Chromium browser (Chrome, Edge, Brave, Arc…)
- lil bit patience ig
git clone https://github.com/nothariharan/Tecora.git
cd Tecora
npm install
npm run buildThis produces the unpacked extension in .output/chrome-mv3.
- Open
chrome://extensions - Toggle Developer mode on (top-right)
- Click Load unpacked
- Select the
.output/chrome-mv3folder
You'll see the τ icon appear in your toolbar.
Firefox: run
npm run build:firefoxand load.output/firefox-mv2viaabout:debugging→ This Firefox → Load Temporary Add-on.
- Open a chat site logged in — visit Claude, ChatGPT, or Gemini. Tecora quietly captures your chat list; a floating τ dock appears bottom-right.
- Open the library — click the τ dock (or the toolbar icon) → Library to browse everything Tecora has captured. Try folders, tags, and pins.
- Search — press
Ctrl/Cmd + Kon any supported page. Search across one account or All platforms, or type>for snippets and commands. - Today panel — click the τ dock → Today. Add a task, jot a note, and watch auto-detected next-steps show up from your recent chats.
- Export — in the side panel, select a few chats → export as Markdown, a portable JSON archive, or a ZIP with assets.
- Privacy — open Settings in the side panel to flip per-platform capture toggles, review the activity log, or wipe all data.
- Drag the dock — grab the τ circle and move it anywhere; the spot sticks.
npm run dev # hot-reloading dev build (Chrome)
npm run compile # type-check (tsc --noEmit)
npm test # vitest unit suite
npm run build # production build → .output/chrome-mv3
npm run zip # packaged .zip for distributionTip: after reloading the extension at
chrome://extensions, hard-refresh any open Claude/ChatGPT/Gemini tabs so the new content script takes over.
Three isolated layers keep host-page access minimal and auditable:
page (main world) patches fetch/xhr — captures chat list + detail
→ postMessage
content script (L1) adapters, τ dock, Ctrl+K palette, Today panel, authed fetch
→ runtime message
service worker (L2) Dexie (IndexedDB), MiniSearch, folders/tags, bulk queue
→ IndexedDB
Key paths:
| Path | Role |
|---|---|
entrypoints/injected.content.ts |
L0 — main-world fetch/XHR intercept |
entrypoints/content.tsx |
L1 — adapters, UI surfaces, active fetch, task extract |
entrypoints/background.ts |
L2 — Dexie, search index, bulk delete, CRUD |
src/adapters/* |
Per-platform normalization (Claude/ChatGPT/Gemini) |
src/core/* |
Types, search, export, digest, secrets, task-extract |
src/ui/* |
Side panel, palette, τ dock, Today panel, components |
- On-device only. All data lives in your browser's IndexedDB (via Dexie).
- No Tecora account. No Tecora backend. No sync server.
- You control capture. Message-content capture is per-platform and toggleable; turn it off and Tecora keeps only titles/metadata.
- The Summarizer runs locally (Chrome's built-in Gemini Nano). No prompts or chats are sent anywhere by Tecora.
- Wipe anytime. One button clears every local table.
WXT · React 19 · TypeScript (strict) · Dexie / IndexedDB · MiniSearch · fflate (ZIP) · Vitest · Chrome Manifest V3.
Host permissions are limited to the three supported chat sites; the only
extension permissions are storage, sidePanel, and tabs.
See docs/status-and-roadmap.md for the full
picture. Not done yet (and honestly labeled as such): platform-native
archive/rename, ChatGPT Canvas harvest, real platform usage %, and Web Store
listing polish.
Released under the MIT License.
τ · Built for people who live across Claude, ChatGPT, and Gemini. Nothing leaves the device.