Repolode
yuzutech

yuzutech/kroki

统一的 HTTP API,可将 PlantUML、Mermaid、D2、GraphViz 等文本描述的图表渲染为 SVG、PNG 等图片。

Star
4,374
Fork
323
未关闭 Issue
142
最近提交
昨天

这是什么?

Kroki 是一个网关服务,通过统一的 HTTP API 把文本描述的图表转换为图片。你无需为每种工具单独安装渲染器,只需把图表源码发送到同一个接口,并指定图表类型(如 PlantUML、Mermaid、Graphviz、Ditaa、Excalidraw、Vega-Lite)和输出格式。

服务端使用 Java 与 Vert.x 编写,可以以 Docker 镜像方式运行。请求既可以是 URL 编码的 GET 调用,也可以是 JSON 格式的 POST,或带 Accept 头的纯文本。Mermaid、BPMN、Excalidraw、diagrams.net 等渲染器以伴随容器运行,主服务通过环境变量与之连接。

项目支持 UML、C4、ERD、DBML、BPMN、时序图和网络图、时序与数据包图、字节布局图等多种图表类型,生成的图片可直接嵌入文档或网页。

核心功能

  • 01统一 API 支持多种图表描述语言
  • 02支持 GET(编码源码)、JSON POST 和纯文本输入三种请求方式
  • 03可输出 SVG、PNG 等图片格式
  • 04以 Docker 镜像运行,Mermaid、BPMN、Excalidraw 等可选伴随容器
  • 05通过环境变量配置与伴随服务的连接

适用场景

  • 在文档流水线中生成架构图或时序图
  • 把文本图表源码转换为图片,用于 wiki 或聊天工具
  • 为内部团队自建私有的图表渲染服务
  • 在 Web 应用中嵌入图表预览,无需在本地安装各类工具

快速上手

  1. 1

    使用 Docker 运行 Kroki 容器

    docker run -d -p 8000:8000 yuzutech/kroki
  2. 2

    可选:使用 docker-compose 启动 Mermaid、BPMN、Excalidraw 或 diagrams.net 的配套容器

    docker-compose up -d

使用前须知

  • 部分图表类型(如 Mermaid、BPMN 和 Excalidraw)需要额外启动配套容器。
  • diagrams.net 集成目前为实验性功能。

标签

常见问题

kroki 是什么?
统一的 HTTP API,可将 PlantUML、Mermaid、D2、GraphViz 等文本描述的图表渲染为 SVG、PNG 等图片。 Kroki 是一个网关服务,通过统一的 HTTP API 把文本描述的图表转换为图片。你无需为每种工具单独安装渲染器,只需把图表源码发送到同一个接口,并指定图表类型(如 PlantUML、Mermaid、Graphviz、Ditaa、Excalidraw、Vega-Lite)和输出格式。
kroki 可以免费使用吗?用的什么许可证?
kroki 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
kroki 还在维护吗?
活跃维护中。kroki 最近一次提交是在 2026年10月20日。
kroki 适合用来做什么?
在文档流水线中生成架构图或时序图 把文本图表源码转换为图片,用于 wiki 或聊天工具 为内部团队自建私有的图表渲染服务 在 Web 应用中嵌入图表预览,无需在本地安装各类工具
kroki 怎么安装和运行?
使用 Docker 运行 Kroki 容器: docker run -d -p 8000:8000 yuzutech/kroki 可选:使用 docker-compose 启动 Mermaid、BPMN、Excalidraw 或 diagrams.net 的配套容器: docker-compose up -d
在哪里获取 kroki?
源代码和安装说明在 GitHub 上:https://github.com/yuzutech/kroki

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目