XMind 思维导图处理技能 此技能提供 XMind 文件( .xmind )的完整处理能力:解析、创建和更新。通过配套的 Python 工具脚本实现文件操作,将思维导图内容转换为 Markdown 格式作为会话级记忆,便于用户与模型持续交流和编辑。 工具脚本 本技能依赖 scripts/xmind_tool.py (相对于本技能目录),使用 Python 标准库(零第三方依赖)。执行方式: python skills/xmind/scripts/xmind_tool.py --session < session-id
< command
[ args .. . ] 会话管理 所有命令都需要 --session
参数,用于隔离不同会话的记忆文件。 会话 ID 获取规则(按优先级): 从上下文中获取:如果当前对话上下文中已存在之前使用过的 session ID,直接复用 生成新 ID:如果上下文中没有可用的 session ID,在首次调用前生成一个 UUID v4 格式的字符串(例如 f47ac10b-58cc-4372-a567-0e02b2c3d479 ),并在后续调用中持续复用 记忆文件存储路径: /tmp/skills-xmind-parsed/ / .md 支持的格式 格式 版本 内部结构 检测方式 Zen XMind Zen / 2020+ ZIP 内含 content.json 自动检测 Legacy XMind 8 ZIP 内含 content.xml 自动检测 创建新文件时默认使用 Zen 格式;更新已有文件时保留原格式。 Markdown 表示规范 解析后的 Markdown 使用缩进列表式结构,格式如下:
Sheet: 工作表标题
中心主题
Labels: 标签1, 标签2
Link: https://example.com
Markers: priority-1
这里是中心主题的备注内容
分支1 {labels: 重要} {link: https://example.com} 这是分支1的备注 备注可以有多行 - 子节点1.1 {markers: task-done, priority-1} - 子子节点1.1.1 - 子节点1.2 - 分支2 - 子节点2.1 - 子节点2.2 格式说明:
Sheet: 标题
— 工作表标题(多工作表之间用
分隔)
标题
— 中心主题 - 内容 — 节点,使用 2 空格缩进表示层级 {labels: ...} — 行内标签元数据 {link: ...} — 行内超链接元数据 {markers: ...} — 行内标记/图标元数据
内容 — 节点备注(blockquote 形式,紧跟在节点下方) 中心主题的元数据使用顶层 blockquote( Labels: , Link: , Markers: ) 核心流程 场景一:解析 XMind 文件 触发词 :"解析 xmind"、"打开思维导图"、"查看 xmind 内容"、"xmind 转 markdown" 步骤: 确认文件路径 :确认用户提供的 .xmind 文件路径是否存在 执行解析 :运行工具脚本 python skills/xmind/scripts/xmind_tool.py --session < session-id
parse < file.xmind
展示结果 :将输出的 Markdown 内容展示给用户,包括: 思维导图的整体结构概览 各节点的层级关系 附带的标签、备注、链接等元数据 记录记忆路径 :输出末尾的
注释包含记忆文件路径,记住该路径以便后续操作使用 引导交互 :提示用户可以继续对思维导图内容进行提问、修改或导出 场景二:创建 XMind 文件 触发词 :"创建 xmind"、"新建思维导图"、"生成 xmind" 步骤: 收集需求 :与用户交流,明确思维导图的结构: 中心主题是什么? 有哪些主要分支? 各分支下有哪些子节点? 是否需要添加标签、备注、链接等? 生成 Markdown :根据用户描述,按照上述 Markdown 规范生成内容 写入临时 Markdown 文件并执行创建 :
将 markdown 内容写入临时文件,然后执行创建
python skills/xmind/scripts/xmind_tool.py --session < session-id
create < output.xmind
< temp.md
[ --format zen | legacy ] 确认创建结果 :向用户报告文件创建成功,展示文件路径 保持记忆 :记忆文件已自动创建,后续可继续编辑 格式选择: 默认创建 Zen 格式(现代格式,兼容性更好) 如果用户明确要求 XMind 8 兼容格式,使用 --format legacy 参数 场景三:更新 XMind 文件 触发词 :"更新 xmind"、"修改思维导图"、"编辑 xmind" 步骤: 加载当前内容 : 首先尝试读取记忆文件(如果之前已解析过): python skills/xmind/scripts/xmind_tool.py --session < session-id
memory < file.xmind
如果没有记忆文件,先执行解析: python skills/xmind/scripts/xmind_tool.py --session < session-id
parse < file.xmind
理解修改需求 :与用户确认要进行的修改,例如: 添加新分支或子节点 删除某个节点 修改节点内容、标签或备注 调整节点层级关系 修改 Markdown :在记忆文件的基础上进行修改,确保格式符合规范 写入修改后的 Markdown :将修改后的内容写入临时文件 执行更新 : python skills/xmind/scripts/xmind_tool.py --session < session-id
update < file.xmind
< modified.md
确认结果 :向用户报告更新成功,展示变更摘要 场景四:基于记忆继续交流 当用户在同一会话中再次提到已解析的 xmind 文件时: 读取记忆文件 :使用 memory 命令获取之前解析的内容 基于内容回答 :根据 Markdown 内容回答用户问题 支持操作 : 总结思维导图要点 搜索特定节点 分析结构和层级关系 提出改进建议 将内容转换为其他格式(大纲、表格等) 注意事项 解析和创建操作涉及文件 I/O,执行前确认路径有效 更新操作会覆盖原文件,如用户未明确要求,建议先备份或另存为新文件 记忆文件存储在 /tmp/skills-xmind-parsed/
/ ,会话结束后可能被系统清理 如遇到损坏的 xmind 文件(非有效 ZIP 或缺少关键内容文件),向用户报告具体错误 XMind 文件中的图片附件不会包含在 Markdown 中,仅处理文本结构和元数据 整个流程中使用中文与用户交互