dsh-mindmap
English | 简体中文
Open, edit and export mind maps in the DeepSeek Harness right sidebar.
Formats
| Format | Open | Edit & save | Export .mm |
|---|---|---|---|
.xmind (XMind 8 / Zen) |
✅ | read-only | ✅ |
.mm (FreeMind) |
✅ | ✅ | ✅ |
.opml |
✅ | ✅ | ✅ |
.km (KityMinder) |
✅ | ✅ | ✅ |
.vym (VYM) |
✅ | ✅ | ✅ |
For .xmind, the viewer reads either content.json (XMind Zen) or content.xml (XMind 8) and keeps the topic hierarchy, notes and collapse state. XMind themes, relationship lines, attachments and other advanced content are not rendered, and exporting to .mm keeps only the structure.
Install
Clone this repository:
git clone https://github.com/LoongYun/dsh-mindmap.gitIn DSH, open Plugins → Install bundle and point it at the cloned directory. You can also ask an agent to call
plugin_manager install_bundlewith that path.Reload the Harness window. If clicking a
.mmfile still opens the editor instead of this viewer, restart DSH once — the client injection list is read at startup.
There is no build step: DSH loads client.js directly as a browser module.
Usage
- Click a
.mm,.opml,.km,.vymor.xmindfile in the workspace file tree to open it in the right sidebar. - Double-click a topic to rename it.
Tabadds a child,Enteradds a sibling,F2renames,Deletedeletes. ⌘Z/⇧⌘Zundo and redo,Spacecollapses or expands, the wheel zooms, drag to pan.⌘Sor the toolbar button saves..xmindhas no save button; use Export to .mm.
Saving only overwrites editable files that already exist. For new content, use Export to .mm — this is a deliberate safety boundary.
How it works
- The client half registers a native
sidebar.right.pane.tabtype with an extension-priority address glob that is longer thandsh-resource://file/**, so it outranksdsh-better-sidebar's editor for these extensions while still coexisting with it. - Files are read with
ctx.remote.workspaceFiles.readBytes. - Rendering is hand-written SVG: no third-party renderer and no bundling step.
- Saving goes through the host route
POST /dsh-mindmap/save: connection fence, workspace containment, extension allow-list, 8 MiB body limit and an optimistic version check (409on conflict). When the route is unreachable, the viewer falls back to downloading the file.
Development
# install the working copy as a linked bundle in your DSH profile
plugin_manager install_bundle # point the target at this directory
After editing client.js or index.js, reload the Harness window. fixtures/ contains one sample of each format for manual regression checks.
Limitations
.mmap,.mindnodeand.emmxare not supported.- XMind is read-only; exporting to
.mmdrops XMind styling and rich content. - In a very narrow sidebar, Fit shrinks the whole map considerably. Zoom in and pan for detail.
License
MIT
No comments yet. Be the first to write one.