首页/新闻资讯/正文详情

本周 GitHub 第一!diagram-design:让 AI 画出设计师都挑不出毛病的图表

发布时间:2026/9/25 18:17:33 来源:云帆数科 栏目:资讯中心
本周 GitHub 第一!diagram-design:让 AI 画出设计师都挑不出毛病的图表
1. 为什么 AI 画的图总像“半成品”如果你用 Claude Code 写过技术文档大概率经历过这个场景让 AI 画一张微服务架构图它给你吐出一堆圆角方框加箭头配色是默认的蓝灰字体是系统 sans节点间距全靠感觉。图能看但放到文章里就是和正文风格打架最后要么自己开 Figma 重画半小时要么干脆删掉不画。diagram-design 这个项目就是冲着这个痛点来的。它是给 Claude Code、Codex、Pi 这类 AI 编码助手用的图表设计技能包本周冲到 GitHub 热榜第一。核心能力一句话你让 AI 画架构图、流程图、时序图它输出的是编辑级排版质量的 HTML SVG自带浅色、深色、全编辑风三套皮肤浏览器双击即开没有构建步骤、没有 JS 依赖、没有外部图片。它适合谁三类人最值得装一是经常写技术博客或内部文档的工程师图的质量直接影响阅读体验二是做方案汇报要出架构图、数据流图的人投影场景下字号和对比度有专门优化三是手里已经有一堆 draw.io 或 Mermaid 旧图、想批量升级视觉风格的人它支持导入重绘并输出保真台账。我试过在 Claude Code 里装完直接让它画一张网关架构图从自然语言描述到 HTML 文件落盘不到两分钟打开浏览器那一刻确实和之前 Mermaid 的输出不在一个量级。下面把完整链路拆开讲包括 settings.json 和 config.toml 骨架、TaoToken 统一 Key 的配置方式以及三步验证动作确保你能复现同样的效果。2. 前置准备TaoToken 统一 Key 与 Claude Code 环境diagram-design 本身是纯本地的 skill 包不依赖网络请求就能生成图表。但你在 Claude Code 里调用它时模型推理这一层需要走 API。如果你同时用多个模型或工具每个都单独配 Key 会很乱TaoToken 的作用就是提供一个统一的 API 入口把模型调用收敛到一处管理。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 注意 API 地址不带 UTM 参数。你需要先去控制台创建一个 API Key地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 创建完在 API Keys 页面复制出来地址是 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。拿到 Key 之后Claude Code 的配置分两层一层是 Claude Code 自身的 settings.json控制模型走哪个端点另一层是项目级的 config.toml控制 diagram-design 这个 skill 的行为参数。两者不要混在一起写。先看 settings.json 的骨架。这个文件通常放在~/.claude/settings.json或项目根目录的.claude/settings.json取决于你想全局生效还是项目级生效{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoTokenKey }, permissions: { allow: [ Bash(playwright:*), Bash(python:*), Read, Write ] } }这里ANTHROPIC_BASE_URL指向 TaoToken 的 API 端点ANTHROPIC_API_KEY填你刚才复制的 Key。permissions 里放行 playwright 和 python 是因为后面导出 PNG 要用到 Playwright 光栅化不放行的话 Claude Code 执行导出命令时会卡在权限确认。再看 config.toml 骨架。这个文件放在项目根目录diagram-design 读取它来决定默认输出风格和尺寸[diagram] default_style minimal-light default_format html default_size doc-wide default_detail balanced [diagram.brand] profile default accent #E07A5F paper #FAFAF8 ink #1A1A1A [export] png_scale 2 svg_inject_fonts truedefault_style三个可选值minimal-light、minimal-dark、full-editorial。default_size支持doc-inline、doc-wide、slide-16x9、slide-4x3、social-og、print-a4。default_detail三档faithful最多 24 节点、balanced最多 12 节点、simplified最多 7 节点。brand 段可以先留默认后面品牌匹配那步会自动改写。如果你用的是 Codex 而不是 Claude Code配置文件换成~/.codex/config.toml模型端点字段名不同但 TaoToken 的 API 地址和 Key 是同一套不用重复申请。3. 安装 diagram-design 并跑通第一张图安装命令按你用的 Agent 选一条。Claude Code 里执行/plugin marketplace add cathrynlavery/diagram-design /plugin install diagram-designdiagram-design装完后 Claude Code 对第三方市场默认关闭自动更新需要手动开一次。运行/plugin进 Marketplaces选 diagram-designEnable auto-update然后按提示运行/reload-plugins。这一步别跳过否则后续 skill 更新不会自动拉取。Codex 用户执行codex plugin marketplace add cathrynlavery/diagram-design codex plugin add diagram-designdiagram-design想立即更新运行codex plugin marketplace upgrade diagram-design。Pi 用户执行pi install https://github.com/cathrynlavery/diagram-design然后在会话里运行/reload用/skill:diagram-design显式调用。装好后直接用自然语言让 AI 画图。比如画一个微服务网关的架构图frontend、backend、database、Redis cacheAI 会自动选图类型、构建 HTML、保存文件。你也可以从模板直接开始省去等待生成的时间cp skills/diagram-design/assets/template.html my-diagram.html cp skills/diagram-design/assets/template-full.html my-diagram.html cp skills/diagram-design/assets/template-motion.html my-diagram.html第一个是极简浅色第二个是编辑风带摘要卡第三个是可选无障碍动效。模板文件里已经预置了设计系统的 token你只需要改节点内容。这里有个容易踩的坑模板里的坐标和宽度必须能被 4 整除这是 diagram-design 设计系统的硬约束。如果你手动改坐标写成13px或27px渲染出来会有半像素模糊CI 的几何检查也会失败。改的时候统一用 4 的倍数比如12、16、24、32。4. 品牌匹配60 秒让图表变成你的风格这是整个 skill 里最实用的功能。你不需要手动调色让 skill 读你的网站自动提取品牌色和字体映射到图表的语义角色上。操作方式是在 Claude Code 里说onboard diagram-design to https://yoursite.comAgent 会抓取首页提取主色调和字体栈然后映射到五个语义角色paper 是背景、ink 是文字、muted 是次要信息、accent 是强调色、link 是链接色。映射完会展示一份拟修改的 diff你确认后说yes, apply it它写入references/style-guide.md。之后每张新图都用你的品牌色。映射规则是这样的body背景色变成 paper主文字颜色变成 ink次要说明文字变成 muted卡片或容器变成 paper-2最常用的品牌色CTA、链接、标题变成 accenth1字体变成 title 字体body字体变成 node-name 字体code和pre字体变成 sublabel 字体。它还会自动做 WCAG AA 对比度检查。如果你网站的颜色在图表字号9 到 12px下对比度不达标它会提议一个调整值并解释原因。这个细节很关键因为很多品牌色在正文大字号下没问题缩到图表节点里就糊了。多客户场景下品牌可以存成命名 profile。每个客户项目加一个.diagram-design标记文件里面写profile: slug不同项目用不同品牌互不覆盖。比如你同时给 A 公司和 B 公司做方案切项目目录就自动切品牌不用手动改配置。5. 从 draw.io / Mermaid 重绘与导出手里已经有旧图的话不用重画直接导入重绘/diagram-design:import-drawio platform.drawio /diagram-design:import-drawio platform.drawio --sizeslide-16x9 --detailsimplified --audienceexecutive /diagram-design:import-mermaid architecture.mmd --sizeslide-16x9四个调节旋钮控制输出Format 选 html、svg、png 或 htmlpngSize 选 doc-inline、doc-wide、slide-16x9、slide-4x3、social-og、print-a4 等对应不同的 viewBox 和字号梯度投影场景用 16px 节点名而不是 12pxDetail 选 faithful、balanced 或 simplified通过固定降级梯保留多少源信息Audience 选 engineer、mixed 或 executive改变措辞而非数量比如Auth Service / JWT · RS256 · :8443会变成Auth Service / token check再变成Sign-in。每次导入结束会输出保真台账明确告诉你合并了什么、折叠了什么、丢弃了什么。比如Detail: balanced · 12 source nodes → 8 drawn Collapsed: Token valid? decision → edge label on Gateway → Auth Dropped: 1 sticky note (legacy path, to be retired) — unconnected in source Kept in full: the request path (Web/Mobile → Gateway → Orders → Postgres)支持读取.drawio、.drawio.xml、.drawio.png内嵌图、.drawio.svg包括编辑器里看着像 base64 乱码的压缩内容。Mermaid 支持.mmd、.mermaid和 Markdown 里的 fenced 代码块。导出 PNG 或 SVG 的命令/export-diagram path/to/diagram.html /export-diagram path/to/diagram.html --svg-only /export-diagram path/to/diagram.html --png-only --scale3Claude Code 里用/diagram-design:export-diagram path/to/diagram.html。SVG 导出会提取svg节点并注入 Google Fonts可以独立在浏览器、Figma、Illustrator 里打开。PNG 通过 Playwright 光栅化默认 2 倍一次性安装依赖pip install playwright playwright install chromium6. 三步验证生成、渲染、对比设计稿装完配完怎么确认效果真的到位按这三步走。第一步生成验证。在 Claude Code 里发一条明确的画图指令比如“画一个带 401 token 刷新的 bearer 调用时序图”观察 Agent 是否自动加载了type-sequence.md而不是把所有类型文件都读一遍。如果它加载了多余文件说明 skill 的按需加载没生效检查/reload-plugins是否执行过。第二步渲染验证。用浏览器打开生成的 HTML 文件检查三件事节点间距是否均匀、强调色是否只出现在 1 到 2 个焦点上、等宽字体是否只用在端口和 URL 这类技术内容上。如果发现标签遮挡了后续节点说明几何检查没过手动调坐标时确保能被 4 整除。第三步对比设计稿。如果你做了品牌匹配把生成的图和你的网站截图并排看重点看 accent 色是否一致、标题字体是否匹配、背景色是否协调。对比度不达标的话skill 会给出调整建议按建议改style-guide.md里的 token 值。三步都过了说明链路跑通。之后每张图都可以复用这套配置不用重复调。7. 常见报错与排查报错一/plugin install后找不到 diagram-design 命令。原因是 Claude Code 对第三方市场默认关闭自动更新插件元数据没拉全。解决方式是运行/plugin进 Marketplaces 手动 Enable auto-update然后/reload-plugins。如果还不行检查 settings.json 里的ANTHROPIC_BASE_URL是否指向https://taotoken.net/api端点不对会导致插件市场请求失败。报错二导出 PNG 时报playwright not found。这是 Playwright 没装或 Chromium 没下载。执行pip install playwright playwright install chromium注意两条命令都要跑只装 pip 包不下载浏览器内核一样会报错。如果公司网络限制下载可以先--svg-only导出 SVG用其他工具转 PNG。报错三生成的图坐标模糊、有半像素。这是坐标没被 4 整除。diagram-design 的设计系统要求所有坐标、宽度、间距能被 4 整除手动改模板时容易忽略。检查 HTML 里所有x、y、width、height的值统一改成 4 的倍数。报错四品牌匹配后颜色对比度不达标。网站品牌色在正文大字号下没问题但图表字号只有 9 到 12px对比度要求更高。skill 会提议调整值按建议改references/style-guide.md里的 accent 或 ink 值。如果不想改品牌色可以把该节点的字号调大一级或者把 accent 只用在非文字元素上。报错五导入 draw.io 后节点丢失。看保真台账里的 Dropped 行通常是源文件里有未连接的 sticky note 或游离节点skill 默认丢弃。如果确实需要保留把--detail调到faithful最多支持 24 节点或者手动在源文件里把游离节点连上主流程。8. 资源入口与下一步diagram-design 的完整能力远不止上面这些27 种图表类型每种都有三个静态变体覆盖架构、流程、状态、层级、对比、时间、数据、飞轮、数据平台等场景。它的质量门禁体系也是生产级的CI 在 Linux、Windows、macOS 上跨平台运行几何标签放置检查、语义路由验证、文档同步检查都有独立脚本。如果你主要做长期编码和 Agent 开发建议走 Coding Plan地址是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 把模型调用和图表生成收敛到一套配置里。如果只是想先验证模型输出效果可以去模型对话页面试一下地址是 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有完整的端点和参数说明。Claude Code 相关的配置参考 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 。最后留一个实用技巧diagram-design 的 README 里有一句判断标准画图前先问自己读者从这张图学到的比从一段写得好的话多吗如果不多就别画。这个原则比任何工具都重要工具只是让该画的图变得更好看。

