一个给大模型用的技能:把“一段描述 / 一张示意图”直接变成可打开、可继续编辑的 Microsoft Visio 文件(.vsdx),并负责证明生成的文件真的能被 Visio 和 draw.io 打开。
vsdx-gen 是一个 Codex 等大模型可调用的技能。模型把用户意图整理成结构化的 JSON
流程图契约,技能里的纯 Python 脚本(零第三方依赖)把它生成标准单页 .vsdx。
技能内置三套验证,不是“生成完就算完”:
- 结构校验:ZIP/XML、部件、页面关系、形状与连线语义;
- draw.io 真实导入回归:浏览器里导入再导出,核对节点/边/坐标/绑定;
- Visio 桌面验收门禁:真实 Visio 2016 打开,核对页数和形状数,并确认源文件未被改动。
- 你说“帮我画一个电商订单分发流程”,模型整理 JSON,技能直接产出 Visio 图;
- 你贴一张手绘/截图,模型重建为 JSON 后生成可编辑工程图;
- 生成后可继续对话迭代:改布局、加节点、换样式,重新生成即可;
- 同一输入生成结果字节级一致,方便纳入版本管理反复对比。
- 大模型原生输出是文本或 Mermaid,不能直接变成 Visio 工程图,手工重画成本高;
- 常见的自研 VSDX 生成器产出的文件打不开(Visio 报“某些部分丢失或无效”), 本技能补齐 Visio 必需部件并做严格校验,确保真能打开;
- 生成工具往往“自说自话”,本技能用真实软件打开做验收,把兼容性变成可复现的证据。
- Visio 2016 桌面版:真实打开 1 页 / 39 形状,验收门禁 exit 0,源文件哈希未变;
- draw.io 31.1.5:登录流程、形状展示、电商订单分发(14×23 英寸)、压力流程 (50 节点)四个案例全部导入通过,连线移动后绑定保持正确;
- 确定性:同一 JSON 两次生成 SHA-256 完全一致;
- 质量护栏:198 项单元测试全绿;布局验证可查出节点重叠、边穿节点、标签遮挡与 页面越界。
python scripts/vsdx_gen.py "<input.json>" "<output.vsdx>"示例输入见 examples/(login-flow、shapes-showcase、ecommerce-order-distribution、
stress-flow);完整用法、JSON 契约与退出码见 使用说明.md 和 SKILL.md。