ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(0, 152, 116);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">从一次失败开始的故事ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">几个月前,我在 X(推特)上刷到一位国外大佬分享的架构图,当时就被震撼到了——节点会动、数据在流动、点击还能展开细节,这哪是架构图,简直是艺术品!ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">经过一番调研,我发现这些炫酷的图表都是用React Flow做的。React Flow 是一个专门用来创建节点编辑器和交互式流程图的库,Stripe、Zapier 这些大厂都在用它来做技术文档。ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">当时我就想:"这要是能用 AI 直接生成就好了"。ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">结果?当然是失败了。ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">那时候的大模型对 React Flow 的支持很差,生成的代码各种报错,ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14.4px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;">useNodesState is not a function、灰色背景去不掉、节点连不上... 折腾了两天,最后放弃了。ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: inherit;color: rgb(0, 152, 116);">直到上周,事情出现了转机。ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">我无意中又试了一次,这次用的是最新的 Claude 4.1 Opus。没想到,它居然完美地生成了一个功能完整的架构图!节点能拖动、边会动画、还有小地图导航,所有我想要的功能都有了。我赶紧把这个发现分享到了群里,朋友们的反应出奇一致:"卧槽,这也太酷了吧!" 于是就有了这篇文章。我想把这个方法分享给更多人,让大家都能用上这么酷的技术。 你是不是也有这些痛点?说实话,作为程序员,我们都画过架构图: - •静态图不够直观:复杂的数据流向,静态图根本说不清楚
更要命的是,当你要给别人讲解系统架构时,对着一张静态图,你得不停地用鼠标指:"数据先从这里流到这里,然后..." 而如果是交互式的架构图呢?数据流向一目了然,点击节点就能看细节,处理进度实时显示。这不就是我们梦寐以求的效果吗? 一个提示词,改变一切废话不多说,先看效果:
想象一下:节点在呼吸、数据在流动、点击能展开、拖动能重排看起来很复杂?其实你只需要:
就是这么简单。 核心提示词(复制即用)# 交互式架构图生成 Prompt
创建一个专业的动态架构可视化系统。要求:单HTML文件,CDN引入,开箱即用。
## 核心技术 使用 React Flow 11 版本,充分利用其所有高级特性。
## 关键防错(必须遵守,都是血泪教训)
// ❌ 这样写会报错 "useNodesState is not a function" const { useNodesState, useEdgesState } = ReactFlow;
// ✅ 正确写法(兼容性处理) const ReactFlowComponent = window.ReactFlow.default || window.ReactFlow.ReactFlow; const { useNodesState, useEdgesState } = window.ReactFlow;
// ✅ 去掉默认灰色背景(不加这个会很丑) .react-flow__node { background: transparent !important; }
## 功能要求(能用的都用上)
### 核心功能 const { project, getNodes, getEdges, setNodes, setEdges, getZoom, setViewport, fitView, useReactFlow } = window.ReactFlow;
### 节点系统 - 至少5种不同类型的节点(输入、处理、AI、输出、分组等) - 节点要有状态指示(ready、processing、completed、error) - 支持实时数据更新(进度条、指标等) - 响应式设计:缩放时显示不同详细程度
### 边的设计 - 动画边:表示数据流动 - 带指标的边:显示延迟、带宽等信息 - 不同颜色:区分数据类型 - 路径动画:让人一眼看出流向
### 交互功能 - 右键菜单 - 双击编辑 - 拖放创建新节点 - 连线验证 - 键盘快捷键(S-开始 R-重置 H-隐藏面板 空格-适应视图)
### UI组件 - 可折叠控制面板(不要挡住主画布) - 小地图导航 - 背景网格 - 悬浮操作按钮
### 视觉效果 - 渐变色背景 - 毛玻璃效果 - 呼吸灯动画 - 平滑过渡
## 让AI自由发挥 在满足上述要求的基础上,尽情发挥创意,做出让人眼前一亮的效果。
使用技巧(都是我踩坑总结的)- 1.一定要用最新的 Claude 模型(4.1 Opus 或 Sonnet),老版本真的不行。
- 2.描述需求时要具体:不要说"做个流程图",要说"视频处理流程,包含下载、转码、AI分析、输出4个阶段"
- 3.遇到报错不要慌:通常是 React Flow 引入的问题,把错误信息给 Claude 看,它会修复
- 4.想要特殊效果就直说:比如"节点要有霓虹灯效果"、"连线要像星空一样闪烁"
实战案例:影海拾贝的处理流程我用这个方法给"影海拾贝"项目做了个处理流程图,效果是这样的: 看到了吗?这个图能展示: 最酷的是,当你点击"开始处理",整个流程会动起来。 数据从左到右流动,每个节点依次亮起,处理完成后变绿,如果出错会变红。这种视觉反馈,比看日志爽多了。 为什么现在可以了?你可能会问:为什么几个月前不行,现在就可以了? 我觉得主要是三个原因: 1. Claude 真的变强了新版本的 Claude 对前端框架的理解大幅提升,特别是对 React Flow 这种相对小众的库,现在也能准确使用它的 API 了。 2. 提示词工程的进步经过这几个月的摸索,我发现了关键: 3. 社区生态成熟了React Flow 的文档更完善了,CDN 版本更稳定了,这些都让 AI 生成的代码更可靠。 不只是炫技,是真的有用有人可能觉得这只是花里胡哨,但我想说,这真的很实用: 技术文档想想看,当你在写技术文档时,一个会动的架构图能让读者: 项目演示给老板或客户演示时,这种动态效果简直是加分项。我一个朋友用这个做项目演示,客户当场就说:"这个系统看起来就很专业!" 团队协作新人入职时,给他一个交互式架构图,比看一堆文档有效多了。点点鼠标就能了解整个系统,培训时间直接减半。 我的实际使用方法(超简单)说实话,我生成"影海拾贝"这个项目的架构图,用的方法特别简单: 第一步:把项目资料扔给 AI我直接把@docs文件夹下的这些文件一起给了 Claude: - •PRD.md- 产品需求文档(告诉 AI 这个系统是干什么的)
- •architecture.md- 架构设计(系统有哪些模块)
- •api-spec.md- API 规范(接口和数据流)
就像这样: @docs/PRD.md @docs/architecture.md @docs/api-spec.md
根据上面的文档,用下面的提示词帮我生成一个处理流程的可视化架构图:
[这里粘贴提示词]
第二步:AI 自动理解并生成神奇的事情发生了——Claude 读懂了我的项目: - • 甚至连 Whisper、Claude API 这些技术细节都加上了
生成的代码直接保存为processing-flow.html,双击打开,完美! 第三步:微调效果(可选)如果想调整,直接告诉 Claude: 为什么这个方法这么好用?- 4.一次生成,多次使用:生成的 HTML 可以直接用于演示
真实案例对比传统方法:
我的方法:
常见问题(我都遇到过)Q: 为什么我的节点是灰色的? A: 加上.react-flow__node { background: transparent !important; },这是 React Flow 的默认样式问题。 Q: 报错 "useNodesState is not a function"? A: 用提示词里的兼容性写法,不同版本的 React Flow 导出方式不一样。 Q: 能导出成图片吗? A: 可以!React Flow 支持导出 SVG/PNG,让 Claude 加上导出功能就行。 Q: 能保存布局吗? A: 当然,可以把节点位置保存到 localStorage,下次打开还是上次的布局。 Q: 支持多少个节点? A: 我试过 500+ 节点依然流畅,React Flow 的性能很好。 一些有趣的玩法既然都会了,不妨试试这些: 1. 游戏技能树"做一个RPG游戏技能树,节点是技能,连线表示前置关系,点击显示技能描述" 2. 家谱图"创建一个家谱图,支持添加照片,显示关系,可以无限展开" 3. 思维导图"做一个思维导图工具,支持快捷键操作,能导出成markdown" 4. 状态机设计器"创建一个有限状态机设计器,能模拟状态转换,支持导出代码" 写在最后从几个月前的失败,到现在能随手做出专业的架构图,这个过程真的很有成就感。 技术在进步,AI 在进步,我们能做的事情也越来越多。以前需要专业设计师才能做的效果,现在我们程序员自己就能搞定。 如果你也被静态的架构图折磨过,不妨试试这个方法。相信我,当你看到自己做的架构图动起来的那一刻,你会和我一样兴奋的。 最后,如果你做出了什么有趣的效果,欢迎分享给我。说不定下次,我们能用 AI 做出更酷的东西。除了Claude Code 之外,Cursor,Windsurf,Trae ,Kiro 等IDE 工具都可以生成。目前Claude 模型之外我没有测试过,欢迎大家去尝试探索。
彩蛋:其实这篇文章的架构图,也是用同样的方法生成的。怎么样,是不是看不出来?😄 |