AI Generation
Connect a host-owned generator, stream Markdown updates, and optionally accept supported attachments.
Transform complex mental models into structured visual systems with natural language. Open source, extensible, and built for the modern web.
Prompts are sent to the public Open MindMap AI endpoint. Attachments are not sent.
Append Markdown as it arrives. The v0.9 controller publishes immutable previews, preserves stable node identities, and commits the completed generation as one history entry.
A complete mind-mapping toolkit built from explicit runtime surfaces, optional Features, pure SVG, and accessible interaction.
Connect a host-owned generator, stream Markdown updates, and optionally accept supported attachments.
No Canvas or external layout engine. Maps remain crisp at every zoom level.
Editing, selection, panning, zooming, and focused controls in a composable React surface.
Follow the system color scheme or explicitly select a light or dark runtime theme.
Use surface-specific stylesheets and semantic theme tokens to match your product.
Create, edit, move, fold, copy, paste, undo, and navigate without leaving the keyboard.
Choose Core, Static, Viewer, or Editor and add Features only when your interface needs them.
Pan, zoom, select, and edit through pointer and touch-friendly controls.
Built-in English and Simplified Chinese messages with host-provided overrides.
Export SVG, PNG, Markdown, JSON, or a plain-text outline through explicit Features.
Add an opt-in source editor while the controller keeps the visual document synchronized.
Use the dedicated Viewer entry for navigation and selection without editor mutations.
Seven built-in Extensions transform syntax and layout through stable, opt-in hooks.
Set document direction and theme from a YAML header.
--- direction: right theme: dark ---
Use dotted connections for secondary relationships.
-. Dashed child node
Persist collapsed branches in the document.
+ Collapsed group - Hidden child
Attach multiple display lines to one node.
- Title | Detail line 1 | Detail line 2
Categorize and filter nodes with namespaced attributes.
- React #frontend #lib
Connect nodes outside the parent-child tree.
- Node {#a}
-> {#b} "ref" Render formulas through the optional KaTeX peer.
- Inline: $E = mc^2$ - Block: $$\sum x_i$$
Use familiar Markdown to describe ideas. Open MindMap parses it into a deterministic Document and renders an interactive SVG projection.
Project Roadmap - **Phase 1** — Foundation - [x] Setup repository - [x] Core architecture - [-] API design > Explicit package entries - *Phase 2* — Features - [ ] Search and history - [ ] `Markdown` editor - [ ] ==Export workflow== - Resources - [Docs](/docs/) - ~~Private source imports~~
Choose a focused runtime surface, pass Markdown or a Document, and compose only the Features and Extensions your application needs.
Public types cover Documents, nodes, patches, controllers, surfaces, Features, and Extensions.
Transform parsing, serialization, visibility, edges, or layout through stable hooks.
import { MindMapEditor } from '@xiangfa/mindmap/editor' import '@xiangfa/mindmap/styles/editor.css' export function Map() { return <MindMapEditor markdown={content} extensions={extensions} features={features} onMarkdownChange={save} /> }
Built on open web standards
An open-source toolkit for visual thinking in the React ecosystem.