关于 cli-anything-drawio
cli-anything-drawio 是用于创建、编辑和导出 Draw.io 图表的命令行工具,适合需要通过命令或交互式 REPL 操作图表的用户和 Agent。
主要功能
- 01创建和管理图表项目
- 02添加并编辑图形与连接线
- 03管理页面及会话历史
- 04导出为 PNG、PDF 或 SVG
- 05支持易读文本和 JSON 输出
适用场景
- 01在命令行工作流中创建图表
- 02调整图形、标签和连接关系
- 03导出图表以供分享或发布
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-drawio安装后在 Claude Code 中输入/cli-anything-drawio确认已加载。
详细介绍
cli-anything-drawio
一个面向 Draw.io 的 CLI 工具集——从命令行创建、编辑和导出图表。
安装
此 CLI 作为 cli-anything-drawio 包的一部分安装:
pip install cli-anything-drawio
前置条件:
- Python 3.10+
- 系统上必须安装 drawio
用法
基本命令
# Show help
cli-anything-drawio --help
# Start interactive REPL mode
cli-anything-drawio
# Create a new project
cli-anything-drawio project new -o project.json
# Run with JSON output (for agent consumption)
cli-anything-drawio --json project info -p project.json
REPL 模式
在不带子命令调用时,CLI 会进入交互式 REPL 会话:
cli-anything-drawio
# Enter commands interactively with tab-completion and history
命令组
Project
项目管理:new、open、save、info。
| 命令 | 描述 |
|---|---|
new | 创建一个新的空白图表 |
open | 打开现有的 .drawio 项目文件 |
save | 保存当前项目 |
info | 显示详细的项目信息 |
xml | 打印当前项目的原始 XML |
presets | 列出可用的页面尺寸预设 |
Shape
形状操作:add、remove、move、resize、style。
| 命令 | 描述 |
|---|---|
add | 向图表中添加一个形状 |
remove | 按 ID 移除一个形状 |
list | 列出页面上的所有形状 |
label | 更新形状的标签文本 |
move | 将形状移动到新坐标 |
resize | 调整形状大小 |
style | 为形状设置样式属性 |
info | 显示形状的详细信息 |
types | 列出所有可用的形状类型 |
Connect
连接线操作:add、remove、style。
| 命令 | 描述 |
|---|---|
add | 在两个形状之间添加一条连接线 |
remove | 按 ID 移除一条连接线 |
label | 更新连接线的标签 |
style | 为连接线设置样式属性 |
list | 列出页面上的所有连接线 |
styles | 列出可用的边样式 |
Page
页面操作:add、remove、rename、list。
| 命令 | 描述 |
|---|---|
add | 添加一个新页面 |
remove | 按索引移除一个页面 |
rename | 重命名一个页面 |
list | 列出所有页面 |
Export
导出操作:渲染为 PNG、PDF、SVG。
| 命令 | 描述 |
|---|---|
render | 将图表导出到文件 |
formats | 列出可用的导出格式 |
Session
会话管理:status、undo、redo。
| 命令 | 描述 |
|---|---|
status | 显示当前会话状态 |
undo | 撤销上一步操作 |
redo | 重做上一次撤销的操作 |
save-state | 将会话状态保存到磁盘 |
list | 列出所有已保存的会话 |
示例
创建新项目
创建一个新的 drawio 项目文件。
cli-anything-drawio project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-drawio --json project new -o myproject.json
交互式 REPL 会话
启动一个支持撤销/重做的交互式会话。
cli-anything-drawio
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
导出项目
将项目导出为最终输出格式。
cli-anything-drawio --project myproject.json export render output.pdf --overwrite
状态管理
CLI 通过以下方式维护会话状态:
- 撤销/重做:最多 50 级历史记录
- 项目持久化:将项目状态保存/加载为 JSON
- 会话跟踪:跟踪修改和变更
输出格式
所有命令都支持双输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):供 Agent 使用的结构化 JSON
# Human output
cli-anything-drawio project info -p project.json
# JSON output for agents
cli-anything-drawio --json project info -p project.json
面向 AI Agent
以编程方式使用此 CLI 时:
- 始终使用
--json标志以获得可解析的输出 - 检查返回码——0 表示成功,非零表示出错
- 解析 stderr以获取失败时的错误消息
- 对所有文件操作使用绝对路径
- 导出操作后验证输出是否存在
更多信息
- 完整文档:参见包中的 README.md
- 测试覆盖率:参见包中的 TEST.md
- 方法论:参见 cli-anything-plugin 中的 HARNESS.md
版本
1.0.0
评论
支持 Markdown