# drawio-skill **Repository Path**: python-linming/drawio-skill ## Basic Information - **Project Name**: drawio-skill - **Description**: Fork from Agents365-ai/drawio-skill: AI natural-language to draw.io diagrams. 自然语言生成专业图表。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: fix/validate-container-child-geometry - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-19 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # drawio-skill —— 从文字到专业图表 [](LICENSE) [](https://github.com/Agents365-ai/drawio-skill/stargazers) [](https://github.com/Agents365-ai/drawio-skill/network/members) [](https://github.com/Agents365-ai/drawio-skill/releases/latest) [](https://github.com/Agents365-ai/drawio-skill/commits/main) [](https://skillsmp.com/skills/agents365-ai-drawio-skill-skills-drawio-skill-skill-md) [](https://clawhub.ai/agents365-ai/drawio-pro-skill) [](https://github.com/Agents365-ai/365-skills) [](https://agentskills.io) [](https://discord.gg/79JF5Atuk) [English](README.md) · **中文** · [📖 在线文档](https://agents365-ai.github.io/drawio-skill/) 一个把自然语言描述变成 `.drawio` XML,并通过 draw.io 桌面版原生 CLI 导出 PNG / SVG / PDF / JPG 的技能。它还能把**现有代码库**(Python / JS-TS / Go / Rust)转成自动布局的结构图。支持 **Claude Code、Cursor、Copilot、OpenClaw、Codex、Hermes** 等任何兼容 [Agent Skills](https://agentskills.io) 规范的 agent。
![]() 星形 · 7 个节点 中央消息代理 + 6 个微服务辐射排列,本例中线条零交叉。 |
![]() 分层 · 10 节点 / 4 层 电商架构,同层水平 + 对角线交叉连线均通过路由走廊绕行。 |
![]() 环形 · 8 个节点 CI/CD 流水线,含闭合回路和 2 个分支,沿矩形外围流动。 |
logging 包的类继承层级 —— 一条命令生成,模块自动分框,每条继承边都被解析。
幕后是一条 提取器 → 自动布局 → 校验 的流水线:
```bash
# 导入关系图 —— Python / JS-TS / Go / Rust
python3 scripts/pyimports.py myproject --group -o graph.json
python3 scripts/jsimports.py ./src --group -o graph.json
python3 scripts/goimports.py ./module --group -o graph.json
python3 scripts/rustimports.py ./crate --group -o graph.json
# Python 类继承层级
python3 scripts/pyclasses.py mypackage --group -o graph.json
# 任一提取器 → 自动布局 → 可编辑的 .drawio
python3 scripts/autolayout.py graph.json -o diagram.drawio
```
| 组件 | 作用 |
|---|---|
| **5 个提取器** | **Python · JS/TS · Go · Rust** 的导入关系图,外加 **Python 类继承** |
| **自动布局** | Graphviz 自动布点,正交连线**绕开**节点 —— 大图不再需要手动摆坐标 |
| **传递约简** | 删掉被更长路径蕴含的边,把密集的"毛线团"变成可读图(asyncio:149 → 46 条边) |
| **嵌套容器** | `--group` 按子包给模块分框,深层包树自动嵌套 |
| **确定性校验器** | `validate.py` 在视觉自检前先做结构 lint(悬空边、重复 id、重叠) |
布局需要 Graphviz(`brew install graphviz` / `apt install graphviz`)—— 可选,其余功能无需它。完整格式与参数见 [references/autolayout.md](skills/drawio-skill/references/autolayout.md)。
## 🧩 支持的图表类型
| 类别 | 示例 | 特色 |
|------|------|------|
| 架构图 | 微服务、云(AWS/GCP/Azure)、网络拓扑、部署 | 分层泳道、hub 居中策略 |
| ML / 深度学习 | Transformer、CNN、LSTM、GRU | 张量形状标注、层类型配色 |
| 流程图 | 业务流程、工作流、决策树、状态机 | 语义形状(平行四边形 I/O、菱形判断) |
| UML | 类图、序列图 | 继承 / 组合 / 聚合箭头;生命线 + 激活框 |
| 数据图 | ER 图、数据流图(DFD) | 表容器、PK/FK 标记 |
| 其他 | 组织架构图、思维导图、线框图 | — |
## 🔍 形状搜索
需要真实的 AWS / Azure / GCP / Cisco / Kubernetes / UML / BPMN 图标?Skill 会在 **10,000+ 个官方 draw.io 形状**中搜出精确的 style 字符串 —— 厂商图标正确渲染,而不是因为猜错 `shape=mxgraph.*` 名称而退化成空白方框。
> *"加一个 AWS Lambda 连到 S3 桶"* · *"用真正的 Kubernetes pod 图标"*
```bash
python3 scripts/shapesearch.py "aws lambda" --limit 5
# → Lambda (77x93)
# outlineConnect=0;...;shape=mxgraph.aws3.lambda;fillColor=#F58534;...
```
shapesearch.py 解析出的真实官方 draw.io 形状,而非手猜的 shape= 字符串。
覆盖 AWS / Azure / GCP / Cisco / Kubernetes / UML / BPMN / ER / 电气 / P&ID 以及通用形状集。可手写的 style 速查表 + 搜索用法见 [references/shapes.md](skills/drawio-skill/references/shapes.md)。
## 🤖 AI / LLM 品牌图标
draw.io **没有**任何现代 AI/LLM 品牌图标,所以画 LLM 应用架构时只能是一堆方框。`aiicons.py` 能把品牌名解析成 draw.io 图片样式,覆盖 [lobe-icons](https://github.com/lobehub/lobe-icons)(MIT)的 **321 个图标**(OpenAI、Claude、Gemini、Mistral、Llama、Cohere、DeepSeek、Qwen、Ollama、LangChain、HuggingFace……)。
```bash
python3 scripts/aiicons.py "claude" --json # CDN 引用(默认)
python3 scripts/aiicons.py "openai" --embed # 内联为自包含 data URI
```
aiicons.py 解析。默认从 unpkg CDN 引用图标(渲染时需联网),--embed 可内联以离线使用。logo 为各自所有者的商标,仅用于标识。
## 🎨 样式预设
把视觉风格"教"给 Skill 一次,所有图表自动复用。内置三种预设:`default`、`corporate`、`handdrawn`;也可以从 `.drawio` 文件或图片学习你的风格:
```
画一个微服务架构图,使用我的 "corporate" 样式
```
```
从 ~/diagrams/brand.drawio 学习我的样式,保存为 "mybrand"
```
Skill 会提取配色、形状、字体和连线风格,渲染预览图,**确认后**才保存预设。完整管理命令见 [docs/STYLE_PRESETS_CN.md](docs/STYLE_PRESETS_CN.md)。
## 🔄 工作流程
微信支付 |
支付宝 |
Buy Me a Coffee |
打赏 |