mxCell starting from 0\n inside a value attribute — use separate rows/cells insteadBefore generating any XML, identify the diagram type from the user's request:
| User says... | Diagram type |
|---|---|
| --- | --- |
| "database", "ERD", "tables", "entities", "foreign key" | → TYPE 1: ERD |
| "class", "UML", "inheritance", "attributes", "methods" | → TYPE 2: Class Diagram |
| "sequence", "interaction", "lifeline", "actor calls" | → TYPE 3: Sequence Diagram |
| "flowchart", "flow", "process", "decision", "steps" | → TYPE 4: Flowchart |
| "architecture", "system", "services", "components" | → TYPE 5: Architecture |
Use the detailed rules/templates in these files based on the detected type.
ERD.mdCLASS.mdSEQUENCE.mdFLOWCHART.mdLAYOUT.mdDetermine TYPE 1–5 from the user's message before writing any XML.
List every entity/class/participant and all relationships before coding.
mkdir -p ./diagrams
Save to ./diagrams/
Mandatory pre-save checklist:
mxCell elements have unique sequential numeric IDsshape=table with shape=tableRow rows (never generic shapes)swimlane with attribute block, divider line, and method block30 + (columns x 30) for ERD tables\n in value attributes (use
for multiline text cells only)# macOS
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f png --scale 2 -o ./diagrams/<name>.png ./diagrams/<name>.drawio
# Linux / headless
xvfb-run -a drawio -x -f png --scale 2 -o ./diagrams/<name>.png ./diagrams/<name>.drawio
ls -lh ./diagrams/<name>.png
Always respond with the PNG image first (embed/attach it in the response).
After showing the PNG, ALWAYS ask the user which additional format they want:
The diagram is ready! Which format would you like?
1 - PNG image (ready to view)
2 - .drawio file (editable in draw.io)
3 - SVG (scalable vector)
4 - PDF
5 - All of the above
Reply with the number(s) of your choice.
Then based on the response:
# SVG (scalable vector)
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f svg -o ./diagrams/<name>.svg ./diagrams/<name>.drawio
# PDF
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f pdf -o ./diagrams/<name>.pdf ./diagrams/<name>.drawio
# High-res PNG (scale 3)
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f png --scale 3 -o ./diagrams/<name>_hd.png ./diagrams/<name>.drawio
# Transparent background
/Applications/draw.io.app/Contents/MacOS/draw.io -x -f png -t --scale 2 -o ./diagrams/<name>_transparent.png ./diagrams/<name>.drawio
共 1 个版本