[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75877":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":29,"discoverSource":30},75877,"Visiomaster","Rss3208\u002FVisiomaster","Rss3208","参考 ppt-master 思路构建的 Visio 图形重建工具包，将流程图、架构图和论文模块图从图片重建为可编辑 .vsdx，并导出 SVG\u002FPNG。",null,"Python",419,14,116,2,0,1,96,303,34,75.53,"MIT License",false,"main",true,[],"2026-06-12 04:01:19","# Visiomaster\n\nVisiomaster 是一个 Windows 优先的 Visio 图形重建工具包，同时也可以作为 Codex Skill 使用。它用来把 GPT、Gemini 等 AI 生成的流程图\u002F学术示意图，以及已有的流程图、架构图、论文模块图重建为可编辑的 Microsoft Visio 图纸。\n\n它的目标不是把原图贴进 Visio，而是把主要结构拆成真正的 Visio 形状、文字和连接线，最终输出可继续编辑的 `.vsdx`，同时导出 `.svg` 和 `.png` 便于检查和展示。\n\n本项目的流程设计参考了 `ppt-master` 的思路：先做图像理解、结构拆解和风格分析，再通过稳定的中间描述文件驱动确定性的渲染脚本。不同之处在于，Visiomaster 的最终目标不是 PPT 页面，而是可编辑的 Visio 图纸。\n\n## 能做什么\n\n- 输出可编辑的 `.vsdx`\n- 导出高质量 `.svg`\n- 导出预览 `.png`\n- 生成可选的模块级 `.audit.md` 审查清单\n- 将论文中的流程框图、模型结构图、AI 生成的学术示意图转成可编辑 Visio 图\n\n核心流程：\n\n```text\n原始图片 -> scene.json -> 结构校验 -> 模块审查 -> Visio COM 渲染 -> vsdx\u002Fsvg\u002Fpng -> 视觉对比 -> 迭代修正\n```\n\n典型场景包括：\n\n- 复刻论文中的模型结构图、流程图、消融模块图\n- 将 Gemini、GPT Image 等图像生成模型产出的学术框图整理为可编辑 Visio\n- 把已有截图重建为可维护的 `.vsdx`，方便后续改字、改线、换配色和投稿排版\n\n## 效果示例\n\n以下示例展示“参考图 -> Visiomaster 重建图”的效果。重建结果来自可编辑 Visio 图纸导出的 PNG，而不是整张贴图。\n\n| 参考图 | Visiomaster 重建图 |\n| --- | --- |\n| \u003Cimg src=\"docs\u002Fassets\u002Fgallery\u002Fmask-res-block-reference.png\" width=\"420\"> | \u003Cimg src=\"docs\u002Fassets\u002Fgallery\u002Fmask-res-block-visiomaster.png\" width=\"420\"> |\n| \u003Cimg src=\"docs\u002Fassets\u002Fgallery\u002Fcross-attention-reference.png\" width=\"420\"> | \u003Cimg src=\"docs\u002Fassets\u002Fgallery\u002Fcross-attention-visiomaster.png\" width=\"420\"> |\n| \u003Cimg src=\"docs\u002Fassets\u002Fgallery\u002Fattention-mechanism-reference.png\" width=\"420\"> | \u003Cimg src=\"docs\u002Fassets\u002Fgallery\u002Fattention-mechanism-visiomaster.png\" width=\"420\"> |\n\n更多说明见 [docs\u002Fgallery.md](docs\u002Fgallery.md)。\n\n## 环境要求\n\n- Windows\n- 已安装 Microsoft Visio 桌面版\n- Python 3.10+\n- `requirements.txt` 中的 Python 依赖\n\n安装依赖：\n\n```powershell\npython -m pip install -r requirements.txt\n```\n\n你可以使用系统 Python、venv 或 conda 环境；只要该环境能导入 `pywin32`，并且可以访问本机安装的 Visio COM 应用即可。\n\n可以先运行一次环境自检：\n\n```powershell\npython .\\scripts\\check_visio_env.py\n```\n\n自检会尝试启动 Visio、创建一个极简图纸、保存 `.vsdx`，并导出 `.png`\u002F`.svg`。如果这一步失败，说明当前机器的 Visio COM 或导出环境还需要先修好。\n\n## 使用方式\n\nVisiomaster 有两种主要用法：\n\n- 直接作为 CLI 工具使用：手写或生成 `scene.json`，然后用 `scripts\u002F` 下的 Python 脚本校验、审查和渲染。\n- 作为 AI 编程助手的技能\u002F上下文使用：Codex、Claude Code 或其他本地代理都可以读取 `SKILL.md`、引用 `scene.json` 规范，并调用同一套脚本。\n\n真正的硬性要求不是 Codex，而是渲染阶段需要 Windows、Python、`pywin32` 和本机 Microsoft Visio 桌面版。\n\n## 作为 Codex Skill 安装\n\n把本仓库克隆或复制到 Codex 的 skills 目录：\n\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002F\u003Cowner>\u002Fvisiomaster.git \"$env:USERPROFILE\\.codex\\skills\\visiomaster\"\ncd \"$env:USERPROFILE\\.codex\\skills\\visiomaster\"\npython -m pip install -r requirements.txt\n```\n\n之后在 Codex 里使用 `$visiomaster`，即可触发“图片到可编辑 Visio”的重建流程。\n\n## 作为普通 CLI 工具使用\n\n如果不使用 Codex，也可以直接克隆仓库并运行脚本：\n\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002F\u003Cowner>\u002Fvisiomaster.git visiomaster\ncd visiomaster\npython -m pip install -r requirements.txt\n```\n\n之后按 `scene.json` 规范准备场景文件，再执行校验、审查和渲染命令即可。Claude Code 这类本地 AI 编程工具也可以按这种方式调用，只要它运行在同一台装有 Visio 的 Windows 机器上。\n\n## 快速开始\n\n校验一个示例 scene：\n\n```powershell\npython .\\scripts\\scene_validate.py .\\templates\\examples\\basic_flow.scene.json\n```\n\n生成模块级审查报告：\n\n```powershell\nNew-Item -ItemType Directory .\\exports -Force | Out-Null\npython .\\scripts\\scene_audit.py .\\templates\\examples\\audit_region.scene.json --output .\\exports\\audit_region.audit.md\n```\n\n渲染为 Visio 并导出：\n\n```powershell\npython .\\scripts\\scene_to_visio.py .\\templates\\examples\\basic_flow.scene.json --output-dir .\\exports --basename basic_flow\n```\n\n从图片生成一个起始版 `scene.json`：\n\n```powershell\npython .\\scripts\\image_to_scene.py --image C:\\path\\source.png --template basic-flow --output .\\work\\scene.json\n```\n\n注意：`image_to_scene.py` 只是起始场景生成器，不是全自动精确复刻引擎。复杂图仍然需要人工或 AI 辅助调整 `scene.json`，再经过校验、审查、渲染和对比。\n\n## 工作流程\n\n![Visiomaster 工作流程](docs\u002Fassets\u002Fworkflow\u002Fvisiomaster-workflow.jpg)\n\n更详细的流程说明见 [docs\u002Fworkflow.md](docs\u002Fworkflow.md)。\n\n## Scene 模型\n\n`scene.json` 是图像分析和 Visio 渲染之间的中间协议。它描述页面尺寸、节点、连线、样式、资源和复刻元数据。\n\n重要参考：\n\n- [references\u002Fscene-schema.md](references\u002Fscene-schema.md)：`scene.json` 字段、坐标规则、保真元数据\n- [references\u002Fvisio-component-map.md](references\u002Fvisio-component-map.md)：支持的组件和渲染意图\n- [references\u002Fvisio-export-flow.md](references\u002Fvisio-export-flow.md)：Visio COM 导出流程和排错\n- [templates\u002Fvisio_components.json](templates\u002Fvisio_components.json)：支持的组件词表\n- [templates\u002Fstyle_profiles.json](templates\u002Fstyle_profiles.json)：视觉风格配置\n\n## 组件策略\n\nVisiomaster 使用受控的语义组件词表，而不是直接暴露所有 Visio stencil。这样可以减少不同 Office 语言、版本和模板名称带来的不稳定性。\n\n常见节点类型：\n\n- `process_box`、`rounded_process`、`decision_diamond`、`terminator`\n- `group_container`、`audit_region`、`boundary_port`\n- `feature_map_grid`、`feature_map_banded`、`grid_matrix`\n- `operator_node`、`merge_bus`、`junction_point`、`bracket`\n- `classifier_head`、`wave_signal`、`text_block`、`image_tile`\n\n常见连线类型：\n\n- `arrow_connector`、`dynamic_connector`、`line_segment`\n- `join_connector`、`fork_connector`、`boundary_arrow`\n- `residual_connector`、`residual_loop`\n\n## 为什么需要审查区域\n\n复杂图经常会“整体看着像”，但局部出错：模块偏移、箭头指错、边界输出缺失、算子没有居中、某条线被 Visio 自动吸附到了错误组件。\n\n因此推荐使用：\n\n- `group_container`：表示原图中可见的模块边框\n- `audit_region`：表示不可见的逻辑审查区域，适用于原图没有虚线框但仍然需要分模块检查的情况\n\n`scene_audit.py` 会把二者都当作模块进行审查，输出子组件、内部连线、输入连线、输出连线和拓扑风险提示。\n\n## 仓库结构\n\n```text\nvisiomaster\u002F\n├── SKILL.md\n├── agents\u002Fopenai.yaml\n├── scripts\u002F\n│   ├── image_to_scene.py\n│   ├── scene_validate.py\n│   ├── scene_audit.py\n│   ├── scene_to_visio.py\n│   ├── check_visio_env.py\n│   └── enumerate_visio_masters.py\n├── references\u002F\n├── templates\u002F\n│   ├── visio_components.json\n│   ├── style_profiles.json\n│   └── examples\u002F\n├── docs\u002F\n│   ├── workflow.md\n│   ├── gallery.md\n│   └── assets\u002F\n├── requirements.txt\n└── README.md\n```\n\n## 当前限制\n\n- 渲染阶段依赖 Windows 和 Microsoft Visio 桌面版。\n- macOS\u002FLinux 可以编辑 `scene.json`，但不能通过 Visio COM 渲染。\n- `image_to_scene.py` 只能生成起始场景，不保证自动复刻准确。\n- 1:1 精确复刻需要多轮视觉对比和局部修正。\n- 本机 Visio stencil 名称会受到 Office 版本和语言影响。`enumerate_visio_masters.py` 主要用于研究本机组件，不建议把大量本地 stencil 名称硬编码进 scene。\n\n## 兼容性说明\n\nVisiomaster 当前主要在作者本机的 Windows + Microsoft Visio 桌面版 + `pywin32` 环境中验证。由于 Visio COM、Office 版本、系统语言、默认 stencil 名称和导出行为都可能存在差异，其他机器或其他 Visio 版本上可能需要少量适配或调试。\n\n本项目更适合作为“论文框图\u002F流程图到可编辑 Visio”的工作流和脚本起点，而不是已经覆盖所有 Visio 版本的通用商业级转换器。如果你在其他版本的 Visio 上遇到 COM 启动、stencil 查找、导出 PNG\u002FSVG 或连线渲染差异，欢迎通过 issue 反馈环境和复现样例。\n\n示例中的参考图仅用于说明重建任务和效果对比。公开使用时请确保示例图片来源合规；如果不确定论文截图或第三方图片的授权，建议替换为自制图、AI 生成图或明确可公开使用的示例图。\n","Visiomaster 是一个用于将流程图、架构图和论文模块图从图片重建为可编辑 .vsdx 文件的工具包，并支持导出 SVG 和 PNG 格式。它通过图像理解、结构拆解和风格分析，将主要结构转换为真正的 Visio 形状、文字和连接线，从而生成可继续编辑的 `.vsdx` 文件。此外，Visiomaster 还能输出高质量的 `.svg` 和预览用的 `.png`，并提供模块级的审查清单。该项目特别适合于复刻论文中的模型结构图、处理 AI 生成的学术示意图以及将已有截图重建为可维护的 Visio 图纸，适用于需要频繁修改和排版的学术和技术文档场景。","2026-06-11 03:53:35","CREATED_QUERY"]