diagram-design 实战:用约束型规范让技术图会说话

1. 从一张草图到一套系统:diagram-design 到底在解决什么问题

第一次看到 “diagram-design” 这个标题,很多人会以为它只是教你怎么把图画得好看一点。但真正做过技术方案、写过设计文档、给团队讲过架构的人都知道,画图这件事从来不只是“美不美”的问题。一张图能不能把复杂系统讲清楚,能不能让产品、研发、测试、运维在同一个语境下对齐认知,能不能在三个月后自己回头看还能秒懂,这才是 diagram-design 的核心价值。

我做了十多年一线项目,画过的架构图、流程图、时序图、状态机图、部署图、数据流图加起来没有一千也有八百张。早期我也走过弯路:用绘图工具拖一堆方框和箭头,颜色花里胡哨,结果评审会上大家盯着图看了五分钟,问的第一个问题却是“这个箭头到底代表数据流还是控制流”。那一刻我才意识到,diagram-design 不是美术工作,而是信息设计。它要解决的是“把脑子里的结构,无损地搬到别人脑子里”这件事。

所以这篇内容适合三类人:第一类是需要频繁输出技术方案、系统设计、流程说明的工程师和架构师;第二类是需要用图跟非技术角色对齐需求的产品经理和项目负责人;第三类是想建立一套可复用、可维护、可协作的图表规范,让团队文档不再各画各的。无论你之前是用什么工具画图,只要你想让图真正“会说话”,diagram-design 这套思路都能直接抄作业。

2. 内容整体设计与思路拆解

2.1 为什么 diagram-design 要先定“信息层级”而不是先选工具

很多人一上来就问用什么工具画图,我的回答永远是:先别管工具。diagram-design 的第一步是确定信息层级。一张图里,哪些是核心实体,哪些是支撑组件,哪些是外部依赖,哪些是可选路径,这些如果不先想清楚,换什么工具都白搭。

我通常把图的信息分成三层。第一层是主叙事层,也就是这张图最想让读者记住的三到五个关键节点。第二层是关系层,描述这些节点之间怎么连接、方向如何、有没有条件分支。第三层是注释层,包括协议、端口、数据格式、异常说明、版本号等细节。主叙事层决定图的骨架,关系层决定图的逻辑,注释层决定图的可落地性。

为什么这个顺序不能反?因为一旦你先陷入注释层,比如纠结某个接口用 HTTP 还是 gRPC,图就会变得又大又碎,读者根本抓不住重点。我见过太多架构图,密密麻麻写满了技术栈,但看完不知道系统到底分几块、谁调用谁。这就是典型的“信息层级塌陷”。

提示:画图前先用一句话写下这张图的结论,比如“用户请求经过网关后由三个服务协同完成”。如果这句话写不出来,说明你还没想清楚,先别打开绘图工具。

2.2 方案选型背后的考量:为什么我最终偏向“约束型”图表规范

diagram-design 的另一个核心决策是:用自由画布还是用约束型规范。自由画布看起来很爽,想怎么摆就怎么摆,但团队协作时会迅速失控。A 同学用蓝色表示服务,B 同学用蓝色表示数据库,C 同学用蓝色表示外部系统,最后图例都救不回来。

我后来坚定选择约束型规范,原因有三个。第一,认知成本低。当颜色、形状、线型都有固定语义时,读者不需要每次重新学习图例,看一眼就能进入内容。第二,协作效率高。新人加入项目,只要给他一份规范,他画出来的图就能直接进文档,不需要反复返工。第三,维护成本低。系统演进时,你只需要改节点和连线,不需要重新设计视觉体系。

具体约束我一般这样定:矩形代表服务或模块,圆角矩形代表外部系统,圆柱代表数据存储,菱形代表判断或网关,虚线代表异步或可选路径,实线代表同步调用。颜色上最多用四种:主色表示核心链路,辅色表示支撑组件,灰色表示非重点,红色只用于异常或风险标注。这套规则不复杂,但足够覆盖百分之九十的技术图场景。

2.3 避免什么问题:diagram-design 最常见的三个反模式

第一个反模式是**“全家福图”**。一张图里塞了二十多个服务、三十多条连线,还附带数据库表结构和部署节点。这种图唯一的用途是证明作者很努力,但对读者毫无帮助。我的经验是,一张图只讲一个故事,超过十五个节点就该拆图。

