📌 项目地址:likec4/likec4 | ⭐ 4,182
颗星 | 🔧 TypeScript | 📜 未标注
LikeC4 是什么?
LikeC4 是一套建模语言和配套的图表生成工具。你在 .c4
文件里用 DSL 描述软件架构,然后运行
npx likec4 start,浏览器里就能看到实时更新的交互式图表。模型改了,图表跟着改,不用再手动更新
Visio 或 Draw.io。
和 C4 模型(Context/Container/Component/Code)一脉相承,但 LikeC4
不强制你遵守那四层。它允许你自定义符号、元素类型,以及任意数量的嵌套层级。比如你可以定义自己的“消息队列”或“外部
API”元素,把系统拆成五层、六层,只要你的团队看得懂就行。
项目用 TypeScript 写的,当前 GitHub 上有 4182 个 Star,MIT
许可证。
和 Structurizr 的区别在哪?
Structurizr 是 C4 模型最经典的实现,但它的 DSL
和工具链绑定较死。LikeC4 给了更多自由度:
| 特性 | LikeC4 | Structurizr DSL |
|---|---|---|
| 层级数量 | 任意嵌套,不限 | 固定四层(Context/Container/Component/Code) |
| 元素符号和样式 | 完全自定义 | 基本可配置,但受 C4 语义限制 |
| 图表生成方式 | 本地 CLI 启动预览,实时更新 | 需通过 Structurizr 桌面端或在线服务 |
| 许可证 | MIT | 核心库开源,企业功能需付费 |
如果你的团队觉得 C4
的严格分层太束缚,或者你想给微服务项目的消息队列、API
网关画专用元素,LikeC4 比 Structurizr
更合适。反过来,如果你希望用一套强制标准减少争议,Structurizr
可能更省心。
怎么开始用?
安装 Node.js 后,在项目目录里建一个 .c4 文件(比如
model.c4),然后跑:
npx likec4 start
这条命令会启动本地开发服务器,解析 DSL
生成图表并在浏览器里展示。你编辑文件,页面会自动刷新。
官方提供了模板仓库 likec4/template 和在线
Playground playground.likec4.dev,不需要装东西就能试语法和看效果。此外还有一份
Tutorial,半小时能读完,适合零基础。
更完整的用法(比如导出静态 HTML、集成 CI/CD)要看官方文档。
社区和贡献
项目在 Discord 和 GitHub Discussions 上维护。遇到问题首选去 Discord 问,通常回复快。GitHub
Discussions 适合提建议或讨论。
如果你想参与开发,看 CONTRIBUTING.md。项目依赖社区赞助,可以通过
OpenCollective 或 GitHub Sponsors 支持。
几点注意
- 项目还处于活跃开发阶段,CLI
参数和文档可能会变,以官方文档为准。 - DSL 语法不难,但需要花点时间熟悉。官方教程大约 30
分钟能过一遍,之后就能直接用。 - MIT 许可证,商用、修改都没问题。