根据自然语言描述生成Excalidraw图表(.excalidraw文件)。当用户要求创建、绘制或可视化图表时使用此技能。
Excalidraw 图表生成器是一项面向实际任务的技能,主要用于您从自然语言描述生成. excalidraw 文件;用户可以在 Excalidraw (File ) 中直接打开这些文件, 或者拖放到罐头中。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
您可通过自然语言描述生成 .excalidraw 文件。用户可直接在 Excalidraw 中打开这些文件(文件 → 打开),或将其拖拽至画布上。
diagram_input.jsonbuild_excalidraw.py 生成最终文件| 用户描述的内容 | 应选用的类型 |
|---|---|
| 步骤、流程、决策、分支逻辑 | flowchart |
| 系统、服务、组件、基础设施 | architecture |
| 围绕中心主题发散的主题、想法、概念 | mindmap |
| 两个或多个参与者随时间交换消息 | sequence |
若不确定应选何种类型,优先使用 flowchart —— 它适用于最广泛的场景。
请在当前工作目录下生成以下任一格式,并保存为 diagram_input.json。
{
"type": "flowchart",
"title": "简明描述性标题",
"nodes": [
{"id": "unique_id", "label": "显示文本", "shape": "rectangle"},
{"id": "decision", "label": "是否有效?", "shape": "diamond"},
{"id": "start_end", "label": "开始", "shape": "oval"}
],
"edges": [
{"from": "node_a", "to": "node_b"},
{"from": "decision", "to": "node_c", "label": "是"},
{"from": "decision", "to": "node_d", "label": "否"}
]
}
形状选项: rectangle(默认)、diamond(用于决策/条件判断)、oval(用于起始/结束节点)
{
"type": "architecture",
"title": "系统架构",
"groups": [
{
"id": "frontend",
"label": "前端",
"nodes": [
{"id": "web", "label": "Web 应用"},
{"id": "mobile", "label": "移动应用"}
]
},
{
"id": "backend",
"label": "后端",
"nodes": [
{"id": "api", "label": "API 网关"},
{"id": "auth", "label": "认证服务"}
]
}
],
"nodes": [],
"edges": [
{"from": "web", "to": "api", "label": "HTTPS"},
{"from": "mobile", "to": "api", "label": "HTTPS"}
]
}
注意: groups 为可选字段。若无需分组,可在顶层直接使用 nodes 字段定义组件;也可混合使用两者。
{
"type": "mindmap",
"title": "主题概览",
"root": "中心主题",
"branches": [
{
"label": "分支 1",
"children": ["子主题 A", "子主题 B", "子主题 C"]
},
{
"label": "分支 2",
"children": ["子主题 D", "子主题 E"]
}
]
}
{
"type": "sequence",
"title": "交互流程",
"actors": ["User", "Frontend", "API", "Database"],
"messages": [
{"from": "User", "to": "Frontend", "label": "Click Login"},
{"from": "Frontend", "to": "API", "label": "POST /login"},
{"from": "API", "to": "Database", "label": "Query user"},
{"from": "Database", "to": "API", "label": "Return record"},
{"from": "API", "to": "Frontend", "label": "JWT token"},
{"from": "Frontend", "to": "User", "label": "Redirect"}
]
}
编写完 diagram_input.json 后,运行构建脚本:
python/scripts/build_excalidraw.py --input diagram_input.json --output .excalidraw
其中 是包含本 SKILL.md 文件的目录, 是对图表标题进行规范化处理后的字符串(如去除空格、特殊字符等)。
成功生成后,请告知用户:
✓ 图表已保存至:.excalidraw 在 Excalidraw 中打开方法: 1. 访问 https://excalidraw.com 2. 点击菜单(☰)→ 打开 → 选择该文件 — 或 — 将文件直接拖拽至画布
api_gateway、check_auth)若脚本执行失败,请按以下步骤排查:
diagram_input.json 是否符合合法的 JSON 语法from/to 值均与已有节点的 id 值完全匹配python3 --version 查看)相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134万人学习
共49课时 | 82.5万人学习