前言¶
在 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。
典型用法¶
在侧栏中编辑¶
- 在工作区文件树中单击
.mm、.opml、.km、.vym或.xmind,在右侧边栏打开。 - 双击主题改名;
Tab添加子节点,Enter添加兄弟节点,F2重命名,Delete删除。 - 右键主题可新建子/兄弟节点、重命名、折叠、删除。
- 底部浮动条提供撤销/重做、全部折叠、缩放、适应窗口、版式、保存、转换与导出等操作。版式面板中的结构(右、平衡、下、左)与连线样式(曲线、直线、折线)仅为视图偏好,不写入文件。
⌘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。