dsh-mindmap:在 DSH 侧栏打开、编辑并导出主流思维导图格式

前言

在 DeepSeek Harness(DSH)里做方案拆解或文档结构整理时,思维导图文件往往散落在工作区树里:点开 .mm、.opml 或 .xmind,默认侧栏未必有合适的预览与编辑入口,只能换到外部软件,或在对话里手工复述节点层级。对需要在 Harness 内对照文件改结构的开发者来说,缺少一个与文件树集成的导图视图会增加来回切换的成本。

下面介绍社区插件 dsh-mindmap(维护者 LoongYun):它在 DSH 右侧边栏注册独立标签页,支持多种导图格式的打开、编辑与导出,并为智能体提供读写字面大纲的工具,避免在对话中传递整段 XML。

这是什么

dsh-mindmap 是 DSH 的客户端类插件,在 Harness 右侧边栏打开、编辑并导出 XMind、FreeMind、OPML、KityMinder、VYM 等思维导图。源码与说明见 GitHub:LoongYun/dsh-mindmap;社区目录页为 skillhub.cn/plugins/LoongYun/dsh-mindmap。npm 包名为 @jeffreylong/dsh-mindmap(当前资料中的版本为 0.2.1),许可证 MIT。

DSH 生态奉行「一切皆插件」;SkillHub 等目录由社区维护,与 DeepSeek / 幻方无官方从属关系。安装前请自行审阅仓库源码与许可证。插件随当前 DSH 进程与会话沙箱策略运行,写入范围受 workspace-write 或完全访问等策略约束。

支持的格式与能力

README 用下表概括各扩展名的能力(以资料原文为准):

格式 打开 编辑并保存 导出 .mm
.xmind(XMind 8 / Zen) 支持 只读 支持
.mm(FreeMind) 支持 支持 支持
.opml 支持 支持 支持
.km(KityMinder) 支持 支持 支持
.vym(VYM) 支持 支持 支持

对 .xmind,查看器读取归档内的 content.json(XMind Zen / XMind 8)或 content.xml,保留主题层级、备注与折叠状态;主题、关系线、附件等高级内容不渲染,导出为 .mm 时仅保留结构。因 XMind 只读,侧栏提供 Convert to editable .mm:在同级目录生成 .mm(覆盖前会询问)并打开编辑。

未支持的格式包括 .mmap、.mindnode、.emmx。文本类文件超过 8 MiB、节点数超过 20,000、或 XMind 单条内容超过 24 MiB 时会被拒绝加载;超过约 4,000 节点的大图仍渲染为单张 SVG,交互可能偏慢。

安装与启用

推荐从 npm 安装。在 DSH 中打开 Plugins,选择 Add plugin(部分构建标为 Install bundle),输入:

@jeffreylong/dsh-mindmap

资料强调:勿安装裸名 dsh-mindmap,那是无关包。安装后插件行显示为 dsh-mindmap,内部 id 为 jeffreylong-dsh-mindmap。选择 Enable now 后重新加载 Harness 窗口。

若私有 npm 镜像未代理 npmjs.org,可在配置中指定:

@jeffreylong:registry=https://registry.npmjs.org/

也可在终端为指定 profile 安装:

dsh plugin --profile desktop add @jeffreylong/dsh-mindmap

随后在 Plugins 页面启用 dsh-mindmap。安装或更新 bundle 后若 .mm 仍被其他编辑器抢占侧栏,按 README 建议可重启 DSH 一次(客户端注入列表在启动时读取)。插件无构建步骤,DSH 直接以浏览器模块加载 client.js。

典型用法

在侧栏中编辑

  1. 在工作区文件树中单击 .mm、.opml、.km、.vym 或 .xmind,在右侧边栏打开。
  2. 双击主题改名;Tab 添加子节点,Enter 添加兄弟节点,F2 重命名,Delete 删除。
  3. 右键主题可新建子/兄弟节点、重命名、折叠、删除。
  4. 底部浮动条提供撤销/重做、全部折叠、缩放、适应窗口、版式、保存、转换与导出等操作。版式面板中的结构(右、平衡、下、左)与连线样式(曲线、直线、折线)仅为视图偏好,不写入文件。
  5. ⌘S 或保存按钮写入可编辑格式;.xmind 无保存按钮,需用 Convert to editable .mm 或 Export to .mm(下载)。保存会覆盖已有可编辑文件;仅 XMind 转 .mm 会在原文件旁新建,且覆盖前需确认。

默认界面语言为中文,左下角有 EN / 中 切换,并显示节点数、只读提示与未保存状态。查看器不监听外部文件变更;智能体改图后需关闭再打开标签页才能看到更新。

智能体工具

Bundle 在 Host 侧注册两个工具,便于在不搬动原始 XML 的前提下读写导图:

  • mindmap_outline({ path, includeNotes?, maxDepth? }):返回带稳定 id 的缩进大纲及文件版本,例如:
[n1] DSH Mind Map
  [n2] Formats
    [n3] XMind — read-only preview
  • mindmap_apply({ path, baseVersion, ops }):按节点级操作原子写入;baseVersion 须来自 mindmap_outline,文件已变更时不写入并提示重读。操作示例:
[
  { "action": "add", "parent": "n2", "text": "New topic" },
  { "action": "rename", "id": "n3", "text": "Renamed" },
  { "action": "move", "id": "n5", "parent": "n2", "index": 0 },
  { "action": "remove", "id": "n11" }
]

路径可为工作区相对或绝对路径。.xmind 可读不可写,需先转为 .mm。

实现要点(便于排错)

客户端注册 sidebar.right.pane.tab 类型,并通过比 dsh-resource://file/** 更长的扩展名 glob 优先于 dsh-better-sidebar 的编辑器打开上述扩展名,同时仍可与其共存。文件经 ctx.remote.workspaceFiles.readBytes 读取;渲染为手写 SVG,无第三方渲染器、无打包步骤。保存经 Host 路由 POST /dsh-mindmap/save(连接隔离、扩展名白名单、请求体 8 MiB、乐观版本冲突返回 409);路由不可达时查看器回退为下载文件。

适用场景与注意

  • 适合:在 DSH 工作区内直接维护 FreeMind / OPML / KityMinder / VYM 导图;只读浏览 XMind 并导出或转为 .mm;让智能体用 mindmap_outline / mindmap_apply 批量改结构。
  • 注意:XMind 高级样式与富内容在导出 .mm 时会丢失;侧栏很窄时 Fit 会整体缩小,需放大与平移查看细节。插件权限等同当前 DSH 会话,安装前请核对 仓库 源码与 MIT 许可证。

结尾

dsh-mindmap 把常见思维导图格式收进 Harness 右侧边栏,并补上面向智能体的大纲读写接口,减少「开外部软件」和「在对话里手打树形结构」两种 workaround。需要安装名、格式矩阵与快捷键时以 README 为准;社区索引见 SkillHub 目录页,源码与 issue 见 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