cli-anything-mermaid 是一个命令行工具,作为 Mermaid Live Editor 的 CLI 接口,用于创建、编辑和渲染 Mermaid 图表。它通过有状态的项目文件和 mermaid.ink 渲染服务工作,面向需要在不使用图形界面的情况下生成流程图、时序图及其他可视化的 AI 智能体和高级用户。
安装
该 CLI 作为 cli-anything-mermaid 包的一部分安装:
pip install cli-anything-mermaid
前置条件:
- Python 3.10+
- 无需外部软件(渲染使用 mermaid.ink 云服务)
使用方式
基本命令:
显示帮助
cli-anything-mermaid --help
启动交互式 REPL 模式
cli-anything-mermaid
创建新项目
cli-anything-mermaid project new -o diagram.json
以 JSON 输出运行(供智能体消费)
cli-anything-mermaid --json project info
REPL 模式:不带子命令调用时,CLI 进入交互式 REPL 会话,支持 Tab 补全和历史记录。
命令组
Project(项目)
项目生命周期命令:
- new:创建新的 Mermaid 项目,可选示例预设和主题
- open:打开现有 Mermaid 项目文件
- save:将当前项目保存到文件
- info:显示当前项目信息
- samples:列出可用的示例图表预设
Diagram(图表)
图表源码操作命令:
- set:替换 Mermaid 源码文本(内联或从文件)
- show:打印当前 Mermaid 源代码
Export(导出)
渲染和分享命令:
- render:通过 mermaid.ink 将图表渲染为 SVG 或 PNG
- share:生成用于分享的 Mermaid Live Editor URL
Session(会话)
会话状态命令:
- status:显示当前会话状态
- undo:撤销上一次图表源码更改
- redo:重做上一次撤销的更改
示例
创建并渲染流程图:
创建带流程图示例的项目
cli-anything-mermaid project new --sample flowchart -o flow.json
替换图表源码
cli-anything-mermaid --project flow.json diagram set --text "graph TD; A-->B; B-->C;"
渲染为 SVG
cli-anything-mermaid --project flow.json export render output.svg --format svg
创建时序图:
创建带时序图示例的项目
cli-anything-mermaid project new --sample sequence -o seq.json
从文件设置图表
cli-anything-mermaid --project seq.json diagram set --file my_diagram.mmd
渲染为 PNG
cli-anything-mermaid --project seq.json export render output.png --format png
分享图表:
生成可编辑的 Mermaid Live URL
cli-anything-mermaid --project flow.json export share --mode edit
生成仅查看 URL
cli-anything-mermaid --project flow.json export share --mode view
交互式 REPL 会话示例:
cli-anything-mermaid
new flowchart
set graph TD; A-->B; B-->C;
render output.svg
share
quit
状态管理
CLI 维护会话状态,包括:
- 撤销/重做:还原或重放图表源码更改
- 项目持久化:将项目状态保存/加载为 JSON
- 会话跟踪:跟踪修改和变更
输出格式
所有命令支持双输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(--json 标志):结构化 JSON,供智能体消费
人类输出
cli-anything-mermaid project info
供智能体的 JSON 输出
cli-anything-mermaid --json project info
面向 AI 智能体
以编程方式使用此 CLI 时:
- 始终使用 --json 标志以获得可解析输出
- 检查返回码——0 表示成功,非零表示错误
- 失败时解析 stderr 获取错误消息
- 所有文件操作使用绝对路径
- 渲染操作后验证输出文件存在
更多信息
- 完整文档:见包内 README.md
- 测试覆盖:见包内 TEST.md
- 方法论:见 cli-anything-plugin 中的 HARNESS.md
版本:1.0.0