Agent Skills
返回列表
Draw.io 转 Visio 转换器

Draw.io 转 Visio 转换器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_400639b0/drawio-to-visio。

技能介绍

要解决的问题

把 .drawio 文件转成 Visio 的 .vsdx 时,常见坑包括:导出的包不是合法的 OPC 文档、文本标签丢失、转换过程偷偷联网,或者用 PDF 改后缀冒充 VSDX。这些在需要归档、交付或进团队仓库时会直接踩雷。

技能如何工作

该技能围绕一个固定的 diagrams.net VSDX 导出器(26.0.16)运行,先把 diagrams.net 缓存到本地,再通过一个受控的临时 127.0.0.1 源加载你的画布内容,全程屏蔽其他 HTTP 源、WebSocket 和服务工作者。

核心流程如下:

  • 确认输入是已存在的 .drawio 或 Draw.io XML 文件。
  • 显式指定 .vsdx 输出路径;除非你明确要求覆盖,否则拒绝覆盖已有输出。
  • 运行随附的转换器,生成 VSDX 包。
  • 对需要保证的关键文本,使用可重复的 --expect 参数做断言,例如检查指定短语必须出现在 VSDX 里。
  • 汇报输出路径、验证数量,以及仍存在的视觉验证限制。

转换后会自动运行 validate_vsdx.py,它要求输出:是 ZIP/OPC 包而非改后缀的 PDF;有合法的 OPC 内容类型与关系 XML;存在完整的 Visio 文档-页面-页面关系链和命名空间;在被引用的页面里至少有一个 Visio 形状;并且你通过 --expect 指定的每个短语都出现在被引用页面某个形状的文本里。

适用边界与注意点

包验证和 diagrams.net 的兼容性并不等于 Microsoft Visio 的像素级渲染。高风险交付场景,如果本机装有 Visio,还应在客户端里再打开确认一次。只有在你真的打开过 Visio 客户端检查后,才能声称做过 Visio 检查。

首次使用时,在加载你的文件前,它可能会把固定的官方 diagrams.net tag 从 GitHub 克隆到本地缓存;之后运行会同时校验固定 commit 和缓存的干净 worktree。缓存存在后,可以用 --no-download 完全离线运行。

多文件转换时,它会逐一列出精确的源/输出对,每个文件运行一次封装器。遇到第一个失败就停止,保留已完成的输出,并分别报告成功与失败的文件。除非你明确授权,绝不追加 --force。

使用场景

  • 工程师要把现有 `.drawio` 图导出为 `.vsdx` 交付给用 Visio 的团队,并确认文件没有被改成 PDF 后缀
  • 团队在离线环境里批量转换 Draw.io 文件,需要缓存校验和本地 OPC 包验证
  • 你需要把多张架构图一次性转成 VSDX,并保留已完成输出、分别报告成功和失败的文件
  • 你在写 CI 脚本,想在转换后用 `--expect` 反复断言关键文本确实出现在 Visio 页面形状里

适合人员

  • 把 Draw.io 当主力绘图工具、需要定期输出 Visio 兼容文件的后端工程师
  • 负责把架构图归档进企业 Wiki、关心 OPC 包结构是否合法的 DevOps 工程师
  • 在隔离网络里维护绘图管线、必须确认数据只经过本地 `127.0.0.1` 的合规工程师
  • 写自动化脚本、需要明确知道转换失败时保留哪些产物并继续排查的 CI 维护者