User guide
This is the same manual the app bundles under Settings → About → User guide, rendered from the very same file — so it cannot drift from the one on your machine.
Features at a glance
| Feature | What you get |
|---|---|
| AI chat on any node | Ask about one idea; the AI sees that branch, not the whole document. Save the answer as the node's note |
| AI edits the map | The AI proposes new branches; you review them, and one Undo takes them back |
| Local AI | Runs on your computer through Ollama or LM Studio, which the app installs for you. Private and free |
| Encrypted on your device | Maps, chats and settings are AES-256 encrypted with your passphrase. No account |
| Offline semantic search | Find ideas by meaning, with no internet |
| Papers from arXiv | Find papers for any node in ArticleAtlas's dataset of arXiv papers, and AI answers that know about them — with a tested model, AI that searches arXiv itself and lists its sources. Followed topics kept up to date. Public data, off with one switch |
| Import | Freeplane (.mm) and XMind (.xmind) maps |
| Cloud AI (optional) | Claude or OpenAI with your own API key — only if you choose it, and only after you agree |
| Also | Starter templates, maths (LaTeX), rich text, full undo/redo |
System requirements
| Platform | Minimum |
|---|---|
| Windows | Windows 10, 64-bit |
| macOS | macOS 14 Sonoma (Apple Silicon or Intel) |
Linux (.deb / .rpm) |
glibc ≥ 2.39 and GTK 3.24+ — Ubuntu 24.04+, Debian 13+, Fedora 40+ |
| Linux (Snap) | Any distribution with snapd (built on core24) |
| Android | Android 7.0 (API 24), 64-bit |
No GPU or AI model is needed for the editor, import and search.
Getting started
- New map starts a blank map; ⋮ → Start from a template gives a ready structure (study, reading notes, decision, or a tour of the app).
- Import opens Freeplane
.mmor XMind.xmindfile. - Set up AI — see Configuring AI.
- Select a node to see its actions, including the AI chat.
Working with maps
- Pan, zoom, expand and collapse branches; tap +N to expand. New children realign the group.
- Drag a node onto another to re-parent it; its subtree follows.
- Dragging the central node moves the whole map.
- Right-click (or long-press) a node for its full menu.
- Style nodes: shape, colour, font, border, up to 5 icons.
- Auto-align rebalances a messy layout.
- Properties shows a node's link, tags, attributes, detail and note.
- Select text in a note or detail to format it; Style under a chat bubble formats a message.
- Links in a note, detail or message (from the AI or imported) open in your browser when tapped (web and email only).
- Undo / redo covers every edit, including AI changes.
Import
Freeplane .mm and XMind .xmind (legacy and 2020+). XMind sheets become sheets of one map. Every import is a new, independent copy.
The AI features
| Feature | Where | What it does |
|---|---|---|
| Node chat | Node → Chat about node with AI | A conversation about that node. The AI sees the node, its notes, parent, children and the map outline. History is kept per node |
| Map chat | Chat about map with AI | A conversation about the whole map. It never edits the map |
| Resend | ↻ under a question in a chat | Asks it again with the model chosen now, to compare models. The AI sees the chat up to that question; the reply after it is replaced (Undo brings it back), or added |
| Extend | Extend on a node or the map | The AI proposes new nodes. Apply adds them as one undoable step; applied nodes are highlighted with Keep / Undo |
| AI Research | Node → Properties → AI Research | Ask a question; the answer becomes the node's note (you confirm before one is replaced) |
Nodes the AI changed show a ✨ badge; tap it to see which model changed what, and when.
Semantic search (offline)
Type in the search bar. Nodes are matched by meaning and glow amber; Esc clears the selection, editing a node keeps it. The first search on a map indexes it, with progress and Cancel.
Two built-in models, in Settings → AI → Embedding model: local-hash-384 (light) and all-minilm-l6-v2 (better). Changing it re-indexes; Recompute embeddings now forces that.
Configuring AI
Open Settings → AI, pick a Provider and a Model, and press Save.
- Ollama / LM Studio run on your hardware. Save installs the runtime if needed, starts it and downloads the model, with a checklist and Retry. Default addresses:
http://localhost:11434/v1(Ollama) andhttp://localhost:1234/v1(LM Studio). - Claude / OpenAI run in the cloud and need an API key — see below.
- Include map context adds the map outline to every AI request.
- Linux: LM Studio must be installed by hand (see Set up LM Studio manually).
- Phone or tablet: runtimes cannot run on the device. Enter the Server address of a computer running one (e.g.
192.168.1.50); Port · Change if it is not the default. A remote LM Studio cannot download models — download them on that computer.
Which model should I pick?
The list is fixed: only models tested against the app. Roughly needs is GPU memory, or system memory without a GPU.
| Model | Runtime | Model key | Download | Roughly needs |
|---|---|---|---|---|
| Qwen 2.5 (7B) | Ollama | qwen2.5:7b |
4.7 GB | ~8 GB RAM or VRAM |
| Qwen 2.5 (32B) | Ollama | qwen2.5:32b |
19.9 GB | ~24 GB VRAM (or 32 GB RAM) — best quality, slowest |
| Mistral (7B) | Ollama | mistral:7b |
4.4 GB | ~8 GB RAM or VRAM |
| Gemma 3n (e4B) | Ollama | gemma3n:e4b |
7.5 GB | ~6 GB RAM or VRAM — lightest to run, despite the larger download |
| Gemma 4 (e4B) | Ollama | gemma4:e4b |
9.6 GB | ~6 GB RAM or VRAM |
| Qwen 3.6 (35B-A3B) | Ollama | qwen3.6:35b-a3b |
23.9 GB | ~24 GB VRAM (or 32 GB RAM) — reasons before answering; MoE, so faster than its size suggests |
| Qwen 3.8 (27B) | Ollama | qwen3.8:27b |
17.7 GB | ~20 GB VRAM (or 32 GB RAM) — reasons before answering |
| Muse Glimmer (28B) | Ollama | muse-glimmer:latest |
18.2 GB | ~20 GB VRAM (or 32 GB RAM) — reasons before answering |
| Qwen 2.5 (7B) | LM Studio | qwen/qwen2.5-7b |
4.7 GB | ~8 GB RAM or VRAM |
| Qwen 2.5 (32B) | LM Studio | qwen/qwen2.5-32b |
19.9 GB | ~24 GB VRAM (or 32 GB RAM) — best quality, slowest |
| Mistral (7B) | LM Studio | mistralai/mistral-7b-instruct-v0.3 |
4.4 GB | ~8 GB RAM or VRAM |
| Gemma 3n (e4B) | LM Studio | google/gemma-3n-e4b |
4.2 GB | ~6 GB RAM or VRAM — lightest option |
| Gemma 4 (e4B) | LM Studio | google/gemma-4-e4b |
6.3 GB | ~6 GB RAM or VRAM |
| Qwen 3.6 (35B-A3B) | LM Studio | qwen/qwen3.6-35b-a3b |
22.1 GB | ~24 GB VRAM (or 32 GB RAM) — reasons before answering; MoE, so faster than its size suggests |
| Qwen 3.8 (27B) | LM Studio | qwen/qwen3.8-27b |
17.7 GB | ~20 GB VRAM (or 32 GB RAM) — reasons before answering |
| Muse Glimmer (28B) | LM Studio | meta/muse-glimmer |
18.2 GB | ~20 GB VRAM (or 32 GB RAM) — reasons before answering |
| Bonsai (27B) | LM Studio | prism-ml/bonsai-27b |
4.7 GB | ~8 GB RAM or VRAM — 27B at 1-bit quantization, so it fits a small card; reasons before answering |
| Claude Opus 5 | Claude (cloud) | claude-opus-5 |
— | Nothing — runs on Anthropic's servers; billed by them |
| Claude Sonnet 5 | Claude (cloud) | claude-sonnet-5 |
— | Nothing — runs on Anthropic's servers; billed by them |
| Claude Haiku 4.5 | Claude (cloud) | claude-haiku-4-5-20251001 |
— | Nothing — runs on Anthropic's servers; billed by them |
| GPT-5 | OpenAI (cloud) | gpt-5 |
— | Nothing — runs on OpenAI's servers; billed by them |
| GPT-5 mini | OpenAI (cloud) | gpt-5-mini |
— | Nothing — runs on OpenAI's servers; billed by them |
| GPT-4.1 | OpenAI (cloud) | gpt-4.1 |
— | Nothing — runs on OpenAI's servers; billed by them |
- Start with Gemma 3n (e4B) (lightest) or Qwen 2.5 (7B) (better balance).
- Qwen 3.6, Qwen 3.8 and Muse Glimmer reason before answering: slower to start, and you can read their thinking under Reasoning in chat. Chat turns reasoning off for the Qwen models; Muse Glimmer cannot turn it off.
- Bonsai (27B), LM Studio only, fits a 27B model into about 8 GB, at some cost in reliability.
- A model too big for your memory still works, just slowly.
Downloads
The download icon beside Model lists every model: downloading, failed, installed, available. Downloads continue while you use the app.
- Ollama: Cancel stops; starting again resumes.
- LM Studio: Detach only stops watching — the download continues in LM Studio (stop it there). Reattach resumes watching.
- Stalled means no progress, not failure.
Using a cloud provider
Claude and OpenAI are optional. When you use one, the map outline, the node you act on and the chat are sent to that provider and billed to your account. The app asks before the first request, and shows a Cloud chip in chat. Your API key is stored encrypted.
API access is billed separately from a Claude or ChatGPT subscription. Add credit first: a key without credit connects, then fails on the first message.
Setting up a Claude API key
- Sign in at platform.claude.com and add credit under Settings → Billing.
- Settings → API keys → Create key. Scope it to one workspace if asked.
- Copy the key (
sk-ant-api…, shown once) into API key and press Test connection.
If the test asks for a workspace ID, copy it (wrkspc_…) from Settings → Workspaces in the Console into Workspace ID — or create a key scoped to one workspace. A claude setup-token token does not work here.
Setting up an OpenAI API key
- Sign in at platform.openai.com and add credit under Settings → Billing.
- API keys → Create new secret key, in the project that has the credit.
- Copy the key (
sk-, shown once) into API key and press Test connection.
insufficient_quota means that project has no credit left.
Cost and size
- The session's cost is shown in tokens, as the provider reports them. Your provider's dashboard is the bill.
- Ask before sending more than (32k tokens by default) refuses larger requests; set No limit to turn it off.
- Scrub identifiers before sending (off by default) replaces emails, IP/MAC addresses, GUIDs, paths and token-like strings with placeholders. Answers about those values get worse.
For a map that must never leave your device, use Ollama or LM Studio.
Your provider account
MindMap Chat is not affiliated with Anthropic or OpenAI. You use your own account under their terms; billing, quota and support are between you and them. As the Elastic License 2.0 says, the software comes as is, without warranty. Clear conversation deletes a chat on this device only; the provider keeps sent requests under its own retention policy.
- Anthropic — Consumer Terms, Commercial Terms, Privacy Policy, Usage Policy
- OpenAI — Terms of use, Privacy policy, Usage policies
Set up Ollama manually
- Install it from ollama.com. It listens on
http://localhost:11434. - Pull a model by its key from the table, e.g.
ollama pull qwen2.5:7b. - Settings → AI → Ollama, pick that model, Save.
Set up LM Studio manually
- Install it: Windows
winget install -e --id ElementLabs.LMStudio; macOSbrew install --cask lm-studio(Apple Silicon); Linux: the AppImage from lmstudio.ai,chmod +x, andsudo apt install libfuse2. - Open LM Studio once — that installs its
lmstool, which the app needs. - Download a model (
lms get qwen/qwen2.5-7b -y) and start the server (lms server start -p 1234). - Settings → AI → LM Studio, pick that model, Save. The first reply is slow while the model loads.
Share one AI server across your network
Run Ollama or LM Studio on one capable computer and use it from every other device.
On the server:
- Make it listen on the network: set
OLLAMA_HOST=0.0.0.0and restart Ollama, or runlms server start --bind 0.0.0.0 -p 1234. - Download the models there.
- Open the port — see Opening the port on your firewall.
- Note its address, e.g.
192.168.1.50.
On each other device: Settings → AI, the same provider, Base URL http://192.168.1.50:11434/v1 (Ollama) or http://192.168.1.50:1234/v1 (LM Studio). On a phone, enter just 192.168.1.50.
Opening the port on your firewall
The server must listen on the network (above) and the firewall must allow the port: 11434 for Ollama, 1234 for LM Studio. Either missing, the connection just times out.
Neither runtime has a password. Anyone who reaches the port can use it. Allow your local network only, and never forward the port on your router. At your own risk.
Windows — PowerShell as Administrator:
New-NetFirewallRule -DisplayName "Ollama LAN" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 11434 -Profile Private -RemoteAddress LocalSubnet
- The rule works only on a Private network. Check with
Get-NetConnectionProfile; on your own network fix it withSet-NetConnectionProfile -InterfaceAlias "<name>" -NetworkCategory Private. - If
Get-NetFirewallProfile | Select-Object Name, Enabled, AllowInboundRulesshowsAllowInboundRules : False, runSet-NetFirewallProfile -Profile Private -AllowInboundRules True.
Linux — sudo ufw allow from 192.168.1.0/24 to any port 11434 proto tcp, then check sudo ufw status.
macOS — the firewall (System Settings → Network → Firewall) works per app. If it is on, run sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add $(which ollama), then the same with --unblockapp. For LM Studio use /Applications/LM Studio.app.
To undo: Remove-NetFirewallRule -DisplayName "Ollama LAN" (Windows), sudo ufw delete <number> from sudo ufw status numbered (Linux), or --blockapp (macOS).
Where your AI requests go
Everything the AI sees goes to the address you set:
localhost— stays on this device.- Your network (
192.168.x,10.x,*.local) — stays on your network; the app shows a notice. - Anything else — leaves your network; the app shows a warning. Use only a server you run and trust.
Your database encryption does not cover what you send to a remote server.
Article data (ArticleAtlas)
Settings → AI → Article data (ArticleAtlas). When on, the app downloads public, read-only data about scientific articles (titles, abstracts, authors) from articleatlas.org, the same way it downloads an update. It sends no account, no map content and no search text — only requests for files, and articleatlas.org keeps no log of who requested what. Turn it off and the app never connects to articleatlas.org.
- Find papers — in a node's menu, or under AI actions on the action bar — lists papers for that node, its own title counting most and the titles above it adding context; each opens on arXiv.
- On by default; nothing is downloaded until you first use Find papers, open Add note with AI or a chat, or ask the AI something. Turning it off takes effect at once: a download in progress stops, and Find papers says why it cannot run.
- With any model, Extend with AI, Add note with AI and both chats tell the AI about up to four related papers from the node and its branch (its own title counting most) and, in a chat or Add note with AI, your question; a paper matching only a small part of the search is left out. The AI cites what each paper did or found, from its abstract, as (arXiv:ID); an answer citing none is asked once more (in a chat, only if it talks about research), so it may take twice as long.
- Links look and work the same everywhere: an arXiv id, a paper's title in Sources or Find papers, and a link in a note or a chat reply are underlined in the link colour and open in the browser. A paper the AI adds to the map as a node gets its arXiv page as the node's link. The search starts as soon as Add note with AI opens (in a chat, when you ask), and may take up to 4 seconds.
- A model that cannot look papers up itself first turns those titles, and your question, into search words in the articles' language, so a map in any language finds papers.
- Sources: the answer lists the papers, each opening on arXiv; a saved note keeps them as links at its end, and a chat keeps them with each reply. When none can be found in time, the request goes exactly as without article data, and the answer says Answered without article data.
- With a model that can look papers up itself — one whose tool calls the app has tested, today the Qwen models (on Ollama, Qwen 3.6 not yet) and Muse Glimmer, marked in Settings' model list with a tool icon and uses tools and listed first — Extend with AI, map extend, Add note with AI and both chats search arXiv as they work: the window names each step ("Reading arXiv: search papers…") and the answer ends with Sources, the papers it read, each opening on arXiv. A change naming a paper no search returned is left out, and the sheet says how many; a paper that is added is recorded as PAPER in the node's AI contributions. When the article data cannot be read at that moment, the answer comes as it would without it, marked Answered without article data — never a dialog. With any other model the AI is told about related papers as described above.
- Topics. The arXiv categories you keep landing in are followed and kept up to date in the background, at most every ten minutes and only while the switch is on. They appear under Topics in the same section; pin one to keep all of it, past years too, available offline. Which topics you follow is kept in your encrypted settings, not with the downloaded data.
- Under the claim, Settings lists what the AI tools reach — today, files from dl.articleatlas.org — written from what the tools declare, so it cannot say less than they do.
- Settings shows which build of the data is in use and when it was last checked — or that articleatlas.org could not be reached, or that newer data needs a newer version of the app. That line is the only place a failed check shows; nothing pops up.
- What the host sees is what any file host sees: your IP address and which files were requested. Files are grouped by paper number and by a hash of each search word, so they can hint at topics you look into, never at what you typed.
- Downloaded data is kept in the
corpusfolder of the app's data directory, up to 500 MB (150 MB on a phone) unless you choose otherwise under Keep at most (150 MB to 2 GB), the least recently used dropped first and pinned topics last. Choosing a smaller size frees the space at once; a larger one keeps what is there. It is public data and is not encrypted. Delete downloaded article data empties it; turning the switch off keeps it, unused. On a desktop, Open folder shows it in Finder, Explorer or your file manager. - The data is the ArticleAtlas dataset of arXiv papers, under CC-BY-4.0.
Your data
Where it lives
| Windows | %APPDATA%\com.mindmapchat\mindmap_chat\ |
|---|---|
| macOS | ~/Library/Application Support/ (in the app's folder) |
| Linux | ~/.local/share/mindmap_chat/ |
| Android, iOS | private app storage |
Change it in Settings → Data. An empty destination gets your database moved to it; one that already has a database is switched to. Nothing is ever overwritten.
| File | Holds |
|---|---|
mindmap_chat.db |
Your maps, notes, chats and API keys. Encrypted |
settings.enc |
Your preferences. Encrypted |
crypto_header.json |
Key-derivation settings only — nothing that can decrypt |
corpus/ |
Downloaded article data, if you use it — public, not encrypted (Article data) |
Copy all three for a full backup. Keep a key file, if you use one, somewhere else. Logs (sizes and timings only, never your text or keys) stay in the app's own folder.
Encryption & privacy
- Database: SQLCipher, AES-256. Settings are encrypted with the same key.
- Your passphrase is turned into the key with Argon2id and never stored. Lost passphrase = lost data.
- Optional key file as a second factor; optional Remember on this device (OS keychain).
Settings → Security: change passphrase or key file, Remember on this device, Lock now. A passphrase change is crash-safe.
Display and updates
- Settings → Display: text size (Small / Normal / Large / XL). Map labels keep their size.
- Settings → About: automatic update checks (on by default), Check for updates, release notes, Skip this version. Downloads are verified before installing.
- Settings → About also lists the other platforms MindMap Chat runs on, with a link to their downloads (the Google Play build names them without a link).
Troubleshooting
| Problem | Fix |
|---|---|
| AI can't connect, or the model is missing | In Settings → AI, press Save to re-run setup. 401: API key. 404: address or model. Timeout: server unreachable — for a shared server, check the port and that it listens on 0.0.0.0 |
| LM Studio: command-line tool isn't set up | Open the LM Studio app once, then Retry |
| LM Studio: model list is empty | Start its server: lms server start, or from LM Studio's Developer tab |
| LM Studio: first reply takes a minute | Normal — it loads the model on demand |
| Search finds nothing, or is stale | Let the first indexing finish, or Settings → AI → Recompute embeddings now |
| Asks for a passphrase you don't recognise | The data folder holds another database. Enter its passphrase, or switch folders in Settings → Data |
| "Database credentials missing" | crypto_header.json is gone. Restore it or choose the right data folder |
| macOS: "Not Opened" or "Apple could not verify" | Open the app once and click Done, then System Settings → Privacy & Security → Open Anyway. Or in Terminal: xattr -dr com.apple.quarantine "/Applications/Mindmap Chat.app" |
| Linux: blank canvas | KDE + NVIDIA on X11: log in to a Plasma (Wayland) session |
| Linux (Snap): black window | The Snap cannot reach some GPU drivers. Install the .deb instead |
| Fedora KDE: Discover hangs on "Refreshing Snap" | A Discover bug (KDE 500513). Run sudo dnf remove plasma-discover-snap and add excludepkgs=plasma-discover-snap to /etc/dnf/dnf.conf |
Anything else: Settings → About → Send feedback, or feedback@mindmapchat.app.
License
Elastic License 2.0 — full text in Settings → About → License. Free to use, copy, share and modify, including commercially. You may not offer it as a hosted service, circumvent its license keys, or remove its licensing notices.