运行时依赖
安装命令
点击复制本土化适配说明
PlantUML 安装说明: 安装命令:["openclaw skills install plantuml"] 该技能用于支付宝相关操作,可能需要相应的平台账号或API密钥
技能文档
PlantUML 图表生成一键命令 java -jar ~/tools/plantuml.jar -tpng -charset UTF-8 file.puml
前置条件 PlantUML jar: ~/tools/plantuml.jar Graphviz: 大多数图表类型所需。使用 dot -V 验证。 Java: 所需运行时。使用 java -version 验证。 如果缺少 Graphviz,序列图仍可渲染(它们使用内置的 lambda 渲染器),但其他图表类型将失败。
快速开始 编写 .puml 源文件 生成图像:java -jar ~/tools/plantuml.jar -tpng -charset UTF-8 .puml PlantUML 使用 @startuml 后面的单词作为输出文件名(例如,@startuml MyDiagram → MyDiagram.png) 复制到外发媒体目录并通过消息工具发送 — OpenClaw 将自动处理路径解析
图表类型和语法 请参阅 references/syntax-guide.md 以获取每种图表类型的详细语法。
用例图 @startuml DiagramName 左到右方向 skinparam packageStyle rectangle skinparam actorStyle awesome actor User actor Admin rectangle "系统名称" { 用例 "登录" 作为 UC1 用例 "执行某事" 作为 UC2 } User --> UC1 User --> UC2 UC2 .> UC1 : <> @enduml
类图 @startuml DiagramName skinparam classAttributeIconSize 0 抽象类 Shape { + draw(): void } 类 Circle {
- radius: double
序列图 @startuml DiagramName actor User participant ":系统" 作为 SYS User -> SYS : request() 激活 SYS SYS --> User : response() 停用 SYS alt 成功 SYS --> User : ok else 失败 SYS --> User : error end @enduml
活动图 @startuml DiagramName 开始:步骤 1; 如果(条件?)则(是):步骤 2a; 否则(否):步骤 2b; endif 停止 @enduml
状态图 @startuml DiagramName [] --> 空闲 空闲 --> 处理:开始 处理 --> 完成:完成 处理 --> 错误:失败 完成 --> [] 错误 --> [] @enduml
组件图 @startuml DiagramName 组件 [Web 应用] 作为 WA 组件 [API 服务器] 作为 API 接口 "REST API" 作为 REST WA -right- REST REST -right- API @enduml
部署图 @startuml DiagramName 节点 "Web 服务器" 作为 WS { 组件 [Web 应用] 作为 WA } 节点 "DB 服务器" 作为 DB { 数据库 [数据库] 作为 D } WA ..> D : JDBC @enduml
关键约定 文件命名:使用 kebab-case 命名 .puml 文件(例如,order-system-class.puml)。 图表标签:始终命名 @startuml — 这将成为输出文件名。 字符集:始终传递 -charset UTF-8 以支持 CJK 内容。 格式:默认为 -tpng。需要矢量输出时使用 -tsvg。 批处理:一次传递多个 .puml 文件以提高效率。 输出目录:默认为源文件所在目录。使用 -o
指定不同的输出目录。渲染和交付工作流 编写 .puml 到工作空间 运行:java -jar ~/tools/plantuml.jar -tpng -charset UTF-8 .puml 验证输出存在且大小非零 复制 PNG 到 /home/guoxh/.openclaw/media/outbound/(如果需要创建) 通过消息工具发送媒体参数 — OpenClaw 自动处理路径解析
故障排除 问题 解决方案 无法运行程序 "dot" Graphviz 未安装。序列图仍可工作;其他图表需要 apt install graphviz。 输出文件为空(0 字节) 可能是语法错误。使用 -v 标志运行以查看详细错误输出。 Smetana UnsupportedOperationException 避免 -Playout=smetana;使用 Graphviz 代替。 CJK 文本乱码 确保 -charset UTF-8 标志已设置且源文件为 UTF-8。 图像太大/太小 添加 -DPLANTUML_LIMIT_SIZE=16384 在 jar 之前,或在 puml 中使用 skinparam dpi 调整大小。
高级:输出大小控制 # 增加最大图像大小(默认 4096) java -DPLANTUML_LIMIT_SIZE=16384 -jar ~/tools/plantuml.jar -tpng -charset UTF-8 file.puml 在图表中:skinparam dpi 150