Install
openclaw skills install @wuliwenjing/drawio-ai-maker将自然语言或文档(docx/pdf/txt)转换为 draw.io 可编辑 XML 图表(.drawio 文件)。当用户说"画个流程图"、"生成图表"、"画架构图/时序图/网络拓扑图"、"帮我画xxx流程"、"生成draw.io"等时自动触发。使用流程:接收描述→生成JSON→用户确认→调用gen.py生成.drawio→告知用户用draw.io打开。
openclaw skills install @wuliwenjing/drawio-ai-makerStep 1:接收用户的流程描述(文字或文件上传)
Step 2:根据描述生成结构化 JSON(nodes + edges),将 JSON 展示给用户确认
Step 3:用户确认后,调用生成脚本:
python3 skills/drawio-generator/scripts/gen.py "图表标题" '{"title":"...","nodes":[...],"edges":[...]}' [类型]
Step 4:交付 .drawio 文件到输出目录,并告知用户:
用 draw.io 打开此文件(网页版 https://app.diagrams.net 或桌面版 App),如需微调请手动调整节点位置后保存。
⚠️ 生成结果非完美,可能存在线条重叠或间距不理想,需要在 draw.io 中手动微调。
输出目录:
/Users/owen/Desktop/drawio-generator/DRAWIO_OUTPUT_DIR 或命令行 --output-dir 自定义{
"title": "流程名称",
"type": "flowchart",
"nodes": [
{"id": "0", "type": "start", "label": "开始"},
{"id": "1", "type": "process", "label": "处理步骤"},
{"id": "2", "type": "decision", "label": "判断条件?"},
{"id": "3", "type": "end", "label": "结束"}
],
"edges": [
{"source": "0", "target": "1"},
{"source": "1", "target": "2"},
{"source": "2", "target": "3", "label": "是"},
{"source": "2", "target": "1", "label": "否"}
]
}
| type | 形状 |
|---|---|
start | 椭圆 |
end | 椭圆 |
process | 圆角矩形 |
decision | 菱形 |
document | 文档形状 |
data | 平行四边形 |
| label | 含义 |
|---|---|
是 / Y | 条件为真 |
否 / N | 条件为假 |
| 空 | 普通顺序流 |
flowchart | sequence | network | architecture | hierarchy | function | deployment
| 文件 | 说明 |
|---|---|
scripts/gen.py | 标准生成脚本(必须使用,禁止直接调用 generator.py) |
scripts/generator.py | 底层 XML 生成器(gen.py 内部调用) |
scripts/parser.py | 输入解析(txt 直接读取,docx/pdf 需额外安装库) |
references/drawio-xml-spec.md | draw.io XML 格式规范 |
依赖说明:
pip install python-docxpip install pdfplumber| 参数 | 默认值 | 说明 |
|---|---|---|
CANVAS_WIDTH | 850 | 画布宽度 |
_LAYER_GAP_Y | 120 | 层间垂直间距 |
MAIN_X | 425 | 主轴 X 坐标 |