项目简介
kodit 是一个用于索引本地代码库并提供检索能力的工具,它通过实现 Model Context Protocol (MCP) 服务器接口,使得大型语言模型 (LLMs) 能够以标准化的方式访问和利用这些代码信息,从而提升代码生成、理解和问答的质量。
主要功能点
- 代码源管理: 支持添加和管理本地文件目录作为代码源。
- 代码索引: 对指定的代码源创建索引,提取代码片段(例如函数、方法等)。
- 代码检索: 基于关键词或用户意图,在已索引的代码中搜索并返回相关的代码片段。
- MCP服务器接口: 将代码检索功能封装为标准的MCP工具 ('retrieve_relevant_snippets'),供MCP客户端(如LLM应用)调用。
- 多种安装方式: 提供 Docker, pipx, homebrew, pip 等多种便捷安装方式。
安装步骤
以下是推荐的安装方法之一,请选择您喜欢的方式:
使用 pipx (推荐用于CLI应用):
pipx install kodit
或使用 Docker:
docker run -it --rm registry.helix.ml/helix/kodit:latest
(请注意,生产环境推荐使用特定版本而非 'latest')
或使用 Homebrew (macOS/Linux):
brew install helixml/kodit/kodit
或使用 uv:
uv tool install kodit
服务器配置 (供 MCP 客户端使用)
MCP 客户端需要知道如何启动 kodit MCP 服务器。以下是基于 kodit CLI 的标准启动配置信息,您需要将其提供给 MCP 客户端进行配置(例如,在客户端的设置文件或界面中填写):
{ "server name": "kodit MCP Server", "command": "kodit", "args": [ "serve", "--host", "127.0.0.1", // MCP服务器绑定的IP地址,通常是本地地址 "--port", "8080" // MCP服务器监听的端口,默认是8080 // 可选参数: "--reload" 用于开发模式 ], "transport": "sse" // 指明使用的传输协议是 Server-Sent Events // 客户端可能还需要其他配置,例如日志级别、遥测禁用等,根据需要添加相应的 kodit CLI 参数到 args 列表中。 }
基本使用方法
-
启动 kodit 服务器: 打开终端,运行以下命令:
kodit serve服务器将在默认端口 8080 启动,等待 MCP 客户端连接。
-
(可选)管理代码源和索引(在服务器启动前或在另一个终端窗口操作):
- 添加代码源: 将本地代码目录添加为 kodit 的一个源。例如,添加 '/path/to/your/codebase':
记下输出中显示的 Source ID。kodit sources create /path/to/your/codebase - 列出代码源: 查看已添加的所有代码源:
kodit sources list - 创建索引: 为一个代码源创建索引。使用上一步获取的 Source ID:
记下输出中显示的 Index ID。kodit indexes create <Source ID> - 列出索引: 查看已创建的所有索引:
kodit indexes list - 运行索引: 执行索引过程,从代码文件中提取片段并存储。使用 Index ID:
kodit indexes run <Index ID> - 通过CLI检索: 可以在CLI中直接测试检索功能 (这不是通过MCP,仅用于验证索引数据):
kodit retrieve "hello world function"
- 添加代码源: 将本地代码目录添加为 kodit 的一个源。例如,添加 '/path/to/your/codebase':
-
连接 MCP 客户端: 配置您的 MCP 客户端,使用上面提供的服务器配置信息("command": "kodit", "args": ["serve", "--host", "127.0.0.1", "--port", "8080"] 等)。客户端连接成功后,应该能够发现 'retrieve_relevant_snippets' 工具,并在需要代码上下文时调用它。
请注意: MCP 服务器需要访问到您的代码源文件才能进行索引和检索。确保运行服务器的用户有权限访问这些目录。
信息
分类
AI与计算