图表即代码:用文本描述构建可维护的架构图工作流
1. 从“diagram-design”这个标题说起它到底在解决什么问题第一次看到“diagram-design”这个标题很多人会下意识觉得它是个画图工具或者某个前端组件库。但如果你真正做过技术方案评审、系统架构梳理、或者给非技术同事讲清楚一个复杂流程你就会明白画图这件事难的从来不是“画”而是“设计”。图表的本质是一种信息压缩与传递的媒介一张好的架构图能让三个人吵半小时的问题在五分钟内达成共识一张糟糕的图则会让所有人陷入“这个箭头到底指向谁”的沉默。“diagram-design”这个标题背后指向的是一类非常具体的需求如何用代码或结构化描述来生成、管理和维护图表。它不是一个孤立的绘图动作而是一整套从“想法”到“可交付图表”的工作流设计。我见过太多团队在项目初期随手用在线工具拖了几张图结果三个月后系统改了图没人更新文档里的架构图和实际代码完全对不上最后所有人都默认“图是过时的别看了”。这个问题的根源不在于工具不好而在于图表没有被当作代码一样管理。所以这篇内容适合谁看如果你是后端开发、架构师、技术文档写作者或者任何需要频繁输出系统图、流程图、时序图的人这篇内容会帮你建立一套可维护、可版本控制、可自动化生成的图表工作流。如果你只是偶尔画一张示意图那可能用现成工具拖拽更快但如果你面对的是一个持续迭代的项目那“diagram-design”这套思路值得你花时间理解。我自己的经历是早期做微服务拆分时用某在线工具画了二十多张服务依赖图结果每次服务增减都要手动改一遍改到第三轮就彻底放弃了。后来转向用文本描述生成图表的方式虽然前期学习曲线陡了一点但一旦跑通后续维护成本几乎为零。这就是“diagram-design”这个标题真正吸引我的地方它把图表从“一次性消费品”变成了“可维护的工程资产”。2. 图表即代码为什么文本描述比拖拽更值得投入2.1 拖拽式工具的隐性成本大多数人画图的第一反应是打开一个在线白板或者桌面绘图软件拖几个方框、连几条线、调一下颜色导出PNG完事。这个过程在单次任务里确实高效但它的成本被隐藏在了后续的维护环节。我总结下来拖拽式工具在项目场景下有四个绕不开的问题。第一是版本对比几乎不可能。你改了图里的一个服务名导出新图旧图和新图之间没有任何结构化的差异信息。你没法像看代码diff一样看到“哪个节点被删了、哪条边被加了”。第二是复用性差。同一个系统在不同文档里需要不同视角的图拖拽方式下你只能重新画一遍或者复制粘贴后手动调整一致性全靠人眼保证。第三是协作冲突。两个人同时改一张图最后只能靠“谁最后保存谁说了算”没有合并机制。第四是与代码脱节。系统架构变了代码仓库里有commit记录但图不会自动更新久而久之图就成了“历史文物”。这些问题的本质是拖拽式工具把图表当成了“图片”而不是“数据”。图片是不可解析的像素集合而数据是可以被程序处理、对比、生成的结构化信息。2.2 文本描述生成图表的核心逻辑“diagram-design”这套思路的核心是把图表的定义从“画布上的像素”转变为“结构化的文本描述”。你写一段类似代码的描述工具负责把它渲染成图。这个转变带来的好处是连锁性的文本可以进Git仓库于是有了版本历史文本可以被diff于是有了变更对比文本可以被模板化于是有了复用文本可以被程序生成于是有了自动化。具体来说常见的文本描述格式有几种流派。一种是声明式DSL比如用类似A - B: 请求这样的语法描述节点和边工具解析后布局渲染。另一种是基于现有编程语言比如用Python或JavaScript的库来定义图表结构好处是可以直接调用代码逻辑做条件生成。还有一种是基于标准建模语言比如用PlantUML或Mermaid这类专门为图表设计的文本格式。我个人的选择倾向是如果图表需要频繁嵌入技术文档优先选Mermaid因为它在主流文档平台里的渲染支持最广如果图表逻辑复杂、需要条件分支或循环生成优先选代码库方案因为编程语言的表达能力更强如果团队有统一的建模规范PlantUML的标准化程度更高。但不管选哪种核心原则是一样的图表的定义必须是一段可读、可diff、可版本控制的文本。2.3 一个最小可用的工作流长什么样假设你现在要为一个新项目画一张系统上下文图用“diagram-design”的思路工作流大概是这样的。第一步在代码仓库里建一个docs/diagrams目录所有图表源文件放这里。第二步选一个文本描述格式写第一版图表定义。第三步用命令行工具或编辑器插件把文本渲染成图片渲染产物可以提交也可以不提交取决于你的CI流程。第四步把渲染命令写进项目的构建脚本或CI配置每次文档构建时自动生成最新图表。第五步当系统变更时改文本描述提交CI自动更新图表。这个流程跑通之后你会发现图表维护从“想起来才做”变成了“跟着代码走”。我现在的习惯是任何涉及系统结构变更的PR如果影响了架构图就必须同时更新图表源文件否则CI会报一个提醒。这个约束一开始有点烦但两周之后就习惯了而且效果非常明显文档里的图和代码永远是一致的。提示不要一开始就追求大而全的图表体系。先从一张最核心的架构图开始跑通“文本定义-渲染-提交-CI”这个最小闭环再逐步扩展。3. 选型对比几种主流文本绘图方案的实战取舍3.1 Mermaid文档嵌入的首选但有边界Mermaid是目前在技术文档领域渗透率最高的文本绘图方案没有之一。它的最大优势是渲染环境极其广泛主流代码托管平台的Markdown渲染器原生支持很多文档生成工具也内置了支持甚至一些笔记软件都能直接渲染。这意味着你写一段Mermaid代码在大多数技术场景下不需要额外安装任何东西就能看到图。它的语法设计偏向“够用就好”流程图、时序图、状态图、类图、甘特图这些常见类型都有覆盖。写起来大概是这样flowchart LR A[客户端] -- B[网关] B -- C[用户服务] B -- D[订单服务] C -- E[(用户库)] D -- F[(订单库)]这段代码渲染出来就是一张简单的服务依赖图。学习成本很低半小时就能上手基本语法。但Mermaid的边界也很明显。第一布局控制能力弱。它自动布局你很难精确控制节点位置复杂图的布局有时候会出乎意料。第二样式定制有限。虽然支持一些主题和样式配置但深度定制比较吃力。第三复杂逻辑表达困难。当图表需要根据条件动态生成不同结构时Mermaid的静态文本描述就不够用了。第四大图性能问题。节点超过几十个之后渲染速度和可读性都会明显下降。我的经验是Mermaid适合中小规模、结构相对稳定、嵌入文档场景的图表。如果你的图是给文档读者看的节点在二十个以内Mermaid是最省事的选择。但如果图很复杂或者需要频繁动态生成就要考虑其他方案。3.2 PlantUML建模能力强但渲染链路重PlantUML是另一个老牌的文本绘图方案它的定位更偏向“建模”而不是“画示意图”。它支持的图表类型非常丰富除了常见的流程图、时序图还支持组件图、部署图、活动图等偏UML规范的图种。语法上比Mermaid更严谨表达能力也更强。它的优势在于布局算法成熟尤其是时序图和类图的布局质量在复杂场景下明显优于Mermaid。另外它的样式定制能力更强可以通过skinparam等配置做比较细致的视觉调整。对于需要输出正式建模文档的团队PlantUML的规范性是加分项。但它的短板也很突出。第一渲染依赖Java环境虽然现在有在线渲染服务但本地渲染需要装Java和Graphviz链路比Mermaid重不少。第二文档平台原生支持不如Mermaid广很多Markdown渲染器不直接支持PlantUML需要额外配置。第三语法相对繁琐写同样一张图PlantUML的代码量通常比Mermaid多。我自己的取舍是如果团队已经在用PlantUML做正式建模或者图表复杂度高到Mermaid布局撑不住就选PlantUML。否则优先Mermaid省事。3.3 代码库方案灵活性的天花板除了Mermaid和PlantUML这类DSL方案还有一类是用通用编程语言来定义图表比如用Python的diagrams库、JavaScript的mermaidAPI、或者更底层的Graphviz绑定。这类方案的核心优势是可以写逻辑。举个例子假设你要为十个微服务生成依赖图每个服务的依赖关系从一个配置文件读取。用DSL方案你得手动把十个服务的节点和边都写出来用代码库方案你可以写一个循环读配置自动生成节点和边。当服务数量变化时代码不用改配置改了图就自动变。from diagrams import Diagram from diagrams.aws.compute import Lambda from diagrams.aws.database import RDS services load_config(services.yaml) with Diagram(Service Map): nodes {s[name]: Lambda(s[name]) for s in services} for s in services: for dep in s.get(deps, []): nodes[s[name]] nodes[dep]这段伪代码展示了代码库方案的核心价值图表结构由数据驱动而不是硬编码在文本里。当系统规模大到一定程度这种灵活性是DSL方案给不了的。但代价是学习成本更高你需要熟悉对应库的API而且渲染环境需要安装依赖。另外代码库方案生成的图表通常不如DSL方案那么“声明式”可读性上对非开发者不够友好。3.4 选型决策表维度MermaidPlantUML代码库方案学习成本低中高文档平台原生支持广窄无布局控制弱中强样式定制有限较强最强动态生成能力无有限强渲染依赖无JavaGraphviz视库而定适合场景文档嵌入、中小图正式建模、复杂图大规模、数据驱动这张表不是让你死记而是帮你在具体场景下快速定位。我的建议是先用Mermaid跑通流程遇到瓶颈再升级。不要一上来就选最复杂的方案那样很容易在配置环境阶段就放弃。4. 落地实操从零搭建一套可维护的图表工作流4.1 目录结构与命名约定一套可维护的图表工作流第一步是把目录结构定清楚。我的习惯是在项目根目录下建docs/diagrams下面按图表类型或模块分子目录。比如docs/ diagrams/ architecture/ system-context.mmd service-deps.mmd flows/ order-flow.mmd payment-flow.mmd sequences/ auth-sequence.mmd rendered/ system-context.svg service-deps.svg源文件用.mmd或.puml后缀渲染产物放rendered目录。命名上我坚持用小写加连字符比如system-context.mmd而不是SystemContext.mmd这样在命令行里操作不用频繁切换大小写。另外文件名要能自解释不要用diagram1、diagram2这种三个月后你自己都记不住哪个是哪个。注意渲染产物是否提交到仓库取决于你的CI流程。如果CI会在构建时自动渲染那rendered目录可以加进.gitignore如果文档平台需要直接引用图片文件那就提交。我倾向于提交因为这样本地预览和线上展示一致减少“本地能看线上不能看”的问题。4.2 渲染命令与CI集成Mermaid的本地渲染可以用mermaid-js/mermaid-cli安装后命令行调用npm install -g mermaid-js/mermaid-cli mmdc -i docs/diagrams/architecture/system-context.mmd -o docs/diagrams/rendered/system-context.svg批量渲染可以写个脚本遍历目录#!/bin/bash for file in docs/diagrams/**/*.mmd; do output${file%.mmd}.svg output${output/docs\/diagrams/docs\/diagrams\/rendered} mmdc -i $file -o $output done把这个脚本挂到package.json的scripts里或者直接写进CI配置。比如在CI的构建阶段加一步npm run render-diagrams这样每次合并到主分支图表都会自动更新。PlantUML的渲染类似用plantuml命令行工具plantuml -tsvg docs/diagrams/**/*.pumlCI集成的好处是强制一致性。你可以加一个检查步骤如果源文件有变更但渲染产物没更新就报错。这样就不会出现“改了源文件忘了渲染”的情况。4.3 编辑器实时预览配置命令行渲染适合CI但日常写图的时候实时预览能大幅提升效率。主流编辑器都有Mermaid和PlantUML的预览插件。以VS Code为例装一个Mermaid预览插件打开.mmd文件后按快捷键就能在旁边看到实时渲染结果。PlantUML也有类似插件配置好本地渲染服务后同样支持实时预览。我自己的习惯是双屏操作左边写源文件右边开预览改一行看一眼效果。这样调布局和样式的时候效率很高不用反复跑命令行。另外有些插件支持导出当前预览为图片临时需要一张图的时候很方便。提示实时预览插件通常有自己的渲染引擎版本可能和CI用的版本有细微差异。如果发现本地预览和CI渲染结果不一致优先检查版本号统一到同一个版本。4.4 版本控制与变更审查图表源文件进了Git之后变更审查就变得很自然。当有人改了架构图PR里会显示源文件的diffreviewer可以看到具体哪个节点被加了、哪条边被删了。这比看两张图片的视觉差异要精确得多。我还会在PR模板里加一条检查项“如果本次变更涉及系统结构是否同步更新了docs/diagrams下的相关图表”这个提醒看起来简单但实际效果很好因为它把“更新图表”从“可做可不做”变成了“流程的一部分”。另外我建议给图表源文件也加上简单的注释。比如在文件开头写一段说明解释这张图的用途、更新频率、负责人。这样当别人接手时不用猜这张图是干什么的。%% 系统上下文图 %% 用途展示核心服务与外部依赖的关系 %% 更新频率随架构变更同步更新 %% 负责人后端架构组 flowchart LR ...注释不会影响渲染但能大幅降低沟通成本。5. 踩过的坑与实战心得那些文档里不会写的事5.1 布局失控为什么你的图总是“歪”的用文本绘图最让人抓狂的问题之一就是自动布局的结果和你脑子里的预期不一致。你明明想让A在B左边结果渲染出来A跑到了B上面。这个问题在Mermaid里尤其常见因为它的布局算法对节点顺序和连接关系很敏感。我踩过的坑包括节点定义顺序影响布局、边的方向影响层级、子图嵌套导致整体偏移。解决这些问题的核心思路是理解工具的布局逻辑而不是对抗它。比如Mermaid的流程图默认是从左到右或从上到下布局你可以通过flowchart LR或flowchart TD指定方向。如果布局还是不理想可以尝试调整节点定义顺序或者用不可见的连接线来“引导”布局。另一个实用技巧是拆图。一张图如果超过二十个节点布局失控的概率会大幅上升。与其花半小时调一张大图不如拆成两张小图每张聚焦一个视角。读者看起来也更轻松。5.2 中文支持与字体问题文本绘图工具在中文场景下经常遇到字体问题。Mermaid在某些渲染环境下中文会显示成方块或者字体不一致。这个问题的根源是渲染环境缺少中文字体或者字体配置没有正确传递。我的解决方案是在渲染配置里显式指定中文字体。Mermaid CLI支持通过配置文件指定fontFamilyPlantUML可以通过skinparam设置字体。另外如果渲染产物要嵌入网页确保网页的CSS也指定了合适的中文字体栈。{ theme: default, themeVariables: { fontFamily: PingFang SC, Microsoft YaHei, sans-serif } }这个配置在大多数场景下能解决中文显示问题。如果还是不行检查渲染环境是否安装了对应字体。5.3 复杂图的性能与可读性平衡当图表节点超过一定数量渲染性能和可读性都会下降。我实测下来Mermaid在节点超过五十个之后渲染时间明显变长而且图本身也变得难以阅读。PlantUML的布局算法更强一些但同样有上限。我的处理原则是一张图只讲一件事。如果一张图需要表达三个以上的核心概念就拆成多张。比如系统架构图、数据流图、部署图分开画每张聚焦一个维度。这样不仅渲染更流畅读者理解起来也更轻松。另外对于确实需要展示大量节点的场景可以考虑分层展示。先画一张高层概览图把主要模块标出来然后每个模块单独画一张详细图。概览图里用链接指向详细图形成层次结构。5.4 团队协作中的约定与工具链统一图表工作流在个人使用时很顺畅但到了团队协作阶段问题会集中爆发。最常见的问题是工具链不统一有人用Mermaid有人用PlantUML有人还在用拖拽工具。结果就是图表风格混乱维护责任不清。我的经验是在团队层面明确一套标准工具链并写进开发规范。比如规定“所有技术文档中的图表统一使用Mermaid源文件放在docs/diagramsCI自动渲染”。然后提供一份模板和示例降低上手成本。对于确实需要其他工具的场景要求说明理由并保持源文件可维护。另外指定图表负责人也很重要。每张图或每个模块的图有一个明确的负责人负责在系统变更时更新。这个负责人不一定是画图的人但要是最了解那块系统的人。5.5 从“画图”到“设计图”的思维转变最后分享一个我觉得最重要的心得“diagram-design”的核心不是工具而是设计思维。工具只是手段真正决定图表质量的是你对“这张图要解决什么问题”的理解。我见过太多人花大量时间调颜色、调布局但图的核心信息却模糊不清。一张好的图首先要想清楚读者是谁他们需要从这张图里获取什么信息哪些细节可以省略这些问题想清楚了工具选择反而是次要的。我的习惯是画图之前先用一句话写下这张图的“核心信息”。比如“这张图要说明订单服务依赖用户服务和支付服务且支付服务是异步调用”。然后围绕这句话来组织节点和边所有不服务于这句话的元素都删掉。这样画出来的图信息密度高读者一眼就能抓住重点。这个思维转变需要练习但一旦养成你画的每一张图都会比之前更有价值。工具会过时但设计思维不会。

