SCAST代码图
通过静态分析将代码转换为UML图和流程图,从而实现对代码结构的可视化和功能的解释。
服务介绍
🔱SCAST
静态代码分析与可视化
2024/9/27 由 DKZ 编写

English/中文
🔱SCAST 是一个程序化工具,可以将代码转换为 UML 图和流程图。
支持计划
- javascript (使用 acorn)
- typescript (目前使用 typescript,以后将使用 estree)
- csharp (使用自定义解析器,将来不再支持)
- python (使用自定义解析器,以后将使用 filbert)
- vue (未来支持)
其基本原理是利用解析器将代码解析成抽象语法树(AST),然后进行静态分析,最后使用 Mermaid 和 D3 进行可视化。
你可以在线尝试 这里,或者下载这个仓库并在浏览器中打开 SCAST.html。
对于开发者,可以使用 npm run server 将其部署在服务器上。或者将其作为 MCP 服务器集成到你的 AI 客户端中。
更新
MCP
git clone https://github.com/davidkingzyb/SCAST.git下载源代码。npm install- 在客户端配置
{
"mcpServers": {
"scast":{
"command":"node",
"args":[
"/YOUR_INSTALL_DIR/SCAST/mcp/index.js",
"/YOUR_WORKSPACE/",
"C:\\Users\\DKZ\\OTHER_ALLOWED_DIR\\",
]
}
}
}
工具
scast_analysis:
SCAST 是一个通过可视化帮助用户分析和总结代码的工具。
只需提供代码所在的文件夹路径,
SCAST 就可以对代码进行静态分析,生成 AST 树以帮助用户理解代码结构并解释其功能。
生成各种可视化图表,如 UML 图、AST 树图和 Mermaid 流程图。
最终返回一个包含所有类和方法名称及其功能说明的关键字列表,并附带一个链接以便用户在浏览器中查看图表详情。
scast_retriever
SCAST 是一个帮助用户分析和总结代码并提供可视化的工具。
你需要提供源代码文件夹的文件路径。SCAST 将对该文件夹中的源代码进行静态分析,生成 AST 树以帮助用户理解代码结构并解释其功能。
使用 SCAST 分析代码目录后,你可以使用 AST 树中的关键字进行搜索,更好地使用 RAG 方法回答用户问题。
该关键字可以是类名、方法名或字段名。SCAST 将在其定义处找到源代码并返回。
Ollama AI
首先安装 ollama
有关更多详细信息,请参见 ai.js
ESTree
符合 ESTree 规范的 AST 解析器
力导向图
更多 D3 图表
- 缩进树
- 整洁树
- 聚类树
- 径向整洁树
- 径向聚类树
- 力导向树
- 边捆绑