Skip to content

技术文档作图(tech-diagrams) ​

写技术方案时,图是最容易翻车的部分:流程图硬塞进架构图的形状里、泳道图发现 Mermaid 根本不支持、 架构图用 Mermaid 排了半天还是一团乱。tech-diagrams 就管一件事——选对作图方式,并按规范写出来。

它只管图,不管文档行文与结构。产出的图由 md-to-word 渲染进 Word。

安装 ​

从 magic-skills 合集里只装本技能和它出图要用的 md-to-word(--only tech-diagrams,md-to-word,不会连带装 magic-stack 引擎、hook 等其它技能;本技能是纯文档技能,装到 ~/.claude/skills/tech-diagrams)。 两种源二选一,装出来的东西完全一样:

外网(任意机器)

bash
curl -fsSL http://maven.vv.yunku.live/repository/raw-releases/magic-skills/latest/install-bootstrap.sh | bash -s -- --only tech-diagrams,md-to-word

内网(能直连 172.16.2.100,更快)

bash
curl -fsSL --noproxy '*' http://172.16.2.100:8081/repository/raw-releases/magic-skills/latest/install-bootstrap.sh | bash -s -- --only tech-diagrams,md-to-word
  • --noproxy '*' 用于绕开本机 socks 代理(all_proxy),否则裸 curl 会被代理劫持、连不上内网。
  • 本技能没有独立安装包,随合集发布;--only 让合集安装器只装列出的技能。带上 md-to-word 是因为泳道图、架构图要靠它渲染进 docx / 预览;只要选型与模板文档可以只写 --only tech-diagrams。
  • 前置依赖、升级、卸载见安装整套技能。

选型表(核心) ​

一句话原则:能用 Mermaid 就别手写 SVG;架构图别硬塞 Mermaid;泳道图用 lanes。

图类型用什么原因
流程图Mermaid flowchart生态成熟、可 diff、好维护
时序图Mermaid sequenceDiagram标准语法、节点自动对齐
状态图Mermaid stateDiagram-v2支持嵌套状态与转换标签
类图 / ER 图 / 甘特图Mermaid classDiagram / erDiagram / gantt声明式、关系完备
架构图 / 部署图 / 拓扑图HTML 模板(figure:arch 标记)自由排版、分组框、圆柱体、任意连线——Mermaid 表达不了
泳道图(跨职能流程图)lanes DSLMermaid 不支持泳道,lanes 专为此设计

三种写法 ​

Mermaid — 直接写 ```mermaid 代码块,离线渲染。

lanes 泳道图 — 写 ```lanes 代码块,纯 JS 布局成 SVG:

markdown
```lanes
direction: vertical
title: 报销审批
lane 员工: 提交申请 -> 补充材料
lane 主管: 审批
lane 财务: 打款
```

完整语法(方向、标题、分支、汇聚、样式)见技能目录的 lanes-dsl.md。

HTML 架构图 — 用标记包裹裸 HTML,浏览器截图成 PNG:

html
<!-- figure:arch -->
<div style="…">…你的架构图 HTML…</div>
<!-- /figure -->

⚠️ 必须用标记包裹。不包的话 md-to-word 只会把它当普通 HTML 提取文字,图就没了。

现成的架构图模板 ​

技能目录 templates/ 下有可直接改的 HTML 模板:

模板画什么
arch-layered-stack.html分层技术栈(上下分层)
arch-layered-service.html分层服务架构(层内多服务块)
arch-deployment-topology.html部署拓扑(机器 / 容器 / 网络边界)
arch-integration.html系统集成(外部系统 + 接口流向)
arch-business.html业务架构(域 / 能力分块)

examples/sample-doc.md 是同时含三种图的完整样例。

配套用法 ​

  1. 用本技能选型 + 写图 → 2. 用 magic-debug 的 md(path) 看渲染效果 (返回渲染统计:目录项数 / 各类图数量,据它判断图到底渲出来没有)→ 3. 用 md-to-word 导出 .docx。