相关新闻

从图层到管口表:化工设备图AutoCAD完整绘制流程

从图层到管口表:化工设备图AutoCAD完整绘制流程

简介:这是一份面向化工类与机械类工程技术人员及院校学生的AutoCAD化工设备图教学课件,系统讲解化工设备图的作用、内容、常见设备类型与结构特点,并结合反应器、换热器、塔器、容器等实例,帮助读者建立从标准零部件到整套装配图的…

2026/10/17 16:53:52 阅读更多 →
Claude Code 太贵?用 TaoToken 统一 Key 给 DeepSeek 开源 Agent 做成本对照实验

Claude Code 太贵?用 TaoToken 统一 Key 给 DeepSeek 开源 Agent 做成本对照实验

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

2026/10/17 16:53:52 阅读更多 →
深度学习医学图像配准模型搭建实战:从架构到工程实践

深度学习医学图像配准模型搭建实战:从架构到工程实践

医学图像配准这个方向,这几年在医学影像AI领域算是热度一直居高不下的一个分支。无论是多模态融合(比如CT和MR的图像对齐)、术前术后的纵向对比,还是放疗计划里的靶区勾画传播,底层都离不开一个核心问题:怎…

2026/10/17 16:53:52 阅读更多 →

最新新闻

数据指标多重应用:从口径定义到业务决策的实战指南

