Communitygithub.com

cli-anything-drawio

一个用于 Draw.io 的命令行工具,可从终端创建、编辑和导出图表。

cli-anything-drawio 是什么?

cli-anything-drawio 是一个为 Draw.io 设计的命令行工具,让开发者和 AI 代理能够通过终端直接创建、编辑和导出图表。它支持交互式 REPL 模式、JSON 输出(适合程序化消费),并提供了丰富的命令组,包括项目管理、图形操作、连接器管理、页面管理和导出功能。该工具支持 Python 3.10+ 环境,并需要系统安装 drawio。其核心优势在于通过命令行的方式实现了图表操作的自动化,适合集成到 CI/CD 流水线或由 AI 代理(如 Claude Code、Cursor)调用。它还提供了撤销/重做(最多 50 级)、会话状态持久化以及机器可读的 JSON 输出,方便代理进行状态跟踪与错误处理。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-drawio

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

cli-anything-drawio 是做什么的?

一个用于 Draw.io 的命令行工具——从命令行创建、编辑和导出图表。

安装

该 CLI 作为 cli-anything-drawio 包的一部分安装:

pip install cli-anything-drawio

先决条件:

  • Python 3.10+
  • 系统上必须安装 drawio

用法

基本命令

# 显示帮助
cli-anything-drawio --help

# 启动交互式 REPL 模式
cli-anything-drawio

# 创建新项目
cli-anything-drawio project new -o project.json

# 以 JSON 输出运行(供代理使用)
cli-anything-drawio --json project info -p project.json

REPL 模式

当不带子命令调用时,CLI 会进入交互式 REPL 会话:

cli-anything-drawio
# 以交互方式输入命令,支持 Tab 补全和历史记录

命令组

项目 (Project)

项目管理:新建、打开、保存、信息。

命令描述
new创建新的空白图表
open打开现有的 .drawio 项目文件
save保存当前项目
info显示详细的项目信息
xml打印当前项目的原始 XML
presets列出可用的页面大小预设

图形 (Shape)

图形操作:添加、移除、移动、调整大小、样式。

命令描述
add向图表添加一个图形
remove按 ID 移除图形
list列出页面上的所有图形
label更新图形的标签文本
move将图形移动到新的坐标
resize调整图形大小
style设置图形的样式属性
info显示图形的详细信息
types列出所有可用的图形类型

连接器 (Connect)

连接器操作:添加、移除、样式。

命令描述
add在两个图形之间添加连接器
remove按 ID 移除连接器
label更新连接器的标签
style设置连接器的样式属性
list列出页面上的所有连接器
styles列出可用的边样式

页面 (Page)

页面操作:添加、移除、重命名、列表。

命令描述
add添加新页面
remove按索引移除页面
rename重命名页面
list列出所有页面

导出 (Export)

导出操作:渲染为 PNG、PDF、SVG。

命令描述
render将图表导出到文件
formats列出可用的导出格式

会话 (Session)

会话管理:状态、撤销、重做。

命令描述
status显示当前会话状态
undo撤销上次操作
redo重做上次撤销的操作
save-state将会话状态保存到磁盘
list列出所有保存的会话

示例

创建新项目

创建一个新的 drawio 项目文件。

cli-anything-drawio project new -o myproject.json
# 或者使用 JSON 输出以便程序化使用
cli-anything-drawio --json project new -o myproject.json

交互式 REPL 会话

启动支持撤销/重做的交互式会话。

cli-anything-drawio
# 以交互方式输入命令
# 使用 'help' 查看可用命令
# 使用 'undo' 和 'redo' 进行历史导航

导出项目

将项目导出为最终输出格式。

cli-anything-drawio --project myproject.json export render output.pdf --overwrite

状态管理

CLI 会维护会话状态,包括:

  • 撤销/重做:最多 50 级历史记录
  • 项目持久化:以 JSON 格式保存/加载项目状态
  • 会话跟踪:跟踪修改和变更

输出格式

所有命令均支持双输出模式:

  • 人类可读(默认):表格、颜色、格式化文本
  • 机器可读(--json 标志):结构化的 JSON,供代理使用
# 人类输出
cli-anything-drawio project info -p project.json

# 代理使用的 JSON 输出
cli-anything-drawio --json project info -p project.json

针对 AI 代理

在以编程方式使用此 CLI 时:

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

更多信息

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

版本

1.0.0

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

cli-anything-inkscape

>-

相关技能