Your complete ChatGPT history integrated with Obsidian

Hi everyone,

I use Obsidian daily and count on it for a lot. I also use ChatGPT quite a lot.

I found myself referring back to and continuing previous conversations with ChatGPT, and I wanted a convenient way to access them and refer to them from within Obsidian. I searched for a way to tie them together but couldn’t find anything that met my needs.

To solve this, I wrote ChatKeeper to convert ChatGPT export files into local Markdown files. Since Obsidian handles these perfectly, it allows for seamless integration between the two.

ChatKeeper lets you:

  • Search your conversation history within Obsidian without even switching windows
  • Link conversations from other Obsidian notes, connecting them directly with your projects or ideas
  • Organize your conversations however you want within Obsidian - move them around, rename them, etc. and ChatKeeper will find and update them when you export new data.
  • Maintain a dated conversation index within Obsidian to help you find your conversations chronologically

It’s not an Obsidian plugin — it’s a command-line tool that processes a ChatGPT export file directly into your vault. And there’s nothing Obsidian-specific about it, it just happens that the two work great together. Which was my goal. :slightly_smiling_face:

You can point it to your vault and optionally specify a path within the vault where you want conversations to go. Doing it this way, rather than just giving it the full path to where you want them written within the vault, lets it find and update any conversations you might move out of that directory to organize them.

Here’s an example of how I use it with my vault:

chatkeeper keep my-export-file.zip "path/to/my/vault" -p "My ChatGPT Conversations"

There’s a more complete guide on the website that shows all of ChatKeeper’s options.

Please feel free to download it and give it a try! I’d love to hear your thoughts, feedback, suggestions, etc.

I really hope you find this useful. Thanks for checking out ChatKeeper!

— Marty

1 Like

Hi all,

I’m very happy to announce that a beta version of ChatKeeper is now available for Mac with the same features and functionality as the current release for Windows and Linux.

If you saw the above post earlier but were disappointed not to see Mac support, it’s now available for you to check out. I hope you find it useful!

- Marty

I’m excited to announce that the release candidate for ChatKeeper version 1.1.0 is now available. I’ve been working on some new features and improvements that I’d love for you to get your hands on and try out.

This is a release candidate for the curious (and perhaps slightly adventurous). I’m not aware of any current issues with this version, but I’m still finalizing testing for the official 1.1.0 release… so it might have issues I haven’t found yet. If you’re interested, please download the release candidate and let me know how it works for you - your feedback has been invaluable!

Here’s What’s New in ChatKeeper 1.1.0-rc.1

  • Support for ChatGPT’s new Canvas feature: You can now save and manage your Canvas sessions with ChatKeeper. Please note that there are some known issues with ChatGPT’s export format for Canvas chats. I’ve reported these to OpenAI and implemented workarounds where possible.
  • Support for ChatGPT’s new Search feature: ChatKeeper now formats ChatGPT’s search summaries and sources in Markdown.
  • Native Apple Silicon Support: ChatKeeper now runs natively on Apple Silicon (m1/m2/m3/m4). No more need for Rosetta complications.
  • Official Homebrew Installer: Mac users now have an easy way to install and update on their systems. The correct binary will be automatically installed for your platform.
  • Conversation Index by Start Date: A new index document organizes your conversations by their start dates for another navigation option (in addition to the previously existing index by last activity).
  • Numbered Conversation Turns: Conversation “turns” now have numbered Markdown headings in order to enable linking to specific messages within conversations.
  • Version Information Display: The ChatKeeper version is now included in both YAML front matter and in more user messages in both Markdown and the CLI.

- Marty

Hello again!

Just in time for the holidays, OpenAI has resolved their chat export issue, I was able to complete testing, and ChatKeeper 1.1.0 is now available!

It includes all of the features listed above and is the “official” release.

And with OpenAI releasing new features nearly every day this month, I have some work to do on the next version!

- Marty

2 Likes

Wow, I’m so excited about this — this was literally my use case for switching to Obsidian last summer, but I never really got the process working smoothly. Can’t wait to try this out!

I’m really happy to hear this! It’s a bit of a niche application, but those who need it, need it. Please let me know if you run into any issues!

Quick update on ChatKeeper: I know that command line tools are intimidating for a lot of people, so work is underway on a GUI version. But in the meantime, I’ve built this Command Line Helper to take some of the command line pain away.

It’s a simple web form you can fill out in order to get your own personalized ChatKeeper command with all of your options properly filled in, ready to copy and paste into your terminal. Of course it doesn’t send me, or anyone else, any of your data.

So if you’ve been put off by the command line interface, please check out the new Command Line Helper. I hope it makes things easier for you!

1 Like

Another update: ChatKeeper 1.2.0 is now available for download!

New in this version:

  • Exporting Generated Images, both from DALL-E and the new GPT4o image generator.
  • Handling Unzipped Exports (since Safari seems to unzip them by default…)
  • Lots of little things, like supporting Tasks, handling citations in Deep Research results, and other miscellaneous enhancements and smoothed rough edges.

Full details are on the ChatKeeper Download Page.

- Marty

P.S. The GUI mentioned above is now my main focus, but it was important to get some of these things out of the way first.

Hi all, two quick updates:

  1. ChatKeeper 1.2.1 is now available for download with a couple of (very) minor bug fixes.
  2. I just published a short blog post: How I List and Link Each Day’s ChatGPT Conversations In My Obsidian Daily Notes.

If you use both ChatKeeper and Obsidian, you might find the blog post helpful. I walk through a simple Dataview script you can drop into your Daily Notes template to automatically list any ChatGPT conversations you had that day and link to them within your vault.

I personally find it super handy - and I hope you do, too!

- Marty

Time for another update!

ChatKeeper 1.2.2 is now available for download.

This version adds “Chain of Thought” to the markdown output. This is the text that you might see flashing by while it’s “Reasoning”, followed by something like “Thought for 15 seconds.

It ends up looking something like this in Obsidian:

https://martiansoftware.com/chatkeeper/reasoning-example.png

Handling this chain of thought also eliminates any warning messages about “unhandled message types” for the types “thoughts” and “reasoning_recap”. (Note to self: I really need to make those warning messages friendlier!)

There are some minor bug fixes in this version as well, plus a change for better handling of conversations that use ChatGPT’s Canvas.

I read and respond to all feedback, so if you give it a try, please don’t hesitate to reach out and share your thoughts!

- Marty