数据指标多重应用:从口径定义到业务决策的实战指南

看一眼标题,很多人第一反应是“哪个指标?”,然后就没有然后了。做数据和运营这些年,最明显的一个感受是:大家天天在看日活、看留存、看转化率,但这些“熟悉得不能再熟悉”的指标,绝大多数时候只…

2026/10/17 17:51:34 阅读更多 →
Windows 下 GDAL FileGDB 驱动编译与读写实战:从源码到可运行

Windows 下 GDAL FileGDB 驱动编译与读写实战:从源码到可运行

简介:这份资源面向在 Windows 平台从事地理数据处理与转换的开发者,尤其是需要在脱离 ArcGIS 环境的前提下读写 .gdb 文件地理数据库的工程师。针对 GDAL 3.5 及以下版本默认不支持写入 gdb 的问题,资源给出了基于 FileGDB 驱动的轻量级配置方…

2026/10/17 17:51:34 阅读更多 →
Hive动态分区为何必走Shuffle?揭秘Reduce强制触发机制

Hive动态分区为何必走Shuffle?揭秘Reduce强制触发机制

1. 动态分区不是“开个开关”就能跑得快:为什么Hive里一用动态分区就卡在Shuffle阶段你有没有遇到过这样的场景:写好一个带INSERT OVERWRITE TABLE ... PARTITION (dt, region)的SQL,本地小数据测试飞快,一上生产集群,…