相关推荐

端侧AI算力与Linux内核动态:嵌入式开发周报精选
端侧AI算力与Linux内核动态:嵌入式开发周报精选

这周在嵌入式交流群里被问得最多的一个问题,不是RTOS选型,也不是I2C调试,而是“端侧AI到底怎么落地”。放在两年前,这类问题大概率会被一句“等云平台接口就好”打回去,但现在不一样了——国产端侧AI芯片的算力确实冲上… · 2026/9/25 18:17:14

深度剖析A2A与MCP:AI智能体协作的双重协议原理讲解+实战案例(TaoToken统一Key接入版)
深度剖析A2A与MCP:AI智能体协作的双重协议原理讲解+实战案例(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/9/25 18:17:02

DevExpress.XtraEditors.ComboBoxEdit 只能选择不能输入数据:用 textEditStyle 与 DisableTextEditor 锁定下拉框的配置骨架
DevExpress.XtraEditors.ComboBoxEdit 只能选择不能输入数据:用 textEditStyle 与 DisableTextEditor 锁定下拉框的配置骨架

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

“w”模式是Python文件写入的基础工具,其核心优势是语法简洁、使用门槛低,适合快速实现数据的持久化存储
“w”模式是Python文件写入的基础工具,其核心优势是语法简洁、使用门槛低,适合快速实现数据的持久化存储

在Python编程中,文件操作是连接内存数据与持久化存储的核心桥梁。其中,写入模式“w”(write)作为最基础且高频使用的文件操作模式,是每一位Python开发者必须掌握的核心知识点。本报告将围绕“w”模式的底层原理、语法规… · 2026/9/25 19:41:13

RAG工程优化实战:Chunking、混合检索与Rerank核心策略
RAG工程优化实战:Chunking、混合检索与Rerank核心策略

1. 为什么 RAG 工程优化绕不开 Chunking、混合检索和 RerankRAG 这个词现在已经被说烂了,但真正在生产环境里跑过知识库问答的人都知道,把文档塞进向量库、检索出 Top-K 丢给大模型,这套最朴素的流程在实际业务里几乎不可用。问题出在哪&… · 2026/9/25 19:41:13

事务 Transaction 源码分析:@Transactional 如何控制数据库事务提交与回滚
事务 Transaction 源码分析:@Transactional 如何控制数据库事务提交与回滚

如果这篇文章对你有帮助,欢迎关注我的CSDN账号「来福猿」, 有问题可以在评论区留言,我会一一回复。一、从一个问题说起在 Spring 项目中,我们通常只需要在 Service 方法上添加一个 Transactional 注解,方法执行过程中对… · 2026/9/25 19:41:13

Backtrader 学习笔记:从会写 Python 到能做可信回测(八)
Backtrader 学习笔记:从会写 Python 到能做可信回测(八)

Backtrader 策略实战:从一个想法到一份完整回测 学完基础概念后,最好的练习不是继续背 API,而是完整做一个小策略。 今天用“双均线交叉”演示一遍: 提出规则 → 写代码 → 加入成本 → 分析结果 → 检查问题一、先把策略说成人话… · 2026/9/25 19:41:06

幂等设计(Idempotence)
幂等设计(Idempotence)

幂等设计(Idempotence)详解 TL;DR(30 秒速览) 幂等定义:执行一次和执行多次,对状态效果相同。为什么需要:发送端无法区分请求丢还是响应丢,只能重试。Ymodem 两处幂等点:… · 2026/9/25 19:41:06

桌面仪表盘全栈实战:Go 后端 + SSE 卡片状态看板
桌面仪表盘全栈实战:Go 后端 + SSE 卡片状态看板

桌面仪表盘这个东西,我前后折腾过四五轮,从最早拿现成的监控面板凑合,到后来自己写脚本往终端里刷,再到干脆动手做一个完整的全栈项目。每一次都解决了一部分问题,又冒出来新的别扭。直到把 Status Deck 这个项目立起来… · 2026/9/25 19:41:00

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

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

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

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

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码