主题
技术文档作图(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 DSL | Mermaid 不支持泳道,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 是同时含三种图的完整样例。
配套用法
- 用本技能选型 + 写图 → 2. 用 magic-debug 的
md(path)看渲染效果 (返回渲染统计:目录项数 / 各类图数量,据它判断图到底渲出来没有)→ 3. 用 md-to-word 导出.docx。