An intuitive desktop application that transforms raw, unstructured text into interactive mind maps. It leverages the power of local Large Language Models (LLMs) via Ollama to intelligently structure information, which is then visualized from a simple Markdown file.
- Intelligent Text Analysis: Uses a local LLM via Ollama to transform unstructured text into a hierarchical Markdown document suitable for visualization.
- One-Click Enhancement: Structure meeting notes, brainstorms, or copied text into a clean mind map structure with a single click (
Ctrl+E).
- Markdown-Driven: The mind map is generated directly from Markdown. The visualization updates in near real-time as you edit.
- Comprehensive Navigation: Pan the canvas with a middle-mouse drag and use
Ctrl+Scrollto zoom. - Dynamic Nodes: Freely reposition nodes; connectors will fluidly update automatically. Collapse and expand branches to focus on specific areas.
- Node Customization: Customize node colors via a color picker on double-click.
- Visual Aids: Toggleable grid and snap-to-grid functionality for precise node alignment.
- Dual Themes: Switch between a sleek dark theme and a clean light theme. Icons and UI elements adapt for optimal visibility.
- Productivity Tools: Quickly find nodes with the integrated search bar, and use keyboard shortcuts for all major actions.
- PNG Export: Export the entire mind map as a high-resolution, transparent PNG image, perfectly cropped to fit the content.
- Modern UI: A custom, frameless interface built with PySide6 for a native application experience.
The application operates on three core principles:
- Markdown as the Data Source: The mind map's structure is defined by Markdown headings. A level 1 heading (
# Title) is the root node, a level 2 heading (## Sub-Topic) is a child of the root, and deeper headings create subsequent branches. - AI for Structuring: The "AI Enhance" feature sends the input text to a locally running Ollama model. A system prompt directs the model to analyze the text, identify its underlying structure, and return a well-formed Markdown document.
- Dynamic Rendering: The application parses the Markdown in the editor and renders it as an interactive graph. A debounce timer automatically updates the visualization as the user types, ensuring a responsive experience without requiring manual refreshes.
-
Python 3.8+
-
Ollama: The Ollama service must be installed and running locally.
-
An Ollama Model: At least one model must be downloaded for the AI features to work. The application defaults to a small, fast model, but this can be changed in the source code.
# Pull the recommended model (fast and lightweight) ollama pull granite4:tiny-h
-
Clone the repository:
git clone https://github.com/dovvnloading/Tree-Graph-MindMap.git cd Tree-Graph-MindMap -
Install Python dependencies:
pip install PySide6 ollama
-
Start the Ollama service. This is typically done by launching the Ollama desktop application or running
ollama servein a terminal. -
Run the application:
python Mind_Map.py
(Note: You may need to use
python3depending on your system's configuration.)
The AI enhancement feature is designed to bring structure to complex information.
-
Paste any unstructured text into the Markdown editor panel. For example:
Our company project, Phoenix, is running behind. The UI/UX team is blocked because the backend APIs are not ready. Specifically, the authentication endpoint is down, and the user profile service is returning 500 errors. On the frontend side, the component library needs to be updated to version 3.1, which is a breaking change.
-
Click the "AI Enhance" button in the toolbar or press
Ctrl+E. -
The AI will process the input and replace it with a structured Markdown document, which is then instantly rendered as a mind map.
# Project Phoenix Status ## Backend Issues ### API Readiness #### Authentication Endpoint Down #### User Profile Service 500 Errors ## Frontend Issues ### UI/UX Team Blocked ### Component Library Update #### Requires upgrade to v3.1 #### Breaking Changes Expected
| Shortcut | Action |
|---|---|
Ctrl + R |
Manually render the mind map. |
Ctrl + E |
Enhance the current text with AI. |
Ctrl + Shift + E |
Export the mind map as a PNG image. |
Ctrl + S |
Save the current Markdown file. |
Ctrl + O |
Open a Markdown file. |
Ctrl + N |
Create a new, empty file. |
Home |
Fit the entire mind map in the view. |
F |
Zoom to the currently selected node. |
The default AI model can be changed by editing the AIWorker class initialization in app_utils.py. Simply replace 'granite4:tiny-h' with the name of any other model you have installed via Ollama.
Contributions, issues, and feature requests are welcome. Please refer to the issues page for an overview of current tasks and bugs.
This project is open-source and available under the MIT License. See the LICENSE file for more details.


