senclaw/mindmap
app A visual mind-mapping app: create maps, add and edit branches on an interactive two-sided canvas, and let AI flesh out any topic. The β¨ AI button generates a structured hierarchy of sub-topics straight into the map, and an integrated chat panel helps you brainstorm and restructure ideas β grounded in the current map's outline. Powered by SenClaw's configured LLM.
Install
senclaw app install senclaw/mindmap
Verifies sha512 and SenClawβs signature before writing to disk.
Documentation
SenClaw Mindmap π§
A visual mind-mapping Space App for SenClaw. Create maps, edit branches on an interactive two-sided canvas, and let the configured LLM flesh out any topic β either from the UI (the β¨ AI button and the chat panel) or programmatically from an agent via the mindmap-mcp MCP server.
Features
- Four layout styles (switch live from the topbar) β
mindmap(two-sided radial),org(top-down org chart),outline(indented list with elbow connectors), andright(horizontal tree). Inspired by MindMeister's mind-map / org-chart / list modes. - Interactive canvas β a hand-rolled, dependency-free SVG renderer with pan/zoom, inline rename, collapse/expand, and colored branches.
- Node customization β a per-node style panel (π¨) with a 12-color theme palette, fill vs. outline, five shapes (line / rectangle / rounded / pill / ellipse), and an emoji/icon picker.
- Template gallery β one-click starter maps across categories: SWOT, empathy map, project plan, exam revision, macroeconomics (org chart), weekly team sync (list), campaign brainstorm.
- AI generation β the β¨ AI button on any node asks the LLM for a structured hierarchy of sub-topics and inserts it directly into the map. "New map" can seed a whole tree from just a title.
- AI chat with history & sessions β an integrated assistant panel, grounded in the current map's outline. Chats are persisted per map with multiple named sessions (switcher + new/rename/delete). Turn any AI answer into nodes with π§ TαΊ‘o sΖ‘ Δα».
- File attach β OCR β mind map β the π button imports a file; images are run through SenClaw's OCR (
/api/ocr/recognize), text files are read directly, then the content is structured by the LLM into a brand-new map. - Theme follows SenClaw β light/dark syncs with the SenClaw desktop/host via
senclaw:init/senclaw:themepostMessages (with a manual toggle fallback). - Free-drag positioning β π unlocks drag mode: move any node (its subtree follows) to a custom position that is saved; β» auto-sorts back to the algorithmic layout.
- Import / Export β read & write JSON, Markdown, OPML, and FreeMind/Freeplane (.mm) β the standard mind-map interchange formats.
- Display settings β βοΈ sets the default layout for new maps, full labels (no truncation), and a child-count badge on each node.
- Responsive β a collapsible sidebar drawer + overlay chat make it usable on phones and small screens; custom-styled scrollbars throughout.
- Undo / Redo β βΆ / β· (Ctrl/β+Z, Ctrl/β+Shift+Z) restore and replay every change β edits, add/delete, AI generation, styling, drag, and layout β via snapshot history.
- Node notes β every node can hold a note (π indicator when present). Add/edit via the toolbar π, right-click menu, or let AI write it for you.
- Right-click menu β rename, add/edit/clear note, AI-write note, pin to the chat, AI-expand, add child, delete.
- Chat context pins β pin nodes (with their notes) into the assistant as removable context chips (π count Β· Γ Β· "xoΓ‘ hαΊΏt"); an AI answer can be saved back as a node's note with one click.
- MCP server (
mindmap-mcp) β maps, nodes, layout, templates, styling, andmindmap_generate(see the table below). - Skills β
mindmap-generate(start a map / use a template) andmindmap-expand(deepen, restyle, or re-layout an existing map), with rich triggers. - Persona β
mindmap-architect, an AI that structures ideas into balanced maps.
Everything routes through the SenClaw daemon's Space-App bridge (app-space-sdk); the app never talks to an LLM provider directly.
Architecture
- Backend (
src/, Rust + axum, port4350) db.rsβ SQLite store:maps+ a normalizednodesadjacency-list tree; tree assembly, subtree delete/move, bulk insert for AI generation.llm.rsβ chat + structured-tree generation viaapp-space-sdk; tolerant JSON parsing of model output.api.rsβ REST endpoints (/api/maps,/api/node/*,/api/generate,/api/chat,/api/models,/api/llm-info).mcp.rsβ JSON-RPC-over-SSE MCP server (/api/mcp/sse), auto-registered from the manifest.- Frontend (
web/, React 19 + Vite + TypeScript) lib.tsβ the two-sided tidy-tree layout algorithm.components/MindmapCanvas.tsxβ the SVG canvas, node boxes, toolbar, pan/zoom.components/ChatPanel.tsxβ the AI chat.App.tsxβ sidebar, topbar (theme, model picker), state, keyboard shortcuts.
Develop
# backend (from repo root)
cargo run -p mindmap # serves http://127.0.0.1:4350
# frontend (separate terminal)
cd apps/mindmap/web && npm install && npm run dev # Vite proxies /api β :4350Keyboard on the canvas: Tab add child Β· Enter add sibling Β· F2 / double-click rename Β· Del delete Β· Esc deselect Β· scroll to zoom Β· drag to pan.
Package for install
apps/mindmap/scripts/pack.sh # β apps/mindmap/mindmap-app.zipInstall the zip in SenClaw (Space Apps β install). The daemon launches the binary with an assigned PORT, serves the UI in an iframe, and auto-registers mindmap-mcp.
MCP tools
| Tool | Purpose |
|---|---|
mindmap_list | List all maps |
mindmap_create | Create a map (optional layout); returns id + rootId |
mindmap_templates | List built-in starter templates |
mindmap_from_template | Create a map pre-filled from a template |
mindmap_set_layout | Change a map's layout (mindmap/org/outline/right) |
mindmap_get | Get a map's full node tree |
mindmap_delete | Delete a map |
mindmap_add_node | Add a child under a node |
mindmap_update_node | Edit a node's text/note/color/shape/fill/icon |
mindmap_delete_node | Delete a node + subtree |
(REST) /api/node/ai-note | AI-write a note for a node |
mindmap_generate | AI-generate a hierarchy of sub-topics under a node |
Declared permissions
{
"network": [
"127.0.0.1"
],
"exec": [
"./mindmap"
]
}Declared by the publisher, not enforced by SenClaw. The CLI compares this against what you already have installed and asks before anything widens.
Published by
The checkmark means SenClaw confirmed who this publisher is. It says nothing about whether their packages are safe.
About
| Owner | @senclaw |
| Latest | 1.0.1 |
| Downloads | 0 |
Versions
| Version | Tags | Artifacts | Published |
|---|---|---|---|
1.0.1 | latest | darwin-arm64, linux-x64, win32-x64 | 2026-08-09 |
1.0.0 | darwin-arm64, linux-x64, win32-x64 | 2026-07-20 |
Artifacts Β· 1.0.1
| Platform | Format | Signature | File | Size |
|---|---|---|---|---|
darwin-arm64 | zip | unsigned | mindmap-app.zip | 2753 KB |
linux-x64 | zip | unsigned | mindmap-app.zip | 3097 KB |
win32-x64 | zip | unsigned | mindmap-app.zip | 3022 KB |
Unsigned builds require sign-in to download and are not distributed to the auto-updater, because unsigned executables from a new domain get flagged as unsafe. Sign and notarize (macOS) or Authenticode-sign (Windows) to distribute publicly.
Auto-update endpoints
For a Tauri app β add to tauri.conf.json:
"endpoints": ["https://senclaw.bacnd.com/api/v1/updates/tauri/senclaw/mindmap/{{target}}/{{arch}}/{{current_version}}"]For an electron-updater app β generic provider URL:
https://senclaw.bacnd.com/updates/senclaw/mindmap/stable
Only signed/notarized artifacts are offered as updates β a client fetches the update without credentials, and unsigned binaries are not publicly downloadable.
Something wrong with this package?
Report this package
Report this package
Tell us what is wrong and a moderator will look at it. Be specific β a report that names a version and a behaviour can be checked in minutes; one that says βlooks sketchyβ cannot be acted on at all.
Not about this package? Contact us instead. What happens to a report is described in reporting and moderation.
API: GET https://senclaw.bacnd.com/api/v1/packages/senclaw/mindmap