第二个反模式是**“箭头无方向”**。很多图里的线没有箭头,或者箭头方向随意,读者只能靠猜。数据流、控制流、依赖关系、调用关系,这些语义必须通过线型和箭头明确区分。我通常要求:同步调用用实线箭头,异步消息用虚线箭头,数据流向用带标签的实线,依赖关系用无箭头虚线。

第三个反模式是**“图例失踪”**。有些图用了各种颜色和形状,但没有任何图例说明。作者自己记得,过两周自己都忘了。diagram-design 的硬性要求是:只要用了非默认视觉元素,就必须在图内或图下方给出图例。图例不是装饰,是图的字典。

3. 核心细节解析与实操要点

3.1 节点设计:一个方框里到底该写什么

节点是 diagram-design 的最小信息单元。我见过太多方框里写着“服务A”“模块B”“系统C”,这种命名等于没命名。一个好的节点标签应该包含三要素:角色、职责、边界。

比如“订单服务”不如“订单服务(创建/查询/取消)”,“用户中心”不如“用户中心(认证/授权/Profile)”。如果空间允许,我还会在节点下方用更小的字号标注技术栈或部署形态,比如“Spring Boot / 3 副本”。这样读者不用问就知道这个节点大概是什么。

但要注意,节点信息不能过载。一个方框里塞五行字,图就会变成文档。我的原则是:节点主标签不超过十二个字,副标签不超过一行。更多细节放到图外的说明表格里,或者用编号引用。

注意:节点命名要统一语言。要么全中文,要么全英文,不要中英混排。如果必须保留英文专有名词,首次出现时用括号注明中文含义。

3.2 连线设计:箭头、线型与标签的语义约定

连线是 diagram-design 里最容易出错的部分。我的实操要点是:每一条线都必须能回答“谁对谁、做什么、什么条件”。

同步调用:实线 + 实心箭头,标签写“调用”或具体接口名。异步消息:虚线 + 实心箭头,标签写“发送事件”或消息主题。数据流向:实线 + 空心箭头,标签写数据内容。依赖关系:虚线 + 无箭头,标签写“依赖”。条件分支:在连线旁标注条件,比如“库存充足”“支付成功”。

如果两条线交叉,尽量用跳线或者调整布局避免歧义。我试过在复杂图里用不同颜色区分不同链路的连线,效果很好,但前提是颜色数量不超过三种,否则读者会眼花。

还有一个细节:连线的标签位置要统一。我通常放在线的中点上方,如果线太短就放在右侧。不要一会儿左一会儿右,读者会找不到。

3.3 布局设计:从左到右、从上到下还是中心辐射

布局决定了读者的阅读路径。diagram-design 里我常用的布局有三种。从左到右适合流程和调用链,读者视线自然从左向右移动。从上到下适合层级结构和部署架构,上层是入口,下层是基础设施。中心辐射适合以某个核心组件为中心的生态图,但容易显得乱,慎用。

布局的核心原则是减少交叉线。如果发现连线大量交叉,说明布局需要调整,而不是加跳线硬撑。我通常会先把节点按依赖关系排成几列,再把连线尽量拉直。如果还是交叉,就考虑拆图。

另外,留白很重要。节点之间至少留一个节点宽度的间距,图边缘留出图例和标题的空间。拥挤的图会让读者产生压迫感,信息吸收率直线下降。

3.4 颜色与字体:少即是多的视觉纪律

颜色在 diagram-design 里只有一个作用:区分语义。我一般只用四种颜色:蓝色表示核心业务,绿色表示数据存储,橙色表示外部依赖,灰色表示非重点或待定。红色只用于异常路径或风险提示,且一张图里红色元素不超过两个。

字体方面,我坚持用无衬线字体,字号不超过三级。图标题最大,节点标签次之,注释最小。不要用斜体、下划线、艺术字,这些都会干扰阅读。加粗只用于强调关键节点,且一张图里不超过三个。

提示:如果你不确定颜色是否合适,把图转成灰度看一下。如果灰度下仍然能区分不同元素,说明你的设计是稳的。

4. 实操过程与核心环节实现

4.1 从需求到草图:我如何用十分钟完成一张图的骨架

接到画图需求后,我不会立刻打开工具。我先拿一张白纸,或者打开一个纯文本编辑器,用列表把关键节点写下来。比如要画一个订单系统,我会先写:用户、网关、订单服务、库存服务、支付服务、消息队列、订单库、库存库。

