ChatCabinet
Your local AI chat archive — pull conversations from different sources, keep them on disk, and find answers quickly.
★Free vs Pro (plan)
Product boundaries for billing — Free vs Pro. In the desktop app, Pro is stored in a small local file under your profile only when you apply a signed license bundle.
Included in Free
- Unlimited chat links and collections (single level — flat folder list)
- Tags on links and search by title, URL, note, and tag names
- One active sidebar filter at a time
- Conversation archive import JSON / Markdown / PDF / DOCX and full archive search
- Manual backup & restore (JSON)
- Light / dark theme
Pro adds
- Nested folders under My collections with collapse/expand tree
- Several sidebar filters at once + Match all / Match any
- Extra filters: Has note, Favorites, Duplicates, Platform, Created month
- Link favorites (star)
- Search scoped to current collection
- Export archive to Obsidian
1Two main workflows
The app has two modes: Links for saving URLs quickly, and Conversation archive for storing full transcripts locally with search.
Link types
Saving & editing links
- + Add link — URL, title, optional note, tags, and collection.
- Open launches the URL in your browser. Delete removes bookmark from app only.
- Star / favorite on a card tags the link for filters and search operators.
⚙Links: filters & advanced search
Three layers apply in order: sidebar collection, search field, then sidebar filters block.
Search scope (dropdown next to the field)
- All chats — search across every link.
- This collection — limit search to the active collection.
Sidebar: All, Unsorted & My collections
- All chats — every saved link.
- Unsorted — links with no collection assigned.
- My collections — your folders tree.
Nested collections
- Click + on folder row to create a subfolder.
- Chevron ▾ collapses/expands branch.
- Folder counts include nested descendants.
collection:/folder:includes descendant folders in search.
Filters block
- Clear filters (N) clears selected filter rows only.
- Match all / Match any controls multi-filter behavior.
Tags
- Without tags — links with no tags.
- Tag rows filter by selected tags.
- Hover tag row to rename/delete that tag.
Attributes
- Has note — non-empty note.
- Favorites — starred entry.
- Duplicates — same normalized URL.
Platform & Created
- Platform — inferred from link URL hostname.
- Created — calendar month of
createdAt.
Search syntax
tag:x site:y platform:chatgpt collection:name fav:yes dup:yes after:YYYY-MM-DD #tag
| Operator | Example | What it does |
|---|---|---|
tag: or # | tag:kotlin #idea | Has a tag whose name contains substring. |
collection: / folder: | folder:work | Collection name contains string. |
site: / domain: | site:github.com | Host/domain fragment match. |
platform: | platform:claude | Platform filter. |
favorite: / fav: | favorite:no | Favorite on/off. |
has:note | has:note | Non-empty note only. |
after: / before: | after:2024-06-01 | Date bounds filter. |
duplicate: / dup: | dup:no | Duplicate URL status. |
Toolbar: sort, layout, fields & bulk move
- Sort — newest/oldest, title, site, platform, updated, random.
- Grid / list — cards or compact rows.
- Fields — choose which parts show on cards/rows.
- Select links and use bulk bar: Select all, Move, Clear.
2Exporting chats from ChatGPT
- Open chatgpt.com and sign in
- Click your profile icon (bottom-left)
- Open Settings
- Go to Data Controls
- Click Export next to Export data
- Confirm and wait for email
- Download ZIP and unzip it
- Find conversations.json
- In app: Conversation archive → Import → choose file
3Exporting chats from Claude
- Open claude.ai and sign in
- Click your name or avatar (bottom-left)
- Open Settings
- Under Privacy, click Export data
- In app: Conversation archive → Import → pick file
4Exporting chats from Gemini
- Open takeout.google.com and sign in
- Click Deselect all
- Enable only Gemini Apps
- Click Next step
- Choose ZIP and Create export
- Wait for Google email with download link
- Download and unzip
- Find Gemini Apps Activity.json
- In app: Conversation archive → Import → choose file
◇Obsidian: notes out and back
Obsidian stores notes as plain files in a folder on disk. This app writes .md files you open
like normal notes.
Export archive chats to Obsidian
- Put conversations in Conversation archive first.
- In Obsidian, open the vault where you want notes.
- In app, click To Obsidian from archive/card/chat.
- Pick your vault folder and click Export.
Import notes back
- Conversation archive → Import → File.
- Or choose Folder and point to exported notes directory.
5Conversation archive: browse, import & filters
Archive view lists every imported conversation. Search scans message text across chats.
- All platforms and All sources narrow grid before opening chat.
- Card ✕ deletes conversation from local archive.
- Inside chat: Copy message or Copy all thread.
Import entry points
- File — ChatGPT/Claude/Gemini JSON, Markdown, PDF, DOCX.
- Cursor — find Cursor IDE chats on this machine.
- Folder — scan any directory for supported exports.
☾Light & dark theme
The app remembers your theme choice locally on this device.
6Where data lives
Everything stays on your computer by default. Backup stores links and archive in one JSON file; restore replaces current data with that file.
Settings in sidebar opens this Help page. Backup, Restore and Data folder are also available on the Conversation archive toolbar.