返回市场
场景服务

场景服务

作者:davidkingzyb32 星标更新:2025-07-13

项目介绍

🔱SCAST

静态代码分析与可视化

2024/9/27 by DKZ

English/中文

🔱SCAST 是一个程序化工具,可以将代码转换成UML图和流程图。

📽️观看视频
📽️教程
📽️MCP

支持计划

  • JavaScript(使用 acorn
  • TypeScript(目前使用 typescript,以后使用 estree
  • C#(使用自定义解析器,未来不再支持)
  • Python(使用自定义解析器,以后使用 filbert
  • Vue(以后)

其基本原理是利用解析器将代码解析成抽象语法树(AST),然后进行静态分析,最后使用 MermaidD3 进行可视化。

你可以在线尝试 这里,或者下载这个仓库并在浏览器中打开 SCAST.html。
对于开发者来说,可以通过 npm run server 部署到服务器上。或者将其作为 MCP 服务器集成到你的AI客户端中。

scast_uml

更新

MCP

mcp

  1. git clone https://github.com/davidkingzyb/SCAST.git 下载源代码。
  2. npm install
  3. 在客户端配置
{
  "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

ollama

ESTree

符合 ESTree 规范的 AST 解析器

力导向图

FDP

更多 D3 图

  • 缩进树
  • 整洁树
  • 聚集树
  • 径向整洁树
  • 径向聚集树
  • 力导向树
  • 边绑定

scast_d3