然后我用箭头把这些节点连起来,标上方向。这一步只关心逻辑,不关心美观。写完后再读一遍,问自己:这张图想说明什么?如果结论是“下单后库存和支付异步协同”,那消息队列就是重点,其他节点可以简化。

接下来才是打开绘图工具。我通常先用统一大小的方框把所有节点摆上去,再调整位置减少交叉,最后加连线和标签。整个过程控制在十分钟到二十分钟,超过这个时间说明信息层级没想清楚,需要回到第一步。

4.2 工具选型:不同场景下我用什么画 diagram-design

工具没有绝对好坏,只有适不适合。我按场景分三类。快速沟通用白板或在线白板工具,优势是快,劣势是不易维护。正式文档用支持代码化绘图的工具,比如用文本描述生成图表,优势是版本可控、可 diff、可复用。复杂架构用专业绘图工具,优势是布局自由、样式丰富,劣势是协作时需要统一规范。

我个人的主力方案是代码化绘图。原因很简单:图可以跟代码一起进版本库,改一行文本就能更新图,评审时直接看 diff。对于需要频繁迭代的系统设计,这比拖拽式工具高效太多。

但代码化绘图也有坑。第一,布局控制弱,复杂图可能需要手动调坐标。第二,样式定制麻烦,需要花时间调主题。第三,学习成本不低,新人需要一两天适应。所以我的建议是:简单图用代码化,复杂图用专业工具,临时沟通用白板。

4.3 参数与规范落地:我如何让团队统一 diagram-design 风格

团队统一风格不能靠喊口号,要靠可执行的规范。我一般会做三件事。第一,写一份一页纸的图表规范,包含形状语义、颜色语义、线型语义、字体字号、图例要求。第二,提供模板文件,新人直接复制模板改内容。第三,在代码评审或文档评审里加入图表检查项,不符合规范的图打回重画。

规范落地最大的阻力是“太麻烦”。我的应对方法是:先在小范围试点,收集反馈,把规范简化到最少必要规则。比如颜色从八种减到四种,形状从十种减到五种。规则越少,执行率越高。

还有一个技巧:把规范做成检查清单,而不是长篇文档。比如“节点标签是否包含角色和职责”“连线是否有方向和标签”“是否包含图例”“灰度下是否可读”。四条检查项,一分钟就能过一遍。

4.4 一张完整图的诞生:从草图到发布的全记录

我拿一个模拟项目举例。需求是画一张“用户下单到订单完成”的链路图。第一步,我列出节点:用户、API 网关、订单服务、库存服务、支付服务、消息队列、订单库、库存库、支付回调。第二步,我确定主叙事:用户请求经网关进入订单服务,订单服务同步扣减库存、异步发起支付,支付回调后更新订单状态。

第三步,布局。我把用户和网关放最左,订单服务居中,库存和支付放右侧,消息队列放订单服务下方,数据库放最右。第四步,连线。用户到网关用实线箭头标“下单请求”,网关到订单服务用实线箭头标“转发”,订单服务到库存服务用实线箭头标“扣减库存”,订单服务到消息队列用虚线箭头标“支付事件”,消息队列到支付服务用虚线箭头标“消费”,支付服务到订单服务用虚线箭头标“回调”。

第五步,加注释。在库存服务旁标注“乐观锁”,在支付服务旁标注“幂等”,在消息队列旁标注“至少一次投递”。第六步,加图例,说明实线、虚线、颜色的含义。第七步,灰度检查,确认可读。第八步,导出 PNG 和源文件,源文件进版本库,PNG 进文档。

整个过程大约四十分钟,其中二十分钟花在布局调整上。我的经验是,布局值得花时间,因为布局决定了图的可读性上限。

5. 常见问题与排查技巧实录

5.1 图太乱怎么办:三个立竿见影的整理手法

图太乱通常有三个原因:节点太多、连线太杂、注释太密。对应的整理手法是:拆图、分层、折叠。

拆图:把一张大图拆成多张小图,每张图讲一个子故事。比如把“整体架构”拆成“接入层”“业务层”“数据层”三张图。分层:用不同颜色或区域划分层次,比如上层是接入,中层是业务,下层是存储。折叠:把非重点节点合并成一个“其他服务”方框,需要时再展开。

我试过最有效的一招是“删节点”。把图里所有节点过一遍,问“没有它这张图还能讲清楚吗”。如果能,就删掉。通常删掉百分之三十的节点后,图会清爽很多。

