GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式

还在用 Visio、draw.io 一点点拖组件?还在改架构图时"线全乱了"?现在,越来越多开发者开始用一种"写代码生成架构图"的方式来画图。它叫 D2,一个由 Go 编写、开源、现代化的 Diagram DSL。

你只需要写:

d2 复制代码
api -> service -> mysql

它就能自动生成一张漂亮的架构图。

更离谱的是:

  • 支持自动布局
  • 支持主题美化
  • 支持 SVG / PNG / PDF 导出
  • 支持 VSCode
  • 支持实时预览
  • 支持代码版本管理
  • 支持大型系统架构图
  • 甚至还能"手绘风"

D2 是什么?

Terrastruct 开源的一个现代化 Diagram Language(图形脚本语言)。

项目地址:

terrastruct/d2 GitHub 仓库

官方介绍:

"A modern diagram scripting language that turns text to diagrams."

简单说你写文本它自动生成图。

D2 如何安装?

安装极其简单。

Go 安装

如果你本身就是 Go 开发者:

bash 复制代码
go install oss.terrastruct.com/d2@latest

Linux / MacOS

直接:

bash 复制代码
curl -fsSL https://d2lang.com/install.sh | sh -s --

安装完成后 d2 --version 能够获取到版本信息说明安装成功了

Windows 安装

推荐:

  • Scoop
  • Chocolatey
  • 或下载 Release

也可以直接用 Go 安装。

第一个 D2 示例

创建 hello.d2 文件,内容:

d2 复制代码
user -> api
api -> redis
api -> mysql

执行 d2 hello.d2 会自动生成 hello.svg 文件

开启实时预览

这是最爽的模式。

d2 复制代码
d2 --watch hello.d2

然后浏览器自动打开,你改代码图自动刷新,开发体验非常丝滑。

微服务架构

d2 复制代码
direction: right

vars: {
  d2-config: {
    theme-id: 300
  }
}

Client: {
  shape: person
}


Client -> gateway

gateway -> user-service
gateway -> order-service
gateway -> pay-service

user-service -> mysql
order-service -> mysql
pay-service -> redis

D2 的高级玩法

真正厉害的地方来了。

1. 自定义 Shape

d2 复制代码
db: {
  shape: cylinder
}

数据库会自动变成圆柱体。

2. 人物节点

d2 复制代码
user: {
  shape: person
}

3. 云服务图标

支持:

  • AWS
  • Kubernetes
  • 网络结构
  • 云原生组件

4. 多层嵌套

d2 复制代码
cloud: {
  vpc: {
    subnet: {
      api
    }
  }
}

可以直接表达 层级架构

5. 手绘风

d2 复制代码
vars: {
  d2-config: {
    sketch: true
  }
}

6. 主题系统

官方内置很多主题,比如:

makefile 复制代码
theme-id: 300

可以快速切换:

  • 科技风
  • 深色风
  • 极简风
  • 手绘风

官方示例图:

结语

过去程序员画图像美工,现在程序员画图终于像写代码了。而 D2正在把"架构图"真正带入工程化时代。

如果你:

  • 讨厌拖图
  • 讨厌改布局
  • 想把图纳入 Git
  • 想让 AI 自动生成架构图
  • 想做真正可维护的系统文档

那 D2 非常值得你认真试试。

相关推荐
阳光是sunny4 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
灯澜忆梦4 小时前
GO_并发编程---定时器
开发语言·后端·golang
阳光是sunny4 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
皮皮林5514 小时前
开源实力派,给本地 AI 装上深度调研能力,一张 3090 跑到 95.7 分!
后端
努力的小雨5 小时前
把 Windows 桌面图标做成一个会自己运转的小世界
后端
武子康5 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
腾渊信息科技公司6 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
IT_陈寒7 小时前
Vue这个特性差点让我加班到凌晨,谁懂啊
前端·人工智能·后端
段一凡-华北理工大学7 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
码事漫谈8 小时前
1999年的电商前夜和2026年的AI前夜 历史押韵但从不重复
后端