每个团队都有一张架构图,以及一个没人敢信的架构图——画的时候是对的,三个月后代码早变了样,图还留在 wiki 里骗新人。LikeC4 要解决的就是这件事:架构图用代码写,跟代码一起进 git,图永远是新的。GitHub 5.8k star,MIT 协议。
地址:github.com/likec4/likec4,官网 likec4.dev,有中文文档和在线 playground,不想装也能先玩。
长什么样
它的灵感来自 C4 模型和 Structurizr DSL,但没那么死板:元素类型、表示法、嵌套层级都能自己定。写出来大概这样:
model {
customer = actor 'Customer'
cloud = system 'Our SaaS' {
ui = component 'Frontend'
api = component 'Backend'
ui -> api 'requests'
}
customer -> ui
}
然后 npx likec4 start 起个本地预览,图是交互式的:点进 system 看里面的 component,再点看更细,缩放到哪一层,细节跟到哪一层。一套模型,多套视图(views),给老板看一张,给开发看另一张,数据源是同一份。
跟 draw.io / Mermaid 比,好在哪
draw.io 是画布,画完即巅峰,改起来全靠手,review 靠肉眼。Mermaid 是文本,能进 git,但表达能力到系统级就捉襟见肘,样式也调不动。LikeC4 卡在中间:文本建模 + 专业渲染。
几件 Mermaid 干不了的事:自定义元素和关系类型(比如区分同步调用、异步事件、定时任务,线上画出来就是不同的线型);架构规则校验(比如“前端不许直连数据库”,写进模型里,CI 直接拦);视图按需裁剪(同一个模型,给安全团队看数据流视图,给产品看系统上下文)。图能当文档,也能当测试。
落地姿势
最轻的是 VS Code 插件,装完写 DSL 实时预览,顺手。团队用建议起个模板仓库(官方给了 likec4/template,还有一键 StackBlitz),架构模型单独一个 repo,npx likec4 build 导出静态站,挂到内网,地址往 README 一贴,全组统一入口。
分享也方便:Vite 插件、React 组件、Web Components 都能嵌,把交互式架构图直接塞进技术文档和官网。改架构先改模型再提 PR,review 的时候图的变化一目了然——这才是“架构即代码”该有的样子。
AI 时代的小惊喜
它的 DSL 是声明式的、结构高度规整,AI agent 天生读得懂。官方还做了 MCP server,Claude Code 这类助手可以直接查你的架构模型:“这个请求链路经过哪些服务”“用户下单调了几个组件”,agent 对着模型回答,不用再翻三份过期的 wiki。对正在搞 AI 辅助研发的团队,这可能是比画图本身更大的价值:架构第一次有了机器可读的唯一真相源。
适合谁
微服务拆到十几个以上、画图靠吼的团队,第一个吃螃蟹效果最明显。写技术方案、做布道、给客户讲系统,拿交互式视图也比贴静态 PNG 有说服力。个人用来整理 side project 的架构也不错,反正 DSL 几分钟就能上手,照着 tutorial 走一遍就会。
不适合的场景也直说:三五个人的小项目、架构三个月一变但没人维护文档的,先别折腾工具,把“改代码顺手改模型”这条纪律立起来比什么都重要。工具解决的是表达和同步问题,解决不了没人写文档的问题。