5.2 读者看不懂怎么办:用“三秒测试”验证图的有效性

我有个习惯,图画完后找一个没参与项目的同事,让他看三秒,然后问他“这张图在讲什么”。如果他说不出来,说明图失败了。这个“三秒测试”非常残酷,但非常有效。

如果三秒测试失败,通常是因为主叙事不突出。解决办法是:把核心链路加粗或放大,把非核心元素调灰或缩小,把结论写在图标题里。比如标题不写“订单系统架构图”,而写“订单系统:下单后异步扣库存与支付”。标题本身就是结论,读者一眼就能抓住重点。

5.3 图更新后没人看怎么办:让 diagram-design 跟文档同生命周期

图更新后没人看,根本原因是图和文档脱节。我的做法是:图必须嵌入文档,且图源文件跟文档同仓库。文档更新时,图必须同步更新,否则评审不通过。

另外,我会在图下方加一行“最后更新日期”和“对应版本”。这样读者知道这张图是不是最新的。如果图有多个版本,我会保留历史版本,但只把最新版放在文档顶部。

还有一个技巧:把图的关键结论写成文字放在图上方。这样即使读者不看图,也能获取核心信息。图是辅助,不是唯一信息载体。

5.4 常见问题速查表

问题现象可能原因排查思路解决方法
图太乱节点过多、连线交叉数节点数量,看交叉点拆图、删节点、调整布局
读者看不懂主叙事不突出做三秒测试加粗核心链路,标题写结论
颜色混乱颜色语义不统一检查图例限定四种颜色,灰度验证
连线歧义线型无约定检查箭头和标签统一线型语义,每条线加标签
图更新滞后图与文档分离检查版本和日期图源进仓库,加更新日期
协作返工多规范不统一检查模板和检查项提供模板,加评审检查项

注意:这张表建议打印出来贴在工位上,画图前过一遍,能省下大量返工时间。

6. 进阶技巧:让 diagram-design 从“能看”到“好用”

6.1 用“图 + 表”组合承载复杂信息

一张图能承载的信息量有限,硬塞只会让图变乱。我的进阶做法是“图 + 表”组合。图负责讲结构和关系,表负责讲细节和参数。比如架构图讲服务划分,表格讲每个服务的接口、协议、SLA、负责人。

这样做的另一个好处是,表格可以单独更新,不需要重画图。系统演进时,接口变了改表格,结构变了改图,维护成本大幅降低。

6.2 用“分层图”替代“一张大图”

复杂系统我通常画三张图。第一张是上下文图,只画系统边界和外部依赖,不超过十个节点。第二张是容器图,画系统内部的主要服务或模块,以及它们之间的调用关系。第三张是组件图,针对某个核心服务展开内部组件。

这三张图层层递进,读者可以按需深入。上下文图给管理层看,容器图给跨团队看,组件图给开发看。同一套 diagram-design 规范贯穿三张图,认知成本最低。

6.3 用“版本化”管理图的演进

图不是画完就完了,它会随系统演进。我建议把图源文件纳入版本管理,每次变更都提交,写清楚变更原因。这样你可以回溯任何一张图的历史状态,也可以对比不同版本的差异。

如果团队用文档平台,可以把图源文件和导出图都放上去,导出图用于展示,源文件用于编辑。每次更新时,先改源文件,再导出替换。不要直接在导出图上改,那样会丢失源文件。

6.4 用“评审清单”保证图的质量

最后分享一份我常用的图表评审清单,画完图后逐条检查:

  • 图标题是否包含结论?
  • 节点数量是否超过十五个?
  • 每个节点标签是否包含角色和职责?
  • 每条连线是否有方向和标签?
  • 是否包含图例?
  • 颜色是否不超过四种?
  • 灰度下是否可读?
  • 是否通过三秒测试?
  • 是否标注了更新日期和版本?
  • 图源文件是否已入库?

这十条过一遍,图的质量基本就有保障了。我踩过的坑告诉我,图的问题从来不是工具问题,而是纪律问题。diagram-design 的本质,是用约束换清晰,用规范换效率。你可以在第一个项目里就建立这套习惯,后面会越用越顺。

相关新闻

令牌桶算法详解:从QoS限速原理到Linux tc与双桶三色标记实战

令牌桶算法详解:从QoS限速原理到Linux tc与双桶三色标记实战

