跟 Claude 说一声,图就画好了:/drawio 在 Claude Code 里直接出图

跟 Claude 说一声,图就画好了:/drawio 在 Claude Code 里直接出图

你在跟 Claude Code 描述系统架构。它回复了一堆 ASCII art,差不多能看,但总觉得差点意思。你心想:“要是能直接让它画张图就好了。”

可以。

draw.io 的 Claude Code skill 增加了一个 /drawio 命令,把自然语言直接变成 .drawio 图表文件。描述你想要什么,Claude 生成 XML、写文件、需要的话还能导出 PNG/SVG/PDF。不需要 MCP 服务、不需要 API 密钥、不需要跑一个独立的进程。

这个 Skill 跟其他方式有什么不同

它就是一个 SKILL.md 文件,扔进 Claude Code 的 skills 目录就行。你在对话里输入 /drawio,Claude 读 skill 指令,生成 mxGraphModel XML,写到 .drawio 文件。如果要导出 PNG/SVG/PDF,它还会调用 draw.io 桌面 CLI 的 —embed-diagram 模式,产出一个既能看图又能重新编辑的文件。

在 drawio-mcp 项目里,一共有四种集成方式:

  • MCP App Server — 在 Claude.ai 和 VS Code 里内嵌交互式图表,通过托管端点 mcp.draw.io 提供服务
  • MCP Tool Server — 在浏览器中打开图表,支持 XML、CSV 和 Mermaid 三种格式
  • Skill + CLI — 在 Claude Code 本地生成 .drawio 文件,不需要 MCP 服务
  • Project Instructions — 在 Claude Project 里贴一段提示词,零安装,通过 Python 生成 draw.io 链接

Skill 方案是本地开发最简单的。没有服务进程、没有端口管理、不需要配置 MCP。一个文件加一个斜杠命令。

适合谁用

架构文档 — 在讨论架构的过程中让 Claude 直接出图。它用的就是刚才对话里建立起来的上下文,图不会偏离讨论。

数据库 Schema 可视化 — Claude 帮你设计完 schema,顺带让它生成 ER 图。图基于它刚写的真实 schema,不是凭记忆画的。

API 接口设计 — 设计评审时用 /drawio 生成端点交互图。Claude 已经看过代码了,图反映的是真实实现。

PR 文档 — 为 Pull Request 生成改动前后的架构对比图。导出的 PNG 直接贴进 PR 描述。

注意这些限制

导出需要 draw.io 桌面版。Skill 永远能写 .drawio 文件,但 PNG/SVG/PDF 导出需要 draw.io 桌面应用自带的 CLI。没有它,你拿到的是 .drawio 文件 —— 能在应用里编辑,但不如图片方便分享。

XML 质量取决于参考文档。Claude 依据 drawio-mcp 仓库里的共享 XML 参考来生成图表。复杂布局、大量重叠连线可能需要手工调整。npx @drawio/postprocess 可以优化连线路由,但不是必须的。

不是所有图表都适合用这个。头脑风暴随手画的流程图,纸笔更快。Skill 的价值在于图表需要准确、可版本管理、并且基于代码生成。

安装

把 skill 文件复制到 Claude Code 的 skills 目录。就这些。

全局安装(所有项目):

mkdir -p ~/.claude/skills/drawio
cp drawio/SKILL.md ~/.claude/skills/drawio/SKILL.md

项目级安装:

mkdir -p .claude/skills/drawio
cp drawio/SKILL.md .claude/skills/drawio/SKILL.md

如果需要导出 PNG/SVG/PDF,再安装 draw.io Desktop:https://www.drawio.com

整个安装过程到此结束。没有 npm install、没有 MCP 配置、没有后台服务。

使用方法

在 Claude Code 里直接使用 /drawio 斜杠命令:

/drawio create a flowchart for user login

需要导出图片格式,在请求里说明:

/drawio png flowchart for user login
/drawio svg: ER diagram for e-commerce
/drawio pdf architecture overview

Claude 生成 XML、写文件、打开结果。文件命名遵循固定规则:

  • /drawio create a flowchart for user login -> login-flow.drawio
  • /drawio png flowchart for user login -> login-flow.drawio.png
  • /drawio svg: ER diagram for e-commerce -> er-diagram.drawio.svg

