You probably know that you can download your whole chat history from ChatGPT, right? The export gives you a .zip
file containing a massive JSON file and a big HTML file.
That’s fine for backup, but not great if you want to actually use your data — for example, to:
- Search across past conversations
- Organize chats by topic
- Build a personal knowledge base
- Feed chats into a RAG pipeline
- Clean up conversations for documentation
So I built a plugin for Typemill, a small self-hosted CMS that stores content as Markdown files. The plugin lets you import your full ChatGPT archive and convert it into clean, editable Markdown pages.
The Setup: Typemill + Plugin
Typemill is a lightweight, open-source CMS built specifically for documentation and structured content. It stores each page as a Markdown file on your server — no database needed. It’s ideal for knowledge bases, manuals, or project notes. To get started, read the quick guide in the documentation.
You can then download the ChatGPT Archive plugin from the plugin page, put it into the plugin folder of Typemill, and activate it in the interface.
What the Plugin Does
Once you download your .zip
archive from OpenAI, the plugin lets you:
- Upload the archive directly from the Typemill backend
- View and select individual conversations from the archive
- Choose how to sort them (chronologically or by topic)
- Convert selected chats into Markdown pages
The result: the chats are saved as editable Markdown pages in Typemill on your own server.
What’s Next?
You can run Typemill as a simple archive, or use the Markdown files for any other pipeline. You can also create a knowledge base based on your chats like this:
- Move important chats into new folders and build your own private, structured knowledge base
- Use Typemill’s AI interface (Kixote) to summarize or extract information from chats
- Create a prompt library to reuse prompts across topics
This plugin is completely free and available here. If you’ve done something similar with other tools (like Obsidian, Notion, or static site generators), I’d love to hear how you approached it.
Let me know if you find it useful or run into issues!
Top comments (0)