API Server
- port 8080
- rate limit 100/s
```
}
formula: {
label: |
latex y = \alpha x + \beta
}
snippet: {
label: |
code if err != nil { panic(err) }
}
其渲染链路位于 <a href="https://link.gitcode.com/i/857559729c9ff282c51c5790660efedb" target="_blank">d2renderers/d2scenebuild/markdown.go</a>、<a href="https://link.gitcode.com/i/5aae6bff4e84cbc19c4c8debc3823657" target="_blank">d2renderers/d2scenebuild/latex.go</a> 与 <a href="https://link.gitcode.com/i/382b2823c121f5f4b9cb796f3081f83b" target="_blank">d2renderers/d2scenebuild/code_shape.go</a>,与独立形状共享同一套文本测量与排版管线。
### 4.2 `shape: c4-person`
新增的 `shape: c4-person` 用于渲染 C4 模型规范中的人物形状(actor/person),与已有的 `shape: c4_component`、`shape: c4_container` 等构成完整的 C4 建模家族。实现位于 <a href="https://link.gitcode.com/i/559aea0629ab67b39e883c40a17e3145" target="_blank">lib/shape/shape_c4_person.go</a>:
```d2
user: {
shape: c4-person
label: End User
}
4.3 图标与连接标签改进
- 连接线可以包含图标:
a -> b: { icon: https://... }现在对边同样生效(此前图标仅限对象); - 图标支持
border-radius:对含图标的形状设置border-radius可以正常裁剪圆角,不再失效; - 连接标签水平内边距:渲染端为连接线标签增加了水平 padding,避免文字贴边,相关实现可参见 d2renderers/d2scenebuild/labels.go。
4.4 图例(Diagram Legends)
v0.7.0 实现了图例功能,核心代码在 d2renderers/d2scenebuild/legend.go。图例允许你在图中显式声明一组"标签 → 含义"的说明条目,常用于颜色编码(如"绿色 = 正常,红色 = 故障")或形状语义说明。结合本节能力,图例配合 c4-person、markdown 标签等新特性,可以产出更接近正式架构文档的图表。
五、CLI 改进:validate 命令、--omit-version 与 watch 模式
5.1 新增 validate 命令
d2 validate 只校验 D2 文本的语法与语义,不生成任何输出文件,适合在 CI 或编辑器保存钩子中做快速检查。命令分发逻辑位于 d2cli/main.go:
d2 validate input.d2 # 校验通过则静默退出(exit 0),失败则打印错误并返回非零码
配合 --watch 还可以对文件做持续校验。底层复用的是与 d2 编译相同的解析器(d2parser)与 IR 编译器(d2ir),因此校验结果与最终渲染前诊断一致。
5.2 --omit-version 标志
默认情况下,D2 生成的 SVG/PNG 会嵌入 D2 版本信息(便于溯源)。新增的 --omit-version 让输出文件不再包含版本号,适合对产物做字节级快照对比或对版本号敏感的发布流程:
d2 --omit-version input.d2 output.svg
标志定义在 d2cli/main.go(描述为 "omit D2 version from generated image")。
5.3 watch 模式忽略编辑器备份文件
d2 --watch 现在会忽略形如 foo.d2~ 的通用备份文件,以及 Helix、IntelliJ 等编辑器生成的临时备份,避免编辑器自动保存备份时触发无意义的重复渲染。备份文件识别逻辑位于 d2cli/watch.go,覆盖了 ~ 后缀、Helix 备份、IntelliJ 新旧备份等多种模式。
5.4 插件名大小写不敏感
指定布局插件时大小写不再敏感,d2 --layout ELK、d2 --layout elk、d2 --layout ElK 均可正常工作,减少命令行输入的踩坑概率。
六、编译器与解析器改进
6.1 link 支持根路径
对象的链接目标现在可以设置为根路径,例如:
homepage: {
link: /xyz
}
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust4.21 K637- DDeepSeek-V4.1-FlashDeepSeek-V4.1-Flash 是一个多模态混合专家(MoE)模型,拥有 5520 亿骨干参数,并支持最多一百万 token 的上下文长度。该模型原生支持图像和文本输入,并以自回归方式生成文本Python270
jforgamejforgame是一个一站式游戏服务器开发框架。包含游戏服务器开发所需要的各种组件,比如网关,socket服务端与客户端,自定义高效消息编解码,游戏热更新,游戏通用工具等等。包含游戏服,跨服,匹配服,后台管理系统等实现,同时提供大量业务案例以供学习。亦可用于其他socket应用,例如及时聊天等。Java321
fizz-gateway-nodeAn Aggregation API Gateway in Java . FizzGate 是一个基于 Java开发的微服务聚合网关,是拥有自主知识产权的应用网关国产化替代方案,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。Java220
certd开源SSL证书管理工具;全自动证书申请、更新、续期;通配符证书,泛域名证书申请;证书自动化部署到阿里云、腾讯云、主机、群晖、宝塔;https证书,pfx证书,der证书,TLS证书,nginx证书自动续签自动部署JavaScript220
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python300