auroraechop60 downloadsToggle any note into an editable, radial mind map in the same tab. Every edit writes straight back to the original note, and no new files are ever created.
中文说明 | Usage guide | Development
Turn any Obsidian note into an editable, radial mind map — the same way you switch to reading mode. Same tab, same file, no new files ever created.
Every edit you make on the map is written straight back into the original .md note
as a minimal line edit. Toggle back and your note is still your note.

TFile stays open in the same tab. Nothing is generated,
copied, or written to a sidecar file.: text under a heading or a bullet hangs under
that node's card in muted text instead of becoming a card of its own.Ctrl+Z walks back through both.| Editing in place | Annotations | Card styles |
|---|---|---|
![]() |
![]() |
![]() |
| Dragging | Shortcuts settings | Find |
|---|---|---|
![]() |
![]() |
![]() |
Not in the community plugin browser yet, so install manually.
Download main.js, manifest.json and styles.css from the
latest release;
Copy them into your vault:
<your vault>/.obsidian/plugins/mindflow/
Enable MindFlow in Settings → Community plugins.
Or download mindflow.zip and unzip it into .obsidian/plugins/ — one download
instead of three.
Open a note and run Toggle mind map view from the command palette — assign a hotkey to make it feel like switching reading mode.
| Key | Action |
|---|---|
Enter / Tab |
New sibling / new child |
F2 |
Edit the node |
Ctrl/Cmd+Enter |
Add or edit the annotation |
Shift+Enter |
Add a text block |
Delete |
Delete the node and its children |
Space |
Fold / unfold |
Ctrl/Cmd+Z |
Undo |
Ctrl/Cmd+F |
Find in the map |
Every key is rebindable, and the settings page warns when two actions end up on the same one. The full list, the editing gestures, the settings reference and the export formats are in the usage guide.
| Document | What it covers |
|---|---|
| Usage guide (中文) | Every gesture, the full shortcut table, the shortcuts settings page, annotations, content cards, search, export, all settings |
| Development (中文) | Architecture, module map, the round-trip invariant, how to add a shortcut or a setting, testing, releasing |
| Requirements & plan | The original planning document for this project (Chinese) |
src/model/ parser + mutation engine — pure functions, no Obsidian imports
src/layout/ tidy-tree layout
src/view/ canvas, cards, connectors, interactions, math, the TextFileView
src/main.ts plugin: view registration, the mode toggle, commands
src/model and src/layout have no DOM or Obsidian dependency, which is why they
can be unit-tested directly with node --test (Node 22.6+ strips the TypeScript
types natively — no build step, no test framework).
npm install
npm run dev # watch build, straight into the plugin folder
npm run build # typecheck + production bundle
npm run check # version + changelog + typecheck + 401 tests + build
See docs/Development.md for the architecture, the core invariant, and how to add a shortcut, a setting or an export format.
MIT — see LICENSE. Copyright (c) 2026 AuroraEchop.
No third-party code is bundled: there are no runtime dependencies, formulas are
typeset by Obsidian's own MathJax, and icons come from Obsidian's setIcon.
XMind, MindNode and Mubu are trademarks of their respective owners; this project is not affiliated with either and mentions them only to describe how the canvas behaves. Obsidian is a trademark of Dynalist Inc.