使用Mermaid语法创建软件图表。当用户需要通过类图、时序图、流程图、ER图、C4架构图、状态图、Git图等创建、可视化或记录软件时使用。触发词包括绘制图表、可视化、建模、梳理结构或展示系统流程。
使用美人鱼的文字语法创建专业软件图
功能概述
使用美人鱼的文字语法创建专业软件图是一项面向实际任务的技能,主要用于美人鱼从简单的文字定义中生成图, 使图的版本可控, 容易 u。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Mermaid 图表
使用 Mermaid 的纯文本语法创建专业的软件图表。Mermaid 通过简洁的文本定义渲染图表,使图表具备版本可追踪性、易于更新,并能与代码一同维护。
安装
OpenClaw / Moltbot / Clawbot
npx clawhub@latest install mermaid-diagrams
核心语法
所有 Mermaid 图表均遵循以下结构:
diagramType definition content
关键原则:
- 首行声明图表类型(例如:
classDiagram、sequenceDiagram、flowchart) - 使用
%%添加注释 - 换行与缩进有助于提升可读性,但非必需
- 未识别的单词会导致图表解析失败;无效参数将静默忽略
图表类型选择
| 类型 | 适用场景 | 参考文档 |
|---|---|---|
| 类图(Class Diagrams) | 领域建模、面向对象设计、实体关系表达 | references/class-diagrams.md |
| 序列图(Sequence Diagrams) | API 流程、认证流程、组件间交互 | references/sequence-diagrams.md |
| 流程图(Flowcharts) | 业务流程、算法逻辑、决策树、用户旅程 | references/flowcharts.md |
| ERD(实体关系图) | 数据库 Schema、表间关系、数据建模 | references/erd-diagrams.md |
| C4 图(C4 Diagrams) | 系统上下文、容器、组件、整体架构 | references/c4-diagrams.md |
| 状态图(State Diagrams) | 状态机、生命周期状态 | — |
| Git 图(Git Graphs) | 分支策略 | — |
| 甘特图(Gantt Charts) | 项目时间线、任务排期 | — |
关于样式、主题及布局选项:参见 references/advanced-features.md
快速上手示例
类图(领域模型)
classDiagram
Title -- Genre
Title *-- Season
Title *-- Review
User --> Review : creates
class Title {
+string name
+int releaseYear
+play()
}
class Genre {
+string name
+getTopTitles()
}
序列图(API 流程)
sequenceDiagram
participant User
participant API
participant Database
User->>API: POST /login
API->>Database: Query credentials
Database-->>API: Return user data
alt Valid credentials
API-->>User: 200 OK + JWT token
else Invalid credentials
API-->>User: 401 Unauthorized
end
流程图(用户旅程)
flowchart TD
Start([User visits site]) --> Auth{Authenticated?}
Auth -->|No| Login[Show login page]
Auth -->|Yes| Dashboard[Show dashboard]
Login --> Creds[Enter credentials]
Creds --> Validate{Valid?}
Validate -->|Yes| Dashboard
Validate -->|No| Error[Show error]
Error --> Login
ERD(数据库 Schema)
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
PRODUCT ||--o{ LINE_ITEM : includes
USER {
int id PK
string email UK
string name
datetime created_at
}
ORDER {
int id PK
int user_id FK
decimal total
datetime created_at
}
最佳实践
- 从简单开始 — 先绘制核心实体或组件,再逐步补充细节
- 使用有意义的名称 — 清晰的标签让图表具备自解释性
- 充分添加注释 — 使用
%%注释说明复杂关系或设计意图 - 聚焦单一概念 — 每张图表只表达一个核心概念;大型图表应拆分为多个视角
- 纳入版本控制 — 将
.mmd文件与源码一同提交,便于协同更新 - 提供上下文 — 添加标题和说明文字,明确图表用途与范围
- 持续迭代 — 随着理解深入不断优化图表内容
配置与主题
可通过 frontmatter 进行图表配置:
---
config:
theme: base
themeVariables:
primaryColor: "#ff6b6b"
---
flowchart LR
A --> B
可用主题: default、forest、dark、neutral、base
布局选项:
layout: dagre(默认)—— 经典均衡布局layout: elk—— 面向复杂图表的高级布局引擎
外观选项:
look: classic—— 传统 Mermaid 风格look: handDrawn—— 手绘风格外观
渲染与导出
原生支持平台:
- GitHub / GitLab —— 在 Markdown 中自动渲染
- VS Code —— 安装 Markdown Mermaid 扩展后支持
- Notion、Obsidian、Confluence —— 内置 Mermaid 支持
导出方式:
- Mermaid Live Editor —— 在线编辑器,支持 PNG/SVG 导出
- Mermaid CLI ——
npm install -g @mermaid-js/mermaid-cli后执行mmdc -i input.mmd -o output.png
何时创建图表
务必在以下场景中绘制图表:
- 启动新项目或新功能时
- 记录复杂系统行为或结构时
- 阐述架构决策依据时
- 设计数据库 Schema 时
- 规划重构工作时
- 为新团队成员进行入职培训时
善用图表达成以下目标:
- 对齐各相关方对关键技术决策的理解
- 协作式地共同构建并维护领域模型
- 可视化数据流向与系统间交互关系
- 编码前先行设计与验证方案
- 构建随代码演进而同步更新的“活文档”
常见陷阱
- 非法字符 —— 避免在注释中使用
{};特殊字符需转义 - 语法错误 —— 拼写错误将导致图表无法渲染;建议在 Mermaid Live Editor 中实时校验
- 过度复杂 —— 复杂图表应拆解为多个聚焦明确的子图
- 遗漏关键关系 —— 必须体现所有重要实体间的关联
- 图表过时 —— 错误的图表比无图表更危险;系统变更后必须同步更新
绝对禁止事项
- 禁止创建节点数超过 15 个的图表 —— 此类图表难以阅读;应拆分为多个聚焦明确的子图
- 禁止使用无标签的连接线/箭头 —— 每条连线都应注明其代表的关系或数据流向
- 禁止创建无标题或无说明文字的图表 —— 缺乏上下文的图表仅对作者本人有意义
- 禁止将图表作为唯一文档形式 —— 必须搭配文字说明,阐释设计背后的“为什么”
- 禁止放任图表过时 —— 架构变更后必须及时更新图表;过时图表会产生误导
- 禁止使用 Mermaid 进行业务数据可视化 —— Mermaid 专用于架构图与流程图,不适用于商业数据图表(如柱状图、折线图等)
热门AI工具
相关专题
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。
0
2026.10.28
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.6万人学习
共6课时 | 54.7万人学习
最新文章