AI 再也不用截图点点点了!用一行命令让它直接画流程图

0 阅读6分钟

先说一个让人抓狂的场景

你有没有试过让 AI Agent 帮你画一张系统架构图?

大概是这样的:

你:"帮我画一张电商系统的架构图" AI:"好的!我来打开 draw.io……" AI:截图→分析坐标→点击→截图→分析坐标→点击…… 五分钟后…… AI:"我点错了,重来"

这就像你雇了一个设计师,结果他不用鼠标,全靠蒙眼睛猜坐标点击。

图1:传统 GUI 自动化流程,本质是在玩「蒙眼打靶」

图1:传统 GUI 自动化流程,本质是在玩「蒙眼打靶」

今天介绍的 cli-anything-drawio,就是要把这个「蒙眼打靶」变成「指哪打哪」。


它到底是什么?

cli-anything-drawio 是 CLI-Anything 框架生成的一个命令行工具, 把 draw.io 的所有 GUI 操作——加图形、连箭头、改样式、导出图片—— 全部映射成了标准的 CLI 命令,输出结构化 JSON。

AI Agent 调完一条命令,立刻拿到反馈,下一条命令接着来, 就像流水线一样,不需要"截图→等待→分析→猜坐标"这套慢动作。

图2:CLI 模式下 Agent 的实际工作流,每步都有精确反馈

图2:CLI 模式下 Agent 的实际工作流,每步都有精确反馈


安装,一行搞定

pip install cli-anything-drawio

不需要克隆代码,不需要配置环境。装完就有 cli-anything-drawio 命令。

「注意」:画图、改图不需要 draw.io 桌面版。 但如果你要导出成 PNG/PDF/SVG,需要装一下: macOS:brew install --cask drawio Linux:snap install drawio


实战:让 AI 画一张电商购物流程图

我们用一个真实场景贯穿整个演示:

「场景」:你是一个产品经理,需要向开发团队解释电商平台的购物流程。 以前你要自己打开 draw.io,一个一个拖图形、连箭头, 半小时能画完就算手速快的。 现在,告诉 AI 一句话,它帮你搞定。

第一步:新建画布

cli-anything-drawio --json project new --width 700 --height 2000 -o 购物流程.drawio

返回:

{
  "action": "new_project",
  "page_size": "700x2000",
  "saved_to": "购物流程.drawio"
}

画布创建好了。这里有个设计很妙:--json 参数让所有输出都是结构化 JSON, AI Agent 不用解析"人话",直接读字段就行,省去大量 token。

第二步:加图形

draw.io 里那些图形——矩形、椭圆、菱形、圆柱——在这里都有对应的名字:

# 开始节点(椭圆)
cli-anything-drawio --json --project 购物流程.drawio \
  shape add ellipse --label "开始" --x 275 --y 40 --width 150 --height 55

返回的 id 是关键,后面连线要用它:

{"id": "v_1773456936157036", "shape_type": "ellipse", "label": "开始"}

继续加其他节点(用户登录、浏览商品、加购物车……),每个都会返回一个唯一 ID。

「支持的图形类型一览:」

命令名对应图形典型用途
rectangle矩形普通步骤
ellipse椭圆开始/结束
diamond菱形判断/分支
cylinder圆柱数据库
rounded圆角矩形用户操作
actor小人用户角色

第三步:连线

# 把"开始"连到"用户登录",用直角路由风格
cli-anything-drawio --project 购物流程.drawio \
  connect add v_1773456936157036 v_1773456936238240 --style orthogonal

# 支付判断节点,分两条路
cli-anything-drawio --project 购物流程.drawio \
  connect add 支付节点ID 成功节点ID --label "成功"

cli-anything-drawio --project 购物流程.drawio \
  connect add 支付节点ID 失败节点ID --label "失败"

连线样式有四种,记住这两个就够用了:

  • orthogonal:直角折线,正式场合首选,流程图标配
  • curved:弧线,画"失败重试"这种回头箭头不会乱穿

第四步:导出 PNG

cli-anything-drawio --project 购物流程.drawio \
  export render 购物流程.png -f png --crop --scale 2 --overwrite

--crop 把空白边距裁掉,--scale 2 出 2 倍清晰度, 丢进 PPT 或者发给开发同学,效果一点不比手画差。


等等,这里有个问题

你可能会想:"AI 去哪里知道节点的 x/y 坐标该怎么放?"

这是坐标管理问题,也是 CLI 方式相比直接生成 XML 的一个真实挑战。 好消息是,这个问题对 AI Agent 来说很容易解决:

图3:AI Agent 画图的标准节奏,坐标按顺序递增,简单又可靠

图3:AI Agent 画图的标准节奏,坐标按顺序递增,简单又可靠

垂直流程图最简单:x 固定,y 从 40 开始每步加 120。 AI 完全可以自己算,不需要人介入。


进阶:样式定制

图画好了,但全是灰色方块不够好看? shape style 命令可以改颜色:

# 把开始/结束节点改成绿色
cli-anything-drawio --project 购物流程.drawio \
  shape style v_开始ID fillColor "#d4edda"

# 把支付判断菱形改成橙色,突出重要性
cli-anything-drawio --project 购物流程.drawio \
  shape style v_支付判断ID fillColor "#fff3cd"

# 加粗边框
cli-anything-drawio --project 购物流程.drawio \
  shape style v_某个ID strokeWidth "2"

常用样式属性速查:

属性含义示例值
fillColor填充色#dae8fc(蓝)#d4edda(绿)#fff3cd(黄)
strokeColor边框色#333333
fontSize字体大小14
fontStyle字体样式1=粗体 2=斜体
shadow阴影1=开启

撤销?有的

画错了不用从头来:

cli-anything-drawio --project 购物流程.drawio session undo

最多支持 50 步撤销,底层是 XML 快照栈。 在 REPL 交互模式下直接输入 undo 也行。


它能画哪些图?

只要是 draw.io 支持的图形结构,理论上都能用 CLI 搭出来:

图4:CLI 能覆盖的图形类型,基本涵盖了技术团队的日常需求

图4:CLI 能覆盖的图形类型,基本涵盖了技术团队的日常需求

唯一的限制是:「坐标要自己管,没有自动布局」。 对于 AI Agent 来说不是问题,对于手撸的人来说, 复杂图形还是在 GUI 里拖拽更省心。


回到那个产品经理的场景

用了 cli-anything-drawio 之后:

你:"帮我画一张电商购物流程图" AI:新建画布 → 添加 18 个节点 → 连接 17 条箭头 → 导出 PNG 「30 秒后」 AI:"图已生成:购物流程.png"

全程没有截图,没有坐标猜测,没有"点错了重来"。 每一步操作都有 JSON 反馈,AI 知道自己做了什么, 出了问题也能精确定位并修复。

这才是 AI 操作软件应该有的方式——「不是模拟人点鼠标,而是直接调用能力」


总结:三句话记住它

  1. 「装它」pip install cli-anything-drawio,一行搞定
  2. 「用它」project newshape addshape listconnect addexport render
  3. 「给 Agent 用」:加 --json 拿结构化返回,坐标按顺序算,导出 PNG 交差

流程图不再是产品经理的噩梦,也不再是 AI Agent 的「蒙眼打靶」。