Your personal archive for AI chat conversations.
Local-first · AI-powered analysis · Full-text search · Snapshots & backups
Mnemo is a desktop app that captures your conversations from Claude, ChatGPT, Perplexity, and Grok into one searchable, private archive. Everything lives on your machine — organized into folders and tags, indexed for instant full-text search, and optionally enriched with AI-generated titles, summaries, and tags.
- Capture from anywhere — Import chats via a bookmarklet (HTML → Markdown) or by pasting Markdown directly. Supports Claude, ChatGPT, Perplexity, and Grok.
- AI analysis — Optionally run a configured Claude Code or Codex CLI to generate a title, summary, and tags for each imported chat.
- Organize — Sort chats into folders and tags with a tree-based sidebar.
- Full-text search — Instant search across your entire archive, powered by a Tantivy index.
- Attachments — Files are copied into the app data directory so your archive stays portable.
- Snapshots — One-click backups bundle your database and attachments into a single zip; restore atomically with an automatic safety snapshot.
- Local-first & private — All data stays on your machine. No accounts, no cloud.
- Frontend — React 19, TypeScript, Vite, Tailwind CSS
- Backend — Rust + Tauri 2
- Storage — SQLite (
tauri-plugin-sql) for data, Tantivy for search - Markdown —
react-markdown,remark-gfm,turndown(HTML → Markdown),mermaiddiagrams
- Bun
- Rust and the Tauri system dependencies
bun install
bun run tauri dev # run the app with hot reloadbun run tauri build # produce a production desktop bundlebun run build # build the frontend only (tsc + vite)
npx tsc --noEmit # type-check the frontend
cd src-tauri && cargo check # type-check the Rust backend- Open a conversation on Claude, ChatGPT, Perplexity, or Grok.
- Run the Mnemo bookmarklet to capture the page, or copy the conversation as Markdown.
- Paste or import it into Mnemo. Duplicate detection compares against existing chats from the same source and offers to update or create a new entry.
- (Optional) Run AI analysis to generate a title, summary, and tags.
src/ React + TypeScript frontend
components/ ChatDetail, ChatList, Sidebar, Settings, FolderTree, TagTree
hooks/ useDatabase (CRUD, filtering, import), useAnalysisSettings
lib/ db, metadata (AI analysis), attachments, html-parser, parser
src-tauri/ Rust + Tauri backend
src/lib.rs Tauri commands: search, indexing, storage usage
src/backup.rs Snapshot create / restore / export / delete
src/search.rs Tantivy full-text search index
Data is stored under the app data directory: SQLite at mnemo.db, attachments under
attachments/, the search index at tantivy_index/, and snapshots as snapshot-*.mnemo.zip.
MIT © Illegal Studio