导出版本会自动删除中间的 .drawio 文件,因为 PNG/SVG/PDF 里已经嵌入了完整 XML。

也可以提更复杂的需求:

/drawio sequence diagram for API auth
/drawio png class diagram for the models in src/

背后的工作流程

你输入 /drawio 之后,Claude 做了三件事。

第一步,读取 skill 指令。指令里包含了从 drawio-mcp 仓库引用的共享 XML 参考 —— 覆盖 cell 类型、样式属性、连线路由、容器、图层和暗色模式。

第二步,生成 mxGraphModel XML:

<mxGraphModel adaptiveColors="auto">
  <root>
    <mxCell id="0"/>
    <mxCell id="1" parent="0"/>
    ...
  </root>
</mxGraphModel>

第三步,写入文件。如果需要导出,调用 draw.io 桌面 CLI:

drawio -x -f png -e -b 10 -o diagram.drawio.png diagram.drawio
}

从自然语言到图表文件,整个流程在一次 Claude Code 交互中完成。

### 实战:边聊边出架构图

假设你在跟 Claude Code 讨论一个微服务应用的架构:

你:/drawio png architecture for my microservices app with api-gateway, user-service, payment-service, and a shared database


Claude 生成 .drawio 文件,把所有服务用盒子表示,按网格排列,标注名称。从 api-gateway 到各个服务画连线,再从服务到数据库画连线。生成完成后自动导出 PNG。整个过程几秒钟。你没打开过 draw.io 一次。

---

draw.io skill 把 Claude Code 变成了一个能听懂你架构的画图工具。描述系统,拿到文件。

如果你已经在用 Claude Code 写代码,加一个 /drawio 只是复制一个文件的功夫。问题是为什么还没做。

GitHub: https://github.com/jgraph/drawio-mcp
Skill 文档: https://github.com/jgraph/drawio-mcp/blob/main/skill-cli/README.md
draw.io 桌面版: https://www.drawio.com

相关文章

manim_skill:一个能让 AI 助手正确写 Manim 动画的 Agent Skill

解决痛点 让 ChatGPT 或 Claude 帮你写一段 Manim 动画代码,你大概率会拿到这样的东西: 有时候 import 从 manim 开始,有时候从 manimlib ...

HyperFrames:写 HTML 就能出视频,专为 AI Agent 设计

做视频很慢。 传统视频工具是时间轴驱动的:拖素材、调关键帧、渲染、导出、修改、再渲染。你没法自动化这个流程,更没法让 AI 帮你做——因为 Premiere 不接受 prompt。 如果你想让代码 ...

如何把真实世界的能力封装为 Agent Skill

通用 AI Agent 能力很强,但缺少每支团队都有的东西:程序性知识。你的代码审核清单、部署手册、API 规范——这些都不在模型的训练数据里。 这就是 Agent Skill 要解 ...

Karpathy 给 Claude Code 开的药方:四个原则治住 AI 乱写代码

Andrej Karpathy 一句话戳到了痛点:LLM 会带着错误的假设一路狂奔。它们把代码搞复杂、造抽象层、乱动不该动的东西。最气人的是,它们做得彬彬有礼、信心满满、而且批量生产。 一个 CLA ...

edulab: 把数学题变成交互式 3D 课堂

一个学生盯着立体几何题发呆。"求直线 PQ 与平面 ABC 的夹角。" 课本上只有一张静态图。线叠在一起,角看不清楚。你没法旋转它,没法放大看交点,甚至无法直觉判断那个 120° 的答案在空间里到底对 ...

Karpathy 的 LLM Wiki:让 AI 把知识编译成会生长的第二大脑

Karpathy 的 LLM Wiki:让 AI 把知识编译成会生长的第二大脑

你把 20 份 PDF 扔进 NotebookLM,问了几个问题,答案看起来不错。第二天再问一个更细的问题,AI 又从零开始检索、拼接、猜测。没有积累。没有共识。没有记忆。 Karpathy 的 L ...