Files
Fu-Jie_openwebui-extensions/plugins/actions/smart-mind-map
google-labs-jules[bot] 86091f77cf feat: Security and i18n improvements for Smart Mind Map plugin
- Fixed high-severity XSS and JS injection vulnerabilities by safely escaping IDs and user input using `json.dumps` and HTML entity encoding.
- Prevented potential DoS crashes caused by curly braces in LLM output by replacing `.format()` with safe string replacement.
- Refactored language resolution into a `_resolve_language` helper method, implementing base language fallback (e.g., `fr-BE` -> `fr-FR`).
- Refactored date formatting to use a cleaner, dictionary-based approach.
- Consolidated i18n logic into a single file with robust fallback handling.
- Verified all changes with comprehensive unit and security tests.

Co-authored-by: Fu-Jie <33599649+Fu-Jie@users.noreply.github.com>
2026-02-12 17:41:52 +00:00
..

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 | Version: 0.9.2 | Project: Awesome OpenWebUI | License: MIT

What's New in v0.9.2

Language Rule Alignment

  • Input Language First: Mind map output now strictly matches the input text language.
  • Consistent Behavior: Matches the infographic language rule for predictable multilingual output.

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).

Support

If this plugin has been useful, a star on Awesome OpenWebUI is a big motivation for me. Thank you for the support.

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

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.

Changelog

See the full history on GitHub: Awesome OpenWebUI