2026/10/17 17:51:34 阅读更多 →
Teamcenter 2406部署避坑指南:四层客户端组件冲突与BMIDE环境变量配置

Teamcenter 2406部署避坑指南:四层客户端组件冲突与BMIDE环境变量配置

简介:这份文档面向Teamcenter实施与运维人员,聚焦PLM系统部署中客户端与开发工具的安装配置问题。内容围绕Deployment Center工具展开,覆盖TC24062、两层与四层客户端以及BMIDE的完整部署流程,适合具备一定PLM基础、需要独立完成环…

2026/10/17 17:51:34 阅读更多 →
基于Autoencoder的反欺诈异常检测实践:从原理到工程落地

基于Autoencoder的反欺诈异常检测实践:从原理到工程落地

做反欺诈相关算法的人,天天面对同一个矛盾:欺诈样本太少,而且永远在变。别的分类模型再强,喂进去的标签说白了都是历史旧账,而你要拦的是明天可能出现的新变种。所以我第一次在某个风控原型项目里尝试用 Autoencoder 做…

2026/10/17 17:51:34 阅读更多 →
MTK/高通/展锐刷机工具全解析:从协议到救砖实战

MTK/高通/展锐刷机工具全解析:从协议到救砖实战

简介:面向MTK、高通、展锐三大移动平台的版本升级烧录工具合集,适合设备厂商、开发者与售后维修人员使用,覆盖固件全量升级、增量升级、底层加载、分区写入、驱动识别与故障恢复等常见场景。资源包共1031个文件,压缩后181.59MB&am…

2026/10/17 17:50:33 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →