Mnemosyne OS
New The documentation is live: every engine, step by step. docs.mnemosyne-os.io →

Import from AFFiNE

Get your AFFiNE documents out as Markdown.

One command reads the AFFiNE workspaces on your machine and writes one Markdown file per document, with its images. It is MIT, it never writes back, and it works whether or not you use Mnemosyne OS.

The command

One line, no install.

npx @mnemosyne_os/affine-reader ./out

It finds the workspaces AFFiNE keeps on your computer, replays their history and renders each document with AFFiNE's own parser rather than a rewrite of it. Links between documents come out as relative links to the exported files, so the folder opens in any editor that reads a directory of Markdown.

Inside the app

Or point it at a watched folder.

Mnemosyne OS carries the same reader in Settings → Vaults. Pick the workspaces, pick a folder, and the documents become searchable memory you can ask questions of. One press per import: there is no watcher and no standing rule.

FAQ

Questions

Does this touch my AFFiNE data?
No. The database is copied before a byte is read, and nothing is ever written back. Two processes writing one CRDT corrupt it, which is why the reader is read-only by construction.
Do I need Mnemosyne OS for the command?
No. The npm package stands alone and is MIT. Mnemosyne OS carries the same reader for people who want the documents to become searchable memory.
Why is the whiteboard missing?
Markdown has no way to hold an edgeless canvas. The exporter takes page-mode content and says so rather than producing something that looks complete and is not.
Is this made by AFFiNE?
No. It is an independent MIT tool that uses AFFiNE's own MIT parser, with attribution, so the rendering matches the app rather than guessing at its format.