返回市场
树坐分析器

树坐分析器

作者:aimasteracc12 星标更新:2025-11-22

项目介绍

技术文档摘要

🌳 Tree-sitter Analyzer

English | 日本語 | 简体中文

Python 版本 许可证 测试 覆盖率 质量 PyPI 版本 zread GitHub Stars

🚀 面向人工智能时代的代码分析工具

深度AI集成 · 强大的文件搜索 · 多语言支持 · 智能代码分析

📋 目录


1. 💡 项目特性

Tree-sitter Analyzer 是一款面向人工智能时代的代码分析工具,提供:

特性类别关键能力核心优势
🤖 深度AI集成• 支持MCP协议<br>• SMART工作流<br>• 打破令牌限制<br>• 自然语言交互对Claude Desktop、Cursor、Roo Code的原生支持<br>系统化的AI辅助方法论<br>处理任意大小的代码文件<br>通过自然语言进行复杂分析
🔍 强大搜索• 智能文件发现<br>• 精确内容搜索<br>• 两阶段搜索<br>• 项目边界保护基于fd的高性能搜索<br>基于ripgrep的正则表达式内容搜索<br>结合文件+内容的工作流<br>自动安全边界
📊 智能分析• 快速结构分析<br>• 精确代码提取<br>• 复杂度分析<br>• 统一元素系统不需完全阅读即可理解架构<br>按行范围提取代码片段<br>循环复杂度指标<br>革命性的元素管理系统

🌍 企业多语言支持

编程语言支持级别关键特性
Java完全支持Spring框架、JPA、企业特性
Python完全支持类型注解、装饰器、现代Python特性
C#完全支持类、接口、记录、属性、异步/等待、属性、现代C#特性
PHP🆕 完全支持类、接口、特质、枚举、命名空间、属性、魔术方法、现代PHP 8+特性
Ruby🆕 完全支持类、模块、混合、块、procs、lambdas、元编程、Rails模式
SQL增强完全支持表、视图、存储过程、函数、触发器、索引,具有专门的输出格式
JavaScript完全支持ES6+、React/Vue/Angular、JSX
TypeScript完全支持接口、类型、装饰器、TSX/JSX、框架检测
HTML完全支持DOM结构分析、元素分类、属性提取、层次关系
CSS完全支持选择器分析、属性分类、样式规则提取、智能分类
Markdown完全支持标题、代码块、链接、图片、表格、任务列表、引用

注意: 目前只有上述11种语言有完整的插件实现。C/C++、Rust、Go等语言在LanguageDetector中定义,但尚未实现功能性插件。

🏆 生产就绪

  • 4,438 测试 - 100%通过率,企业级质量保证
  • 高覆盖率 - 全面的测试覆盖
  • 跨平台支持 - 兼容Windows、macOS、Linux
  • 持续维护 - 积极开发和社区支持

2. 📋 前提条件(所有用户都需要)

无论您是AI用户、CLI用户还是开发者,都需要先安装以下工具:

1️⃣ 安装uv(运行工具所需)

uv 是一个快速的Python包管理器,用于运行tree-sitter-analyzer。

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

验证安装:

uv --version

2️⃣ 安装fd和ripgrep(搜索功能所需)

fdripgrep 是用于高级MCP功能的高性能文件搜索和内容搜索工具。

操作系统包管理器安装命令备注
macOSHomebrewbrew install fd@10.3.0 ripgrep@14.1.1推荐
Windowswingetwinget install sharkdp.fd --version 10.3.0 <br> winget install BurntSushi.ripgrep.MSVC --version 14.1.1推荐
Chocolateychoco install fd --version 10.3.0 <br> choco install ripgrep --version 14.1.1可选
Scoopscoop install fd@10.3.0 ripgrep@14.1.1可选
Ubuntu/Debianaptsudo apt install fd-find=10.3.0* ripgrep=14.1.1*官方仓库
CentOS/RHEL/Fedoradnfsudo dnf install fd-find-10.3.0 ripgrep-14.1.1官方仓库
Arch Linuxpacmansudo pacman -S fd=10.3.0 ripgrep=14.1.1官方仓库

