项目简介 ChunkHound是一款强大的本地代码知识库工具,旨在将您的代码库转化为可搜索的知识库,供AI助手进行深度研究。它支持24种编程语言和配置文件格式,利用cAST算法进行语义代码分块和多跳语义搜索,并可通过MCP协议与各种AI助手(如Claude、VS Code、Cursor等)无缝集成。

主要功能点

  • 深度语义代码搜索: 使用自然语言查询代码,例如“查找身份验证代码”。
  • 多跳语义搜索: 发现代码中超越直接匹配的相互关联关系,帮助理解复杂功能。
  • 正则表达式搜索: 支持基于模式匹配的代码搜索,无需API密钥。
  • 本地优先架构: 您的代码文件始终保存在本地机器上,确保数据隐私,并支持离线工作。
  • 实时索引: 自动监控代码库文件更改,智能更新索引,支持Git分支切换和实时文档更新。
  • 广泛语言支持: 通过Tree-sitter和自定义解析器支持24种编程语言和配置格式,如Python、Java、TypeScript、Markdown、JSON等。
  • MCP协议集成: 提供标准化的JSON-RPC接口,允许AI客户端调用其上下文服务,获取资源和执行工具。

安装步骤 ChunkHound需要Python 3.10+和'uv'包管理器。

  1. 安装 'uv' (如果尚未安装):
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 安装 ChunkHound:
    uv tool install chunkhound

MCP服务器配置 MCP客户端需要MCP服务器的启动命令及其参数才能建立连接。ChunkHound MCP服务器可以通过'stdio'(标准输入/输出)或'http'两种传输协议启动。

以下是两种常见MCP客户端(例如Claude Code或VS Code插件)的配置示例,您可以在项目的根目录创建 '.mcp.json' 或 '.vscode/mcp.json' 文件进行配置:

Claude Code ('.mcp.json' 文件示例)

{
  "mcpServers": {
    "ChunkHound": {
      "command": "chunkhound",
      "args": ["mcp", "stdio"],
      "env": {},
      "description": "本地代码知识库和搜索服务"
    }
  }
}
  • '"ChunkHound"': 您为MCP服务器定义的名称。
  • '"command"': 启动ChunkHound服务器的命令行工具,通常指向您的 'chunkhound' 可执行文件。
  • '"args"': 传递给命令的参数列表。'"mcp"'是强制参数,用于以MCP模式运行;'"stdio"'表示使用标准输入/输出协议进行通信,适用于Claude Code等客户端。
  • '"env"': 可选的环境变量,例如可在此处配置API密钥。
  • '"description"': 服务器的简要描述。

VS Code ('.vscode/mcp.json' 文件示例)

{
  "servers": {
    "ChunkHound": {
      "command": "chunkhound",
      "args": ["mcp", "stdio"],
      "description": "本地代码知识库和搜索服务"
    }
  }
}
  • '"ChunkHound"': 您为MCP服务器定义的名称。
  • '"command"': 启动ChunkHound服务器的命令行工具,通常指向您的 'chunkhound' 可执行文件。
  • '"args"': 传递给命令的参数列表。'"mcp"'是强制参数,用于以MCP模式运行;'"stdio"'表示使用标准输入/输出协议进行通信,适用于VS Code等客户端。
  • '"description"': 服务器的简要描述。

配置说明:

  • 您可以使用 'stdio' 或 'http' 作为传输协议。'stdio' 模式通过标准输入/输出进行通信,适合大多数LLM客户端。
  • 如果选择 'http' 模式,请将 'args' 列表中的 'stdio' 替换为 'http',并可添加 '--port' 和 '--host' 参数来指定服务器地址。例如:'"args": ["mcp", "http", "--port", "5173", "--host", "0.0.0.0"]'。
  • 有关更详细的配置信息,请参阅ChunkHound官方文档:'chunkhound.github.io'。

基本使用方法

  1. 创建配置文件: 在您的项目根目录创建一个名为 '.chunkhound.json' 的文件,用于配置嵌入提供商。如果您想使用语义搜索功能,需要配置一个API密钥(例如OpenAI或VoyageAI),或者使用本地模型(如Ollama)。
    {
      "embedding": {
        "provider": "openai",
        "api_key": "your-openai-api-key-here"
      }
    }
    如果您的项目不需要语义搜索,可以省略此步骤或在索引命令中使用 '--no-embeddings' 选项。
  2. 索引您的代码库: 运行以下命令开始索引您的项目。这将把您的代码转化为可搜索的知识库。
    chunkhound index .
    (其中 '.' 表示当前目录,您也可以指定其他目录)
  3. 与AI助手集成: 按照上述“MCP服务器配置”步骤,将ChunkHound配置到您偏好的AI助手(如Claude Code、VS Code等)中。配置完成后,您的AI助手将能够直接调用ChunkHound提供的搜索工具,访问您的代码知识库。

信息

分类

开发者工具