跳到主要内容
AI教程

将一句话技术栈转换为架构图

了解如何将 stack-diagram 安装为 AI 代理技能,用通俗英语描述应用或开发技术栈,并使用官方技术徽标生成可移植的 HTML、PNG、React 或 Artifact 图表。

将一句话技术栈转换为架构图

什么是 stack-diagram?

stack-diagram 是一种 AI 代理技能,可将纯英文技术栈描述转换为架构图。无需手动放置图标和绘制连接线,只需用一句话或一小段文字描述服务、关系、协议和部署流程。

例如,下面的提示描述了一个 Web 应用、其 API、数据服务和部署流水线:

绘制我们的技术栈:Vercel 上的 Next.js 和 Hono API。Neon 上的 Postgres,使用 Clerk 进行身份验证,使用 Stripe 处理支付。由 GitHub Actions 负责部署。
根据技术栈描述生成的架构图示例

该技能适用于 Claude Code、Codex、Cursor 以及其他支持 Agent Skills 格式的代理。

主要功能

  • 自然语言输入:无需编写图表语法,即可描述架构。
  • 官方徽标:徽标从 SVGL、Devicon、gilbarbara/logos、官方品牌仓库以及 AWS Architecture Icons 软件包等来源获取。
  • 精细的连接线布局:连接线会绕开标签,避免箭头穿过文字。
  • 浅色和深色主题:每张图都会以两种主题渲染。徽标图块保持白色,以保留原始品牌颜色。
  • 多种输出格式:可生成自包含 HTML 文件、PNG 图片、无依赖的 React 组件或可分享的 Artifact。
  • 便携式 HTML:字体和徽标会内嵌,因此生成的 HTML 文件无需网络即可渲染。

要求

使用该技能前,请确保环境提供:

  • Python 3.9 或更高版本。
  • 获取徽标时所需的网络访问权限。
  • 将图表导出为 PNG 文件时所需的 Chromium 版 Playwright。
  • 支持技能的 AI 编程代理或应用程序。

虽然最终生成的 HTML 输出可以离线运行,但生成过程中需要网络访问,因为徽标是在构建时下载的,而不是随技能一起打包。

安装 stack-diagram

在受支持的编程代理中安装

在终端中运行以下命令:

npx skills add caru-ini/stack-diagram

该命令会为支持技能生态的代理安装此技能,包括 Claude Code、Codex 和 Cursor。

在 Claude 应用中安装

对于支持上传技能的 Claude 应用,请打开项目的最新版本,下载 stack-diagram.zip,然后将该 ZIP 文件作为技能上传。

创建第一张架构图

安装完成后,让代理绘制技术栈。实用的提示应明确主要技术、它们的运行位置以及彼此的交互方式。

绘制我们的技术栈:Vercel 上的 Next.js 和 Hono API。
Neon 上的 Postgres,使用 Clerk 进行身份验证,使用 Stripe 处理支付。
由 GitHub Actions 负责部署。

这段描述为代理提供了足够的信息,用于表示前端、API、数据库、身份验证提供商、支付提供商和部署工作流。

明确描述关系

为了获得更精确的结果,请在协议或交互类型重要时将其包含在提示中。你可以说明浏览器通过 HTTPS 访问应用、API 通过 SQL 查询数据库,或某项服务执行 RPC 调用。

绘制用户通过 HTTPS 访问 Vercel 上的 Next.js。
Next.js 通过 RPC 调用 Hono API。
API 通过 SQL 查询 Neon,并使用 Clerk 管理会话。
由 GitHub Actions 负责部署应用。

项目会渲染结果并在返回前检查图表,帮助避免连接线穿过标签。

图表开发工具

stack-diagram 不局限于云基础设施。它还可以展示 monorepo、本地工具、测试运行器、提交钩子、持续集成和软件包发布流程。

绘制我们的 monorepo 工具链:使用 Turborepo、Biome、Vitest 和 Lefthook 的 pnpm 工作区。GitHub Actions 运行 CI 并发布到 npm。
开发工具图表示例

这类提示会明确工作区边界、其中运行的工具,以及负责 CI 和发布的外部自动化流程。

绘制 AI 应用

AI 应用图可以结合 Web 框架、模型提供商、向量数据库、后台任务和内容来源。请同时描述交互式请求路径以及任何定时摄取流程。

绘制我们的文档聊天机器人:Vercel 上的 Next.js 搜索 Supabase pgvector,并使用 Claude 作答。Inngest 每晚同步 Notion。
AI 应用架构图示例

这里,提示区分了面向用户的问答流程和每晚执行的同步流程。

绘制 AWS 基础设施

对于 AWS 架构,请直接命名服务和网络边界。stack-diagram 使用 AWS 官方架构图标。

绘制我们的 AWS 应用:CloudFront 位于 S3 和公有子网中的 ALB 前方。Fargate、RDS 和 ElastiCache 位于私有子网中。
AWS 架构图示例

这段描述传达了路由层、静态存储、负载均衡器,以及公有子网和私有子网之间的隔离。

选择输出格式

默认结果是一个自包含的 HTML 文件。你也可以直接在提示词中请求其他受支持的格式:

  • HTML:最适合代码仓库、内部文档和维基。字体和徽标会嵌入同一个文件中。
  • PNG:适用于演示文稿和文档。导出 PNG 需要使用带有 Chromium 的 Playwright。
  • React 组件:无需依赖,适合集成到 React 项目中。
  • Artifact:适合通过 Claude 发布和分享。
将此技术栈绘制为一个自包含的 HTML 文件:
Vercel 上的 Next.js 调用 Hono API,后者将数据存储在 Neon 中。

PNG 文件和 React 组件都从同一个底层 HTML 文件渲染,有助于保持不同输出格式的一致性。

使用浅色和深色主题

每个图表都会以浅色和深色主题渲染。技术图块保持白色,以便官方徽标保留原有颜色;分组标签则可以切换为适合深色主题的品牌徽标。

以浅色和深色主题显示的架构图

在代码仓库或维基中发布输出内容时,如果读者可能使用不同的界面配色方案,请保留两种主题。

高级提示词技巧

描述流量方向

产品列表可以说明技术栈包含哪些内容,但方向性语言能解释其工作方式。使用 调用、查询、提供服务、发布、部署 和 同步 等动词。

命名边界和位置

说明组件是否共享部署、属于某个工作区,或位于公有和私有子网中。这些细节有助于图表正确地将相关组件分组。

包括计划任务和自动化

如果某个流程每晚、每次提交或部署期间运行,请将这些信息包含在内。这有助于区分后台工作流和主要请求路径。

请求所需的交付格式

当默认的 HTML 格式不是你需要的格式时,请指定 HTML、PNG、React 或 Artifact 输出。若要获得便于分享且支持离线使用的结果,请请求一个自包含的 HTML 文件。

保持品牌资源不变

该项目不会重新着色或重绘徽标。品牌名称和徽标仍归各自所有者所有,在图表中的出现不代表获得认可或背书。

许可注意事项

项目代码和文档使用 MIT 许可证。捆绑字体使用 SIL Open Font License 1.1。徽标不会随项目捆绑;生成期间会从受支持的徽标集合、AWS、Lucide 或官方品牌来源和代码仓库中下载徽标。

结语

stack-diagram 提供了一种快速方式,可将简洁的架构描述转换为精美的可视化图表,并提供官方徽标、清晰的路由、主题支持以及多种导出选项。安装此技能,清楚地描述组件及其关系,并请求适合你的文档或分享工作流的输出格式。