Loading

AiCodeGraph.Cli

AiCodeGraph.Cli

面向 AI 编程助手(如 Claude Code、Cursor、Codex)的 .NET 代码知识图谱工具。

定位

不直接生成代码,而是为 AI 理解项目结构提供精确导航,帮助 AI 编程助手在大型项目中显著降低 token 消耗、提升响应速度。

以知识图谱形式呈现代码结构和关系,让 AI 助手快速定位相关代码,无需遍历整个代码库。

工作原理

传统 AI 编程助手在大型代码库中往往会陷入反复搜索和读取的循环。AiCodeGraph.Cli 通过为 AI 预先构建一张"代码地图" 来解决这个问题——分析并建立包含函数调用关系、模块依赖、类型关联的语义图谱,结果存储在本地 SQLite 数据库中。AI 助手不再需要大海捞针,而是直接向图谱"问路"。

安装与入门

前提: .NET 8.0 SDK

# 安装
dotnet tool install --global AiCodeGraph.Cli

# 验证
ai-code-graph --version

# 构建代码图谱(使用前必须先执行)
ai-code-graph analyze ./YourSolution.sln

命令速查

按功能场景分组:

场景 命令 说明
建图 analyze <Solution.sln> 分析项目并构建代码图谱
建图 status 查看数据库状态
代码理解 context "<MethodName>" 获取指定方法的关键上下文(调用者/被调用者)
代码理解 callgraph "<MethodName>" 探索调用关系图
代码理解 tree 树形结构显示代码库组织
质量分析 hotspots --top 10 找出最复杂的 Top N 方法
质量分析 duplicates 检测重复代码
质量分析 coupling 模块耦合度与不稳定性指标
质量分析 dead-code 列出未被调用的方法
影响分析 impact --id "<method-id>" 分析修改某方法会影响的其他代码
AI 集成 mcp 以 MCP 服务器模式启动
AI 集成 setup-claude / setup-cursor / setup-codex 一键配置各 AI 助手集成

典型场景

目标: 分析 OrderService.Process() 的调用链和影响范围。

# 1. 构建知识图谱
ai-code-graph analyze ./ECommerce.sln

# 2. 获取方法上下文
ai-code-graph context "OrderService.Process"

# 3. 分析修改影响
ai-code-graph impact --id "<method-id>"

VS Code + Cline 集成(MCP 模式)

通过 MCP 协议连接 Cline 和 AiCodeGraph。

配置

在 VS Code 中打开 Cline 侧边栏 → "MCP Servers" → "Configure MCP Server" → 编辑 cline_mcp_settings.json

{
  "mcpServers": {
    "ai-code-graph": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "ai-code-graph",
      "args": [
        "mcp",
        "--db",
        "./path/to/your/graph.db"
      ]
    }
  }
}

配置项说明

配置项 说明
command 固定 ai-code-graph
args ["mcp", "--db", "<path>"]--db 指定数据库路径(--db-path 也行,视版本而定)
timeout 超时秒数,建议 60
type 固定 "stdio"
env.MSBUILD_EXE_PATH Windows 下可选,指定 MSBuild 路径(仅当分析找不到编译器时需要)

前提: 运行配置前,先在终端执行 ai-code-graph analyze ./YourSolution.sln 构建图谱,否则 MCP 服务器没有数据可用。

使用效果

配置完成后,在 Cline 中 AI 助手可以直接调用 AiCodeGraph 的各项分析工具,无需手动切换终端。

使用建议

推荐通过命令行直接操作ai-code-graph 作为本地命令行工具使用效率更高。启动 MCP 服务后,AI 助手通过 MCP 信道通信,每次工具调用都会经过协议封装,反而可能增加 token 消耗。

简单场景直接在终端执行对应命令即可,不需要走 MCP。

使用技巧

与 MCP 集成配合使用时,提问意图要清晰。直接指明工具或分析类型,Cline 就能正确调用对应命令:

宽泛提问 引导后
"这段代码怎么样" "用代码图谱分析一下 OrderService.Process"
"这个方法会影响到哪些代码" "用影响分析看一下 Process 方法的影响范围"
"代码里有没有什么问题" "跑一下复杂度热点检测"

参考

posted @ 2026-06-13 09:04  Qanx  阅读(7)  评论(0)    收藏  举报