1. 从一个真实场景说起:为什么你的视频会议总是卡 你有没有遇到过这种情况:家里宽带明明是500M,测速也跑得满,但只要一开视频会议,画面就开始糊,声音断断续续,与此同时后台的下载任务还在疯狂抢…

2026/10/20 23:15:44 阅读更多 →
单相全桥逆变器Simulink仿真:从SPWM调制到LC滤波参数设计与THD分析

单相全桥逆变器Simulink仿真:从SPWM调制到LC滤波参数设计与THD分析

做电力电子这块的人,大概都有过类似经历:理论上把单相全桥逆变器背得滚瓜烂熟,四个开关管怎么换流、SPWM怎么调制,画个拓扑图加几条波形就能交差;可真到了课程设计或项目里需要看到实际电性能时,才发现手边…

2026/10/20 23:15:44 阅读更多 →
PCA人脸识别实战:从零搭建特征脸系统与避坑指南

PCA人脸识别实战:从零搭建特征脸系统与避坑指南

人脸识别这个词听起来挺唬人,但真动手做起来,最经典的那套入门方案反而没那么玄乎。我最早接触这个方向的时候,以为非得搞个深度网络、跑上几十万张图才能出效果,后来发现用PCA(主成分分析)这套老方法&…

2026/10/20 23:15:44 阅读更多 →

最新新闻

WorkBuddy Skill机制实战:从目录设计到热加载的完整拆解

WorkBuddy Skill机制实战:从目录设计到热加载的完整拆解

WorkBuddy 的 Skill 机制我算是从零开始一点一点啃下来的。最早接触它的时候,我以为就是个普通的插件系统,无非是放几个脚本、写个配置文件、按需加载而已。真正深入进去才发现,一套设计良好的 Skill 机制,涉及存放路径、加载时序、更新策略和长期维护四个维度,每个维度里还藏着…

2026/10/20 23:45:38 阅读更多 →
LLM代理重构GPU算子优化流程:从瓶颈诊断到Kernel改写

LLM代理重构GPU算子优化流程:从瓶颈诊断到Kernel改写

做GPU算子优化这行,真正让我觉得工作流被彻底重写的转折点,是2026年下半年开始,我们把LLM代理正式当成“一等优化手段”来用。以前提到优化kernel,大家脑子里是Nsight Compute、SASS汇编、occupancy分析这些传统套路,现…

2026/10/20 23:45:38 阅读更多 →
AI编码助手如何应对复杂大项目?从SWE-bench冠军到代码关系网实测

AI编码助手如何应对复杂大项目?从SWE-bench冠军到代码关系网实测

标题里塞满了流量词:“AI编码新王炸”“SWE-bench冠军”“免费登场”“专治复杂大项目”“硬刚 Cursor”。我第一反应是,又来了。这半年AI编码工具的新闻标题一个比一个猛,今天有人拿下榜单第一,明天宣布开放免费,后天…

2026/10/20 23:45:38 阅读更多 →
jQuery大文件分片上传:从原理到源码的完整实践

jQuery大文件分片上传:从原理到源码的完整实践

前阵子有位做内部管理后台的朋友问我:网页端能不能用jQuery实现大文件分片上传?最好直接给份能跑的源码。他说自己系统的视频上传一直卡在超时失败,网上搜到的分片上传示例大多绑定了Vue或React的生态,塞进依赖混乱的老项目里根本…

2026/10/20 23:45:38 阅读更多 →
单人创业如何把AI当成超级员工:岗位设计、工作流与质检指南

单人创业如何把AI当成超级员工:岗位设计、工作流与质检指南

一个人创业还算新鲜吗?前两年大家讲项目,多少还得强调“我有合伙人、有个小团队”;到了现在这个时点,很多单干的朋友已经把AI当成实实在在的“第一个超级员工”在用。我身边好几个做电商、做内容、做轻咨询的人,真正干…

2026/10/20 23:45:38 阅读更多 →
Deepagents自动化测试实战:从断言设计到稳定性体系建设

Deepagents自动化测试实战:从断言设计到稳定性体系建设

做过AI Agent相关开发的朋友应该都有同感:写一个能跑通的代理不难,难的是让它稳定地跑完一百遍。LLM天然带有随机性,同样的输入,今天输出这个结果,明天就可能换个路径,哪怕最终答案都对,中间调用…

2026/10/20 23:44:36 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →