核心用法
arch-diagrammer 是一款面向技术架构师与研发团队的专业制图技能,提供两大产出模式:
模式一:纯SVG分层架构图(推荐)
直接生成可离线使用的SVG代码,无需外部渲染依赖。支持11+种精心设计的视觉风格:
- 商务风格:blue(深蓝商务)、gray(简约灰阶)、mono(极简黑白)
- 科技风格:cyber(黑底霓虹)、dark(GitHub Dark)、ocean(海洋蓝绿)
- 创意风格:handdrawn(手绘草稿)、morandi(莫兰迪复古)、purple(紫色高端)
- 场景适配:green(环保主题)、orange(活力营销)、tailwind(多色层级)
模式二:DSL + Kroki渲染
支持Mermaid、PlantUML、Graphviz等28种图形DSL,通过Kroki服务或本地CLI渲染为SVG/PNG/PDF/HTML。特别内置C4-PlantUML支持,无需额外引用即可绘制C4架构图。
显著优点
1. 中文原生优化:强制UTF-8声明,推荐XML数字字符引用编码,彻底解决SVG中文乱码问题
2. 精准布局控制:分层容器动态高度、模块间距精确到像素级,避免重叠与视觉混乱
3. 灵活的连接策略:只画关键依赖,允许独立模块存在,同层支持并排多组布局
4. 完整的质量闭环:内置自检清单、版式检查、编码检查三重保障
5. 工程化友好:提供Python渲染脚本、JSON API模式、本地Mermaid CLI降级方案
潜在局限
- Kroki依赖风险:公共服务可能限流(403),需配置私有实例或切换本地渲染
- SVG复杂度上限:极大规模架构图可能面临浏览器性能瓶颈
- 风格学习成本:11种风格的选择需要一定设计敏感度
- C4宏版本锁定:Kroki内置C4库版本可能滞后于官方最新版
适合人群
- 系统架构师:绘制技术全景图、分层架构方案
- 技术负责人:方案评审、跨团队技术沟通
- DevOps工程师:部署拓扑、网络架构可视化
- 产品经理:业务架构说明、技术边界澄清
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 渲染服务不可用 | Kroki公共实例限流或宕机 | 配置`KROKI_URL`环境变量指向私有实例,或切换`--json`模式/本地Mermaid CLI |
| 中文显示异常 | 编码声明缺失或混合编码 | 强制`<?xml encoding="UTF-8"?>`,优先使用XML数字字符引用 |
| 布局重叠 | 层数过多或模块密集 | 动态调整画布高度,预留8-16px安全间距,必要时拆分视图 |
| 敏感信息泄露 | 架构图包含内部系统细节 | 输出前人工审核,避免在公共Kroki实例渲染涉密内容 |