[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82854":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":13,"forks30d":13,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":13,"starSnapshotCount":13,"syncStatus":14,"lastSyncTime":26,"discoverSource":27},82854,"visio-skill","deermiya\u002Fvisio-skill","deermiya",null,"Python",102,8,69,0,2,22,31,10,54.96,false,"main",true,[],"2026-06-12 04:01:39","# visio-skill\n\n这是一个 AI Agent 技能（Skill），通过调用本地 Visio COM 接口自动化生成或修改 Microsoft Visio `.vsdx` 图表文件。\n\n## 简介\n\n该技能使 AI Agent（如 Cursor、Copilot、Antigravity 等）能够在 Windows 计算机上原生创建真实的、可编辑的 Microsoft Visio 图表。它的工作原理是将 Agent 对图表结构的理解转换为声明式的 JSON 配置规范，随后由专用的 Python 脚本解析该规范，并调用本地 Visio COM API 渲染出标准的 `.vsdx` 文件。\n\n## 核心特性\n\n- **原生 `.vsdx` 生成**：直接构建可编辑的 Microsoft Visio 图表文件，而非静态图片或普通的 SVG。\n- **JSON 驱动设计**：通过简单的 JSON Schema 声明页面（pages）、节点（nodes）和连线（connections）来生成图表。\n- **Visio 内置图标库支持**：支持使用 Visio 自带的专业 Stencil 模板（网络设备、服务器、云服务、Cisco\u002FAzure\u002FAWS 图标等），告别五花八门的自制图标。\n- **精准的坐标定位**：使用显式的英寸坐标（x, y, w, h），确保图表布局一致且符合预期。\n- **多场景图表支持**：支持绘制流程图、架构图、时序图、泳道图、网络拓扑图等多种常见图表。\n- **专业时序图支持**：内置 UML 时序图模式，自动绘制生命线、激活框和消息箭头，支持同步\u002F异步\u002F返回消息类型。\n- **混合使用基本形状与专业图标**：可在同一图表中混合使用基本几何形状和 Stencil 专业图标。\n- **图片反推可编辑 Visio**：支持从 PNG、JPG、截图或扫描图中提取形状、连线、表格网格和甘特条，并复刻为可编辑的 `.vsdx`。\n- **Agent 辅助复刻**：复杂图片可使用少量 `--annotations` JSON 覆盖自动检测结果，补充准确文字和语义连接，无需手工重画整张图。\n- **自由线与独立标签**：新增原生 Visio 自由线段和独立文本框，适合复刻流程图、甘特图、时间轴和表格。\n\n## 目录结构\n\n- `SKILL.md` - Agent 的主指令文件，定义了 AI 的工作流、行为准则及图表绘制约束。\n- `scripts\u002FNew-VisioDiagram.py` - 核心 Python 脚本，负责与 Visio COM 对象交互并构建图表。\n- `scripts\u002Fimage_to_visio.py` - 图片反推脚本，使用 OpenCV 从静态图中提取可编辑的 Visio 元素。\n- `references\u002Fspec-format.md` - 标准图表的 JSON 规范文档，详述节点和连线的数据结构及格式要求。\n- `references\u002Fimage-reconstruction.md` - 图片复刻工作流文档，包含自动检测和 Agent 辅助覆盖模式。\n- `references\u002Fsequence-format.md` - 时序图的 JSON 规范文档，详述 actors、messages 和 layout 的格式要求。\n- `references\u002Fstencil-reference.md` - Visio Stencil 模板参考文档，列出常用的 Stencil 文件及其 Master 图标名称。\n- `references\u002Fvisio-stencil-index.md` - Visio 自带图标库完整索引（362个模板库）。\n- `examples\u002F` - 示例 JSON 文件，包含各种类型的图表示例。\n\n## 环境要求\n\n- **Windows 操作系统**\n- 本地已安装 **Microsoft Visio**，且能够正常调用 COM 接口。\n- **Python 3.10+** 及 `pywin32` 包（`pip install pywin32`）\n- 如需使用图片反推功能：安装 `opencv-python`、`numpy`（`pip install opencv-python numpy`）\n- 如需自动 OCR：可选安装 `pytesseract` 和本地 Tesseract Runtime；未安装时仍可通过 Agent 辅助覆盖模式完成文字复刻\n\n*(如需验证 Visio COM 接口是否可用，可在 Python 中运行：`import win32com.client; win32com.client.Dispatch(\"Visio.Application\")`)*\n\n## 安装与使用说明\n\n### 1. 安装技能\n通常情况下，你只需将本仓库克隆（或下载解压）到你的 AI Agent 约定的 Skills 目录下即可（例如 `~\u002F.cursor\u002Fskills\u002Fvisio-skill` 或 `~\u002F.gemini\u002Fantigravity\u002Fskills\u002Fvisio-skill`）。\n*注意：请保持现有的目录结构。AI 会以 `SKILL.md` 为统一入口，并在后台自主调用 `scripts` 和 `references` 等目录下的文件。*\n\n### 2. 使用方法\n作为用户，你**无需手动去运行任何脚本、加载多个文件，或配置 JSON**。只需在支持技能的 AI 工具（如 Cursor、Antigravity 等）的对话窗口中，直接提及该技能并提出绘图需求即可。例如：\n\n- *”@visio-skill 请帮我画一个电商系统的架构图，包含 Web 端、API 网关、订单服务、库存服务和数据库。”*\n- *”用 Visio 画一个用户登录的流程图，要求横向排列。”*\n- *”画一个用户认证的时序图，包含 User、Web App、Auth Service 和 Database 四个参与者。”*\n- *”把这张不能编辑的流程图图片复刻成 Visio，保持布局并让我可以继续修改。”*\n- *”根据这张项目甘特图截图，生成可编辑的 Visio 版本。”*\n\n**背后发生了什么？**\n1. AI 识别触发意图后，会主动阅读本目录下的 `SKILL.md` 指令。\n2. 根据 `SKILL.md` 的指示，AI 会在后台自动读取所需格式的参考文件，并生成结构化的 JSON 数据。\n3. AI 自动通过终端运行本目录下的 `scripts\u002FNew-VisioDiagram.py` 脚本，将图表渲染出来。\n整个多文件协作的过程，完全由 AI Agent 在后台自主闭环完成，对用户透明。\n\n## 工作流程（供 Agent 参考）\n\n1. **理解与规划**：AI 解析用户的图表绘制需求，并规划整体布局。\n2. **生成 JSON**：AI 创建一份表示节点和连线结构的 JSON 配置文件，并保存到本地（如 `diagram.json`）。\n3. **执行脚本**：AI 调用 Python 脚本以渲染生成文件：\n   ```bash\n   python \"\u003Cskill目录>\u002Fscripts\u002FNew-VisioDiagram.py\" \"diagram.json\" \"diagram.vsdx\"\n   ```\n\n### 图片反推 Visio\n\n对于用户提供的静态图片、截图或扫描图，优先调用图片复刻脚本：\n\n```bash\npython \"\u003Cskill目录>\u002Fscripts\u002Fimage_to_visio.py\" \"input.png\" \"output.vsdx\" \\\n  --mode auto \\\n  --json \"output.json\" \\\n  --preview \"preview.png\"\n```\n\n脚本会自动检测矩形、椭圆、菱形、自由线、表格网格和甘特条。对于文字较多或结构复杂的图片，Agent 可以根据视觉理解生成少量修正配置：\n\n```bash\npython \"\u003Cskill目录>\u002Fscripts\u002Fimage_to_visio.py\" \"input.png\" \"output.vsdx\" \\\n  --annotations \"overlay.json\" \\\n  --preview \"preview.png\"\n```\n\n## JSON 示例\n\n### 标准流程图\n\n```json\n{\n  \"title\": \"Example Flowchart\",\n  \"pages\": [\n    {\n      \"name\": \"Page-1\",\n      \"nodes\": [\n        { \"id\": \"start\", \"text\": \"Start\", \"x\": 1, \"y\": 6, \"w\": 2, \"h\": 0.8 },\n        { \"id\": \"process\", \"text\": \"Process\", \"x\": 4, \"y\": 6, \"w\": 2, \"h\": 0.8 }\n      ],\n      \"connections\": [\n        { \"from\": \"start\", \"to\": \"process\", \"text\": \"flow\" }\n      ]\n    }\n  ]\n}\n```\n\n### 时序图\n\n```json\n{\n  \"type\": \"sequence\",\n  \"title\": \"User Authentication Flow\",\n  \"actors\": [\n    { \"id\": \"user\", \"name\": \"User\", \"type\": \"actor\" },\n    { \"id\": \"web\", \"name\": \"Web App\", \"type\": \"system\" },\n    { \"id\": \"api\", \"name\": \"Auth Service\", \"type\": \"system\" },\n    { \"id\": \"db\", \"name\": \"Database\", \"type\": \"database\" }\n  ],\n  \"messages\": [\n    { \"from\": \"user\", \"to\": \"web\", \"text\": \"Enter credentials\", \"type\": \"sync\" },\n    { \"from\": \"web\", \"to\": \"api\", \"text\": \"POST \u002Flogin\", \"type\": \"sync\" },\n    { \"from\": \"api\", \"to\": \"db\", \"text\": \"Query user\", \"type\": \"sync\" },\n    { \"from\": \"db\", \"to\": \"api\", \"text\": \"User record\", \"type\": \"return\" },\n    { \"from\": \"api\", \"to\": \"web\", \"text\": \"JWT token\", \"type\": \"return\" },\n    { \"from\": \"web\", \"to\": \"user\", \"text\": \"Redirect to dashboard\", \"type\": \"return\" }\n  ]\n}\n```\n\n---\n\n## 更新日志\n\n### v4.0 - 2026-06-02\n**🖼️ 新增：图片反推可编辑 Visio**\n\n- 🔍 **静态图片几何解析**：新增 `image_to_visio.py`，使用 OpenCV 从 PNG、JPG、截图和扫描图中提取图形元素\n- 🧩 **多类型图表复刻**：支持流程图、逻辑框图、架构图、时间轴、表格和甘特图\n- 📐 **自动形状检测**：识别矩形、椭圆、菱形、任务条、网格线以及普通水平或垂直线段\n- 🧠 **Agent 辅助覆盖模式**：通过 `--annotations` 补充文字、语义连接或替换误检元素\n- 📝 **可选 OCR 支持**：安装 `pytesseract` 和 Tesseract Runtime 后可自动提取文字；未安装时仍可完成几何复刻\n- 🛠️ **Visio 原生对象增强**：新增自由线段 `lines` 和独立文本框 `labels`，复刻结果可继续编辑\n- 🎯 **智能模式判断**：`--mode auto` 自动区分普通图和网格密集型甘特图\n- 📄 **完整文档与示例**：新增 `references\u002Fimage-reconstruction.md` 和 `examples\u002Fimage-reconstruction-overlay.json`\n\n**技术细节**：\n- OpenCV 轮廓检测用于提取形状和采样原图颜色\n- Hough 线检测、边框去重和多轮线段合并用于提取有效连线\n- 支持 `replaceNodes`、`replaceLines`、`replaceLabels` 控制自动结果与 Agent 修正结果的合并方式\n- 原有 JSON 生成、时序图和 Stencil 图标路径保持向后兼容\n\n### v3.0 - 2026-06-02\n**🔧 绘图引擎优化与图标库完善**\n\n- 📊 **完整图标索引**：新增 `visio-stencil-index.md`，扫描并索引全部 362 个 Visio 自带模板库\n- 🎯 **智能场景判断**：更新 SKILL 逻辑，流程图使用基础形状，网络拓扑图才调用专业图标\n- 🔓 **Visio 传统模具全面解禁**：`NETSYM_M.VSSX`、`SERVER_M.VSSX`、`COMPS_M.VSSX` 等传统模具恢复可用\n- 📋 **模具参考手册重写**：`stencil-reference.md` 基于实机 COM 枚举结果全面重写，master 名称 100% 准确\n- 🐛 **修正示例文件**：修正 `network-topology-stencil.json` 中不存在的 master 名称\n- 🧹 **项目文件清理**：删除临时测试文件和已弃用的脚本，统一示例文件到 examples 目录\n\n**技术细节**：\n- Python `win32com.client.gencache.EnsureDispatch` 确保稳定的 COM 早期绑定\n- 使用基础形状（roundrect、rectangle、ellipse）绘制流程图，避免不必要的 stencil 加载\n- 仅在用户明确要求\"图标\"、\"网络设备\"时才加载专业 stencil 模板\n\n### v2.0 - 2026-05-28\n**🎉 新增：时序图支持**\n\n- ✨ **新增时序图模式**：通过设置 `\"type\": \"sequence\"` 自动生成 UML 时序图\n- 📐 **自动布局**：智能绘制 actors、lifelines、消息箭头，无需手动计算坐标\n- 🎨 **语义化配色**：4 种参与者类型自动着色（actor\u002Fsystem\u002Fdatabase\u002Fexternal）\n- 📄 **完整文档**：新增 `references\u002Fsequence-format.md` 详细规范\n- 🔄 **消息类型**：支持同步调用（实线箭头）和返回消息（虚线箭头）\n- 🎯 **示例文件**：提供 `example-sequence.json` 参考模板\n\n**技术细节**：\n- 在 `New-VisioDiagram.py` 中实现 `add_sequence_diagram` 函数\n- 支持自定义布局参数（actorSpacing、messageSpacing、startY、lifelineHeight）\n- 兼容原有的标准图表绘制模式，通过 `type` 字段自动分支\n\n---\n\n### v1.0 - 初始版本\n**基础功能**\n\n- ✅ 标准图表支持：流程图、架构图、泳道图、网络拓扑图\n- ✅ JSON 驱动设计：通过声明式配置生成图表\n- ✅ 精准坐标定位：英寸级坐标控制（x, y, w, h）\n- ✅ 多页面支持：单个 .vsdx 文件包含多个页面\n- ✅ 自定义样式：支持颜色、字体、线型等完整配置\n- ✅ COM 自动化：Python 脚本调用 Visio COM 接口\n","visio-skill 是一个通过调用本地 Visio COM 接口自动化生成或修改 Microsoft Visio `.vsdx` 图表文件的 AI Agent 技能。其核心功能包括基于 JSON 配置规范原生创建可编辑的 Visio 图表，支持多场景图表绘制（如流程图、架构图、时序图等），并利用 Visio 内置图标库和精准坐标定位确保专业性与一致性。此外，它还具备从静态图片反推可编辑 Visio 文件的能力，适合需要在 Windows 环境下快速生成高质量图表的场景，特别适用于 IT 架构设计、项目管理及软件开发文档制作等领域。","2026-06-11 04:09:25","CREATED_QUERY"]