Swark 简介:从代码自动生成架构图
- Rifx.Online
- Programming , Technology , Machine Learning
- 14 Jan, 2025
软件架构很难做到正确。团队之间的脱节、不清晰的图表以及耗时的流程常常导致挫折和次优的设计决策。随着工程团队采用去中心化的协作架构方法,风险变得更高。
在我之前的文章 “软件架构很难” 中,我深入探讨了这些挑战,强调了困扰许多团队的沟通和图表标准中的关键缺口。
为了让软件架构变得稍微简单一些,借助 AI 和 LLM 解锁的新功能,我尝试解决并自动化 软件架构中最重要的部分之一——图表绘制。
认识 Swark
Swark 是一个 免费且开源 的 VS Code 扩展,允许使用大型语言模型 (LLMs) 自动从代码创建架构图。
只需几次点击,您就可以为您的代码库创建架构图:
为什么选择 Swark?
- 🌟 免费且开源:您只需 GitHub Copilot,现在可以免费使用。您可以查看 Swark 的代码,以了解其工作原理,并贡献力量使其更好。
- 🌍 通用语言支持:传统的代码可视化解决方案是确定性的,需要逐步添加对新语言或框架的支持。而 Swark 所有的“逻辑”都封装在 LLM 中,因此它原生支持所有语言。
- 🔑 无缝集成:Swark 直接与 GitHub Copilot 集成。无需额外的设置、身份验证或 API 密钥。
- 🛡️ 隐私优先:您的源代码仅与 GitHub Copilot 共享——不涉及其他外部 API 或提供者。
- 🧜♀️ Mermaid.js:Swark 生成 Mermaid.js 中的图表,这是一个流行的图表作为代码框架。您可以根据需要编辑和完善图表。
用例
- 🔎 学习新代码库:即时生成架构图,以便对不熟悉的代码库有高层次的理解。非常适合入职培训和处理新项目。
- 🤖 审查 AI 生成的代码:随着 AI 生成项目的普及,Swark 帮助您快速可视化其结构,并确保其符合您的标准。
- 📕 改进文档:通过最新的架构图保持文档的新鲜和详细,创建这些图只需几分钟。
- 🧩 发现设计缺陷:可视化您的代码库依赖关系图,以识别不必要的依赖或优化的领域。
- ✅ 测试覆盖率洞察:将测试文件包含在 Swark 的输入中,快速查看测试覆盖率并解决差距。
工作原理
- 文件检索:Swark 在所选文件夹内检索代码文件。Swark 会自动调整检索到的文件数量,以匹配 LLM 的最大令牌限制。
- 提示构建:基于检索到的文件,Swark 构建一个提示以生成架构图。代码文件与如何构建图表的说明一起包含在提示中。
- LLM 请求:Swark 通过 VS Code 语言模型 API 调用 GitHub Copilot 的 LLM 请求。
- 图表预览:在成功响应后,图表将被展示。这是通过创建一个包含 Mermaid 语法图表的 markdown 文件并进行预览来完成的。
示例
以下是使用 Swark 创建的架构图示例。
Swark
编程语言:TypeScript 文件数量:16
LangChain (Agents Lib)
编程语言:Python 文件数量:145
加入社区
- 在 GitHub 上给个星 ⭐: https://github.com/swark-io/swark
- 通过 Visual Studio Marketplace 安装
- 在 GitHub 上报告问题或发送邮件至 contact@swark.io
- 欢迎贡献!查看 贡献指南
有反馈、想法或创意吗?欢迎在下面的评论中告诉我们。