项目简介

'src-to-kb' 是一个强大的工具,可以将您的项目源代码(支持多种编程语言)自动转换为结构化、可搜索的知识库。它能对代码进行智能分块、生成嵌入向量(可选),并提供多种答案模式(如面向终端用户、开发者、AI助手)进行智能搜索。更重要的是,它集成了Model Context Protocol (MCP) 服务,可以直接与Claude Code、Cursor等LLM开发环境无缝协作,为LLM提供实时、精确的代码上下文信息和功能。

主要功能点

  • 代码知识库生成: 自动扫描、解析代码仓库,生成结构化的知识库,包含文档、代码块和(可选的)嵌入向量。
  • 智能搜索: 支持自然语言查询,可根据用户角色(终端用户、开发者、AI助手)调整答案的详细程度、格式和所引用的代码类型。
  • 多语言支持: 兼容JavaScript, TypeScript, Python, Java, C++, Go, Rust等多种主流编程语言,以及配置文件、文档等。
  • REST API: 提供功能完备的RESTful API接口,方便与其他服务或自定义前端应用集成。
  • MCP服务器: 作为Model Context Protocol服务提供者,为兼容MCP的LLM客户端提供代码资源托管工具调用(如知识库生成、搜索、获取统计信息)和Prompt模板渲染等能力。
  • AI辅助: 可结合OpenAI embeddings(嵌入向量)和GPT-5模型,为知识库搜索提供更智能、更精准的理解和答案生成。

安装步骤 (全局安装)

  1. 确保您的系统已安装 Node.jsnpm (Node Package Manager)。

  2. 打开命令行工具(如Terminal或CMD),执行以下命令进行全局安装:

    npm install -g @vezlo/src-to-kb
  3. 安装完成后,您将获得 'src-to-kb' (知识库生成)、'src-to-kb-search' (知识库搜索)、'src-to-kb-api' (REST API服务器) 和 'src-to-kb-mcp' (MCP服务器) 等命令,以及 'src-to-kb-mcp-install' (MCP服务器自动配置工具)。

MCP服务器配置 (以Claude Code为例)

MCP服务器允许LLM客户端(如Claude Code)调用其功能。您需要将 'src-to-kb' MCP服务器的启动命令注册到LLM客户端中。

推荐方式:使用自动安装脚本 最简单和推荐的方式是使用 'src-to-kb-mcp-install' 脚本来自动配置兼容MCP的LLM客户端(如Claude Code):

src-to-kb-mcp-install
# 脚本会提示您输入OpenAI API Key(可选,用于AI功能),并自动完成配置。

完成安装后,请彻底重启您的LLM客户端(如Claude Code),以使新的MCP服务器配置生效。

手动配置信息参考 如果您需要手动配置MCP客户端,以下是 'src-to-kb' MCP服务器所需的核心配置信息:

  • 服务器名称 (Server Name): 'src-to-kb'
    • LLM客户端将通过此名称来引用和调用本MCP服务。
  • 启动命令 (Command): 'npx'
    • 指定用于启动MCP服务器的命令。'npx' 可以确保即使包未全局安装,也能正确执行。
  • 命令参数 (Arguments):
    • '"-y"':'npx' 的参数,自动确认。
    • '"@vezlo/src-to-kb"':指定要运行的npm包。
    • '"src-to-kb-mcp"':启动 'src-to-kb' 包中包含的MCP服务器组件。
  • 环境变量 (Environment Variables):
    • 'OPENAI_API_KEY': 您的OpenAI API Key。这是一个可选配置,如果提供,将启用知识库搜索的AI驱动答案功能。

基本使用方法 (与LLM客户端交互)

一旦MCP服务器成功配置并运行,您可以在LLM客户端(如Claude Code)中通过自然语言直接与 'src-to-kb' 交互。LLM客户端将通过MCP协议调用 'src-to-kb' MCP服务器提供的工具来执行操作,并返回结果。

示例LLM提问:

  • 生成知识库: "为这个项目生成一个知识库"
  • 搜索代码: "搜索一下认证功能的实现"
  • 获取项目信息: "这个代码库使用了哪些编程语言?"
  • 查找类似文件: "找到与 'config.js' 类似的文件"
  • 理解代码: "解释 'App.ts' 文件中的 'start' 方法是如何工作的"

信息

分类

开发者工具