验证安装:

fd --version
rg --version

⚠️ 重要提示:

  • uv 是运行所有功能所需的
  • fdripgrep 是使用高级文件搜索和内容分析功能所需的
  • 如果未安装fd和ripgrep,基本代码分析功能仍然可用,但文件搜索功能将无法使用

🎉 v1.9.10 新增功能

新增 PHP 和 Ruby 语言支持! 🆕

我们很高兴地宣布 新增对 PHP 和 Ruby 的完全支持,包括现代特性:

PHP 支持

  • 类型提取:类、接口、特质、枚举、命名空间
  • 成员分析:方法、构造函数、属性、常量、魔术方法
  • 现代 PHP 特性
    • PHP 8+ 属性
    • 只读属性
    • 类型化属性和返回类型
    • 带方法的枚举
    • 命名参数支持
  • 高级分析:支持复杂的代码模式的Tree-sitter查询
  • 灵活的输出格式:完整表格、紧凑表格和CSV格式

Ruby 支持

  • 类型提取:类、模块、混合
  • 成员分析:实例方法、类方法、单例方法、属性访问器
  • Ruby 特性
    • 块、procs 和 lambdas
    • 元编程模式
    • Rails特定模式
    • 模块包含和扩展
    • 类和实例变量
  • 高级分析:支持Ruby惯用法的Tree-sitter查询

非常适合使用PHP(Laravel、Symfony、WordPress)和Ruby(Rails)代码库的Web开发人员和AI助手!

新增 C# 语言支持!

完全支持C#语言,包括现代特性:

  • 类型提取:类、接口、记录、枚举、结构
  • 成员分析:方法、构造函数、属性、字段、常量、事件
  • 现代C#特性
    • C# 8+ 可空引用类型
    • C# 9+ 记录
    • 异步/等待模式检测
    • 属性(注释)提取
    • 泛型类型支持
  • 高级分析:支持复杂代码模式的Tree-sitter查询
  • 灵活的输出格式:完整表格、紧凑表格和CSV格式
  • 全面集成:在CLI、API和MCP接口中均可使用

非常适合.NET开发人员和使用C#代码库的AI助手!


3. 🚀 快速开始

3.1 🤖 AI 用户(Claude Desktop、Cursor 等)

针对: 使用AI助手(如Claude Desktop、Cursor)进行代码分析的用户

⚙️ 配置步骤

Claude Desktop 配置:

  1. 查找配置文件位置:

    • Windows%APPDATA%\Claude\claude_desktop_config.json
    • macOS~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux~/.config/claude/claude_desktop_config.json
  2. 添加以下配置:

基础配置(推荐 - 自动检测项目路径):

{
  "mcpServers": {
    "tree-sitter-analyzer": {
      "command": "uv",
      "args": [
        "run", "--with", "tree-sitter-analyzer[mcp]",
        "python", "-m", "tree_sitter_analyzer.mcp.server"
      ],
      "env": {
        "TREE_SITTER_OUTPUT_PATH": "/绝对路径到输出目录"
      }
    }
  }
}

高级配置(手动指定项目路径):

{
  "mcpServers": {
    "tree-sitter-analyzer": {
      "command": "uv",
      "args": [
        "run", "--with", "tree-sitter-analyzer[mcp]",
        "python", "-m", "tree_sitter_analyzer.mcp.server"
      ],
      "env": {
        "TREE_SITTER_PROJECT_ROOT": "/绝对路径到你的项目",
        "TREE_SITTER_OUTPUT_PATH": "/绝对路径到输出目录"
      }
    }
  }
}
  1. 重启AI客户端

  2. 开始使用!告诉AI:

    请设置项目根目录为:/path/to/your/project
    

其他AI客户端:

  • Cursor:内置MCP支持,请参阅Cursor文档以获取配置信息
  • Roo Code:支持MCP协议,使用相同的配置格式
  • 其他兼容MCP的客户端:使用相同的服务器配置

3.2 💻 CLI 用户(命令行工具)

针对: 喜欢使用命令行