Install
openclaw skills install @holdyounger/drawio-diagram-builderCreate, edit, replicate, and iteratively refine editable research and technical diagrams in diagrams.net/draw.io (.drawio XML) from prompts, papers, repositories, screenshots, or existing diagrams. Use when asked to generate a scientific figure, paper method diagram, ML/system architecture diagram,
openclaw skills install @holdyounger/drawio-diagram-builder开始前请先确认以下条件已满足。如有缺失,立即告知用户并停止执行,不得继续。
| 要求 | 原因 |
|---|---|
| Python 3(3.7+) | 所有预览/验证脚本均为 Python。运行 python --version 检查。 |
| 浏览器自动化能力 | 迭代精修循环依赖对本地预览页面的截图。你需要以下之一:Playwright MCP、Puppeteer MCP、browser-evaluate/screenshot 工具或等效能力。 |
| 视觉 / 图像读取工具(用户提供参考图片作为样式指南时为强制要求) | 样式提取(见 references/style-extraction.md)需要从参考图中采样像素颜色。你需要以下之一:支持识图的模型、取色 MCP / 浏览器工具,或能够询问用户获取十六进制色值。严禁凭空捏造色值。如无此能力,则无法完成样式提取表——请直接询问用户配色方案。 |
| 互联网连接 | 预览页会在 iframe 中加载 https://embed.diagrams.net/,离线不可用。 |
| 文件写入权限 | 需要创建 .drawio 文件。 |
本文档中的脚本路径均相对于技能目录(skill directory)。解析方式如 <skill-dir>/scripts/serve_drawio_preview.py。若找不到技能目录,请检查 Agent 的已安装技能路径(如 ~/.claude/<skill-dir>/ 或 ~/.codex/<skill-dir>/)。
如果 Playwright 提示缺少内置浏览器,可先尝试已安装的浏览器通道,例如 npx playwright screenshot --channel chrome ... 或 --channel msedge ...,再考虑放弃。
优先产出可编辑的 draw.io 图表,尤其适用于科研和技术插图。当用户明确要求重绘、复刻、矢量图、可编辑或 100% 还原时,不得将嵌入的截图作为最终答案。 栅格图片仅可作为参考、临时叠加层或经明确批准的资产使用。
对于复杂或高保真图表,优先采用直接编写 .drawio XML + 浏览器截图反馈的方式。仅在能显著改善检查或用户交接体验时,才使用本地 draw.io UI 控制。
.drawio XML —— 可靠、可复现。务必使用显式 mxGeometry 定位。scripts/serve_drawio_preview.py(一条命令即可启动服务并打开浏览器)scripts/make_drawio_preview.py + python -m http.serverhttp://127.0.0.1:<port>/drawio-preview.html,等待 draw.io 嵌入加载(2–5 秒),截取全页或视口。这是与参考图对比的核心证据。@drawio/mcp —— 仅用于小型图表或快速打开。Windows 下,大型编码 URL 会触发 The data area passed to a system call is too small 错误;不得依赖 .url 快捷方式加载大 XML。references/drawio-workflow.md:端到端详细流程。references/self-supervision-and-intake.md:非平凡图表、混合输入(文字+图片)、项目级图表或迭代修复时的自检与需求收集规范。references/style-extraction.md:用户提供参考图片作为样式指南时必须加载,在编写 XML 前提取配色、字体、间距和箭头语法,禁止跳过。references/topconf-paper-style.md:用户要求计算机科学论文、顶会、相机就绪、方法图、ML 流水线、多模态架构、评测基准或精美科研插图,且样式参考薄弱或缺失时使用。references/xml-authoring.md:编写或修复 XML 形状、样式、边和文本布局时的必读。references/xml-preflight.md:渲染前静态 XML 质量检查清单,可无需截图发现箭头碰撞、文本溢出、间距异常、颜色混乱等问题。references/primitive-icons.md:参考图中包含模态、内存、警告、工具、时钟、文档等论文风格小图标时使用,确保图标保持可编辑性。assets/icons/ICON-MANIFEST.md:通用 SVG 图标资产清单,用于提升保真度。references/reference-replication-protocol.md:参考图复刻请求时必须首先加载。将高保真复刻视为证据管道:观察 → 规格定义 → 编写 XML → 渲染 → 对比 → 修补 → 重复。在未生成协议要求的中间产物前,不得开始绘图。所有引用路径均相对于技能目录解析。
确认 Python 3 和浏览器自动化可用。否则立即停止并告知用户缺失项。
references/topconf-paper-style.md 及 assets/reference-images/ 下的图片作为样式/布局兜底,不得为填满布局而编造科学内容。references/style-extraction.md,填写完整的提取表——配色十六进制值、字号、圆角半径、描边宽度、间距节奏。提取结果即为你的强制样式契约。未执行此步骤是导致成品与参考图差异巨大的首要原因。针对混合输入、纯提示词驱动、论文/代码图表或任何复杂任务,创建包含以下内容的简报:用户目标、来源清单、需求可追溯性、语义模型、样式契约和待澄清假设。参见 references/self-supervision-and-intake.md。
记录画布尺寸、主要区域、层级关系、标签、颜色、线型、字体、箭头、图标、说明文字和间距。
为每条连线定义语义:源、目标、方向、扇入/扇出、反馈回路、分组和箭头端点位置。语义不明者不得绘制。
参考图复刻时,建立坐标级清单:包围盒、文本行、高亮条、连线、循环结构和重复模块。
论文插图中,严格保留方法术语,区分数据构建、训练、评估、推理和服务流程。
明确哪些必须精确复刻,哪些可以近似。
参考图复刻时,在编写 XML 前先创建以下协议产物:
visual-spec.md
layout-grid.md
asset-ledger.md
defect-log.md
.drawio 文件.drawio 文件是首要产物,预览 HTML 仅为派生产物。
使用单个 mxfile,内含一个或多个 diagram 页面。
高保真工作务必使用显式 mxGeometry 位置和尺寸。
当行级对齐重要时,将密集文本拆分为多个单元格。
重要图标和箭头优先使用可编辑的 draw.io 原语构建。参考 references/primitive-icons.md 获取常见科研图标配方。保真度优先时可从 assets/icons/ 使用捆绑 SVG,并在 asset-ledger.md 中记录。
保持颜色、描边、字体和圆角与参考或需求一致。
渲染前必须运行预检检查器。 仅凭 XML 无法感知视觉质量——箭头-方框碰撞、文本溢出、字体-框不匹配、间距混乱、调色板分散以及无意义照搬参考图的装饰色块等问题对你不可见,但可通过几何计算发现:
python <skill-dir>/scripts/validate_visual_quality.py <file>.drawio
首次生成预览 HTML 前,FAIL 数量必须为 0。 逐条审查 WARN。若检查器返回非零退出码,修复后重新运行。不得跳过此步骤。详见 references/xml-preflight.md。
scripts/serve_drawio_preview.py <file>.drawio --port 8765。自动生成预览 HTML、启动服务并打开浏览器。scripts/make_drawio_preview.py <file>.drawio --out drawio-preview.html,随后在该目录运行 python -m http.server 8765 --bind 127.0.0.1。http://127.0.0.1:8765/drawio-preview.html?rev=1。await page.screenshot({ clip: { x, y, width, height } })。裁剪坐标必须来自当前截图,而非记忆或 XML——先检查截图,找到画布边缘,再裁剪。references/self-supervision-and-intake.md 第 4.1 节。?rev=N),重新截图并重复流程。defect-log.md,包含:观察到的缺陷、参考证据、待修改 XML 单元、补丁摘要和剩余风险。首条截图记录出现后,defect-log.md 应视为仅追加文件。visual-spec.md 和 layout-grid.md 再修改 XML。结构性错误意味着观察、坐标、资产或 draw.io 渲染假设存在偏差。硬性门槛:自评打分卡(强制)。交付前对自身图表按 1–10 分打分:
| 维度 | 得分 (1-10) |
|---|---|
| 文本可读性 | /10 |
| 箭头准确性 | /10 |
| 色彩协调性 | /10 |
| 布局一致性 | /10 |
| 样式匹配度(参考/规格) | /10 |
| 总分 | /50 |
scripts/validate_drawio.py <file>.drawio。scripts/validate_drawio.py --strict --json <file>.drawio。scripts/validate_replication_artifacts.py <workdir> --require-screenshot-review。确保在生成/预览写入完成后运行验证器,避免与写入同一目录的脚本并行执行。.drawio 文件路径、最新截图路径、自评打分卡和缺陷日志摘要。若用户希望继续迭代,保持本地预览服务器运行。.drawio 文件。小规模定点修复可使用文件编辑工具(如 Claude Code 的 Edit/Write)。.url 文件或巨型 #create= URL 打开大型图表。改用本地预览 HTML + postMessage。validate_visual_quality.py,后果自负。立即运行,修复所有 FAIL,再审阅 WARN,然后重新渲染。validate_visual_quality.py,修复所有 FAIL,审阅所有 WARN,再重新渲染。(x, y, w, h) 裁剪。无法裁剪时,将视口调整为 1920×1400,缩小页面(Ctrl+-)后重拍。图表占比不足截图 80% 的截图无效,不可用于质量检查。.drawio 下载。将下载的文件移回工作路径后再继续编辑。assets/icons/ICON-MANIFEST.md,再上网搜索。优先使用捆绑的 MIT 许可 Tabler SVG 作为文档、媒体、存储、路由、工具、指标和状态图标。references/xml-authoring.md 中的安全辅助模式;转义普通文本,仅对 Agent 编写的标签(如 <i>、<sub>)使用原始 HTML。?rev=3,重新生成预览 HTML,或重新打开标签页。embed.diagrams.net iframe 在慢速网络下可能需要 3–5 秒。若仍失败,检查网络连接。VERSION:已安装技能版本标记。通过 scripts/check_skill_update.py 使用,而非检查特定功能字符串。scripts/check_skill_update.py:比对已安装技能版本与 GitHub 官方版本。scripts/make_drawio_preview.py:构建本地短 URL 预览 HTML,通过 postMessage 将 .drawio XML 加载进 diagrams.net。scripts/serve_drawio_preview.py:生成预览 HTML 并在 127.0.0.1 上提供服务,可选择自动打开浏览器。scripts/validate_drawio.py:解析、结构验证、统计标签/资产并对 .drawio 文件进行交付前完整性检查。支持 --strict 和 --json。scripts/validate_visual_quality.py:渲染前静态检查器。解析 .drawio XML,无需渲染即可计算视觉缺陷——箭头-方框碰撞、文本溢出风险、字体比例失调、间距方差、色彩不协调、元素重叠、孤儿标签、字号异常和边密度过高。首次预览前必须运行,FAIL 数为 0 方可继续。支持 --json、--strict、--rules。assets/icons/ICON-MANIFEST.md:本地 MIT 许可 SVG 图标清单及使用规则。assets/reference-images/REFERENCE-IMAGES.md:捆绑的顶会风格插图参考,用于样式兜底。references/drawio-workflow.md:从提示词/论文/代码/参考图到可编辑 draw.io 的完整专业工作流。references/self-supervision-and-intake.md:混合输入需求收集、图表简报、强制性 5 维审计、红队角色切换、自评打分卡及交付前硬性门槛。references/xml-preflight.md:解释每一项预渲染静态检查——检查内容、重要性,以及为何仅凭 XML 会使 Agent 对这些缺陷视而不见。references/style-extraction.md:强制性样式提取协议——如何从参考图片采样配色、测量排版、识别布局节奏并提取箭头语法。用户提供参考图片作为样式指南时必须使用。references/topconf-paper-style.md:顶会计算机科学插图样式、兜底参考选择及论文级质量标杆。references/primitive-icons.md:常见科研插图图标的可复用可编辑原语配方。references/reference-replication-protocol.md:高保真参考图复刻的低自由度协议。references/xml-authoring.md:XML、布局、样式、边、文本、图标及迭代模式指南。是否需要我基于这个中文规范,帮你直接创建一个符合顶会风格的 draw.io 科研图表模板?