# Smart Mind Map - Mind Mapping Generation Plugin Smart Mind Map is a powerful OpenWebUI action plugin that intelligently analyzes long-form text content and automatically generates interactive mind maps, helping users structure and visualize knowledge. **Author:** [Fu-Jie](https://github.com/Fu-Jie/awesome-openwebui) | **Version:** 0.9.1 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) | **License:** MIT ## What's New in v0.9.1 **New Feature: Image Output Mode** - **Static Image Support**: Added `OUTPUT_MODE` configuration parameter. - `html` (default): Interactive HTML mind map. - `image`: Static SVG image embedded directly in Markdown (**No HTML code output**, cleaner chat history). - **Efficient Storage**: Image mode uploads SVG to `/api/v1/files`, avoiding huge base64 strings in chat history. - **Smart Features**: Auto-responsive width and automatic theme detection (light/dark) for generated images. ## Key Features 🔑 - ✅ **Intelligent Text Analysis**: Automatically identifies core themes, key concepts, and hierarchical structures. - ✅ **Interactive Visualization**: Generates beautiful interactive mind maps based on Markmap.js. - ✅ **High-Resolution PNG Export**: Export mind maps as high-quality PNG images (9x scale). - ✅ **Complete Control Panel**: Zoom controls, expand level selection, and fullscreen mode. - ✅ **Theme Switching**: Manual theme toggle button with automatic theme detection. - ✅ **Image Output Mode**: Generate static SVG images embedded directly in Markdown for cleaner history. ## How to Use 🛠️ 1. **Install**: Upload the `smart_mind_map.py` file in OpenWebUI Admin Settings -> Plugins -> Actions. 2. **Configure**: Ensure you have an LLM model configured (e.g., `gemini-2.5-flash`). 3. **Trigger**: Enable the "Smart Mind Map" action in chat settings and send text (at least 100 characters). 4. **Result**: The mind map will be rendered directly in the chat interface. ## Configuration (Valves) ⚙️ | Parameter | Default | Description | | :--- | :--- | :--- | | `show_status` | `true` | Whether to display operation status updates. | | `LLM_MODEL_ID` | `gemini-2.5-flash` | LLM model ID for text analysis. | | `MIN_TEXT_LENGTH` | `100` | Minimum text length required for analysis. | | `CLEAR_PREVIOUS_HTML` | `false` | Whether to clear previous plugin-generated HTML content. | | `MESSAGE_COUNT` | `1` | Number of recent messages to use for generation (1-5). | | `OUTPUT_MODE` | `html` | Output mode: `html` (interactive) or `image` (static). | ## Troubleshooting ❓ - **Plugin not working?**: Check if the action is enabled in the chat settings. - **Text too short**: Ensure input text contains at least 100 characters. - **Rendering failed**: Check browser console for errors related to Markmap.js or D3.js. - **Submit an Issue**: If you encounter any problems, please submit an issue on GitHub: [Awesome OpenWebUI Issues](https://github.com/Fu-Jie/awesome-openwebui/issues) --- ## Technical Architecture - **Markmap.js**: Open-source mind mapping rendering engine. - **PNG Export**: 9x scale factor for print-quality output (~1-2MB file size). - **Theme Detection**: 4-level priority detection (Manual > Meta > Class > System). - **Security**: XSS protection and input validation. ## Best Practices 1. **Text Preparation**: Provide text with clear structure and distinct hierarchies. 2. **Model Selection**: Use fast models like `gemini-2.5-flash` for daily use. 3. **Export Quality**: Use PNG for presentations and SVG for further editing.