mcpField
C
cli-anything-drawio

cli-anything-drawio

github.com/hkuds设计与 UI57.6k682 次安装5 周前更新
代码仓库

关于 cli-anything-drawio

cli-anything-drawio 是用于创建、编辑和导出 Draw.io 图表的命令行工具,适合需要通过命令或交互式 REPL 操作图表的用户和 Agent。

主要功能

  1. 01创建和管理图表项目
  2. 02添加并编辑图形与连接线
  3. 03管理页面及会话历史
  4. 04导出为 PNG、PDF 或 SVG
  5. 05支持易读文本和 JSON 输出

适用场景

  1. 01在命令行工作流中创建图表
  2. 02调整图形、标签和连接关系
  3. 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 时:

  1. 始终使用 --json 标志以获得可解析的输出
  2. 检查返回码——0 表示成功,非零表示出错
  3. 解析 stderr以获取失败时的错误消息
  4. 对所有文件操作使用绝对路径
  5. 导出操作后验证输出是否存在

更多信息

  • 完整文档:参见包中的 README.md
  • 测试覆盖率:参见包中的 TEST.md
  • 方法论:参见 cli-anything-plugin 中的 HARNESS.md

版本

1.0.0

评论

支持 Markdown