Skip to content

Repository files navigation

Mind Archive

Your Personal AI Mind Archive.

Own your AI memory. Simple, private, and yours.

Mind Archive is a local-first application for preserving, organising, searching and exporting your AI conversations, memories, knowledge and files — so that they stay yours, and stay useful even when you change AI provider.

Your archive lives on your own computer. There is no account, no server, and nothing is uploaded anywhere unless you explicitly configure it.

Status: early development. You can import a ChatGPT export, then browse, search and read it. Organising it with tags and projects is next.


Quick start

The supported way to run Mind Archive is Docker.

python or python3? On Windows it is python. On Linux, WSL and macOS it is usually python3 — Ubuntu ships no bare python. Every python ... command below works either way; use whichever your shell has.

git clone https://github.com/narainsagar/mindarchive.git
cd mindarchive
cp .env.example .env
python scripts/dev.py up --build

Then open:

To stop: python scripts/dev.py down. Your archive stays in ./data.

Plain docker compose up --build works too — scripts/dev.py is a convenience wrapper, not a requirement.

Running without Docker

You need Python 3.11 or newer and Node.js 20 or newer.

Backend:

cd apps/api
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
uvicorn mind_archive.main:app --reload --port 8000

Frontend, in a second terminal:

cd apps/web
npm install
npm run dev

Full instructions, including WSL2 and Windows specifics, are in docs/DEVELOPMENT.md.

Getting your ChatGPT history in

In ChatGPT: Settings → Data controls → Export data. Two things catch people out, and neither is obvious:

  • ChatGPT says preparing it can take a few days. Request it before you need it.
  • The download link expires 24 hours after the email arrives, and asking again cancels your previous request. Ask once, then wait.

When it arrives, save the .zip into data/inbox/ and Mind Archive imports it on its own. Or choose the file in the interface — whichever you prefer.

Already keep your exports somewhere? Point the inbox at that folder with MIND_ARCHIVE_INBOX_DIR; your files stay exactly where they are.

Re-importing later costs nothing: Mind Archive reports what is genuinely new and leaves everything else untouched.

In a hurry? docs/FASTER_IMPORT.md describes an optional script you run in your own browser to get your conversations in minutes. Mind Archive never sees your session and never contacts OpenAI.

What makes Mind Archive different

Local first. Everything works with no network connection and no account.

Privacy first. Nothing leaves your machine. Cloud features are opt-in, off by default, and can never be enabled silently.

You own your data. Conversations are stored as ordinary Markdown and JSON files you can read, search, back up and move with any tool you like. SQLite is used only for indexing — delete it and your archive is still intact.

No provider lock-in. ChatGPT is simply the first import format. Claude, Gemini, Google AI Studio, local models and future providers all plug in through the same adapter interface. None of them sits at the centre.

Human readable. The interface, the documentation and the stored data are all written to be read by a person.

Project layout

mindarchive/
├── apps/
│   ├── api/          Python + FastAPI backend
│   └── web/          React + TypeScript + Vite frontend
├── docs/             Documentation
│   └── project-memory/   Decisions, state, milestones, sessions
├── scripts/          Development helpers, and the optional browser script
├── prompts/          The founding specification and AI coding guidance
├── data/
│   ├── archive/      Your conversations. Never committed.
│   └── inbox/        Drop exports here and they import themselves.
├── AGENTS.md         Instructions for AI agents and contributors
└── docker-compose.yml

Configuration

Copy .env.example to .env and edit it. Every setting has a safe default; the file documents what each one does. .env is git-ignored and must never be committed.

Documentation

Document What it covers
PRODUCT.md What Mind Archive is and who it is for
FASTER_IMPORT.md Getting your conversations in sooner
ARCHITECTURE.md How the system is put together
DEVELOPMENT.md Setting up and working on the project
SECURITY.md Privacy model and reporting a vulnerability
ROADMAP.md Where the project is going
BACKLOG.md Ideas and known gaps
DECISIONS.md Why the project is built this way
GITHUB_PAGES.md Publishing the documentation site

Contributing

Please read CONTRIBUTING.md and AGENTS.md — the second one applies whether you are a human or an AI coding agent.

Outside contributions are not being accepted at this stage. Issues and ideas are welcome in the meantime.

You should be able to clone, install, run, understand and test the project without any private credentials.

How it is built

Mind Archive is developed with AI-assisted engineering workflows alongside human design, review, testing and decision-making. Every change is reviewed and verified by a person before it lands.

License

Mind Archive is proprietary software. All rights reserved.

It is not open source and it is not source-available. No licence to use, copy, modify or distribute it is granted — see LICENSE, and LICENSING.md for the plain-language version.

Your archive is yours regardless. Licensing governs the software, never your data.

About

Your Personal AI Mind Archive — Own your AI memory. Simple, private, and yours.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages