Because memories are invaluable.
Gemini Chronicle is a local-first desktop app that silently archives your Google Gemini conversations. Google offers no easy way to export your AI chat history — and conversations can disappear without warning. This tool captures them as they happen, so your ideas, research, and creative work are always yours to keep.
Even for conversations already lost, Chronicle can recover them from your Google My Activity data — as long as they haven't exceeded your auto-delete retention period.
- Automatic capture — a browser userscript intercepts conversation data in the background
- Recovery — reconstruct deleted conversations from My Activity before they expire
- Local storage — everything stays on your machine in a SQLite database
- Full-text search — find any conversation by keyword
- Table of contents — floating TOC panel for quick navigation within long conversations
- Keyboard-friendly — Vim-style navigation for fast browsing
Download the latest release for your platform from the GitHub Releases page.
The Sentinel is a browser userscript that silently captures Gemini conversation data and sends it to the Chronicle app.
- Install the Tampermonkey extension in your browser (Chrome/Edge).
- Make sure the Chronicle app is running.
- Open http://127.0.0.1:41009/sentinel.user.js in your browser — Tampermonkey will prompt you to install.
- Navigate to gemini.google.com — the Sentinel will start working automatically.
The userscript is served directly from the running app, so it will always match your installed version. Tampermonkey can also check for updates automatically from the same URL.
To archive conversations you've already had on Gemini, open each chat from the Gemini sidebar while the Sentinel is active. The Sentinel will capture the conversation data as it loads.
Conversations deleted from Gemini may still exist in your Google My Activity data. To recover them:
- Visit your My Activity for Gemini page with the Sentinel active.
- Scroll through your activity history — the Sentinel will capture the data as it loads.
The app is built with Tauri v2 and uses Bun as the frontend runtime.
cd app
bun install
bun run tauri devFor development, use the dev stub so that changes to the userscript take effect on page refresh without reinstalling:
- Copy
sentinel/dev-stub.user.js.exampletosentinel/dev-stub.user.js - Edit the
@requirepath to point to your local repo checkout - In your browser's extension settings, enable "Allow access to file URLs" for Tampermonkey
- Install the stub by dragging
dev-stub.user.jsinto Tampermonkey's dashboard
- The app listens on port
41009for incoming data from the Sentinel. - Log file:
~/Library/Application Support/org.1b2c.gemini-chronicle/debug_log.txt