项目简介

Project Cortex 旨在增强AI编程助手的智能性,通过深入理解项目代码和文档,将其解析、索引并存储到可搜索的向量数据库中。它能够让AI助手不仅理解代码的“做什么”,还能理解“为什么存在”,从而提供架构决策、设计模式和团队知识,极大地提升AI编程助手的上下文感知和编码辅助能力。

主要功能点

  • 智能代码与文档索引: 自动提取代码中的符号(如包、导入、类型、函数)、完整定义(类型定义、函数签名)和数据(常量、变量),并对文档进行语义分块,支持Markdown、RST等多种格式。
  • 多语言支持: 支持Go、TypeScript/JavaScript、Python、Rust、C/C++、PHP、Ruby和Java等多种主流编程语言的代码结构提取。
  • MCP服务器: 核心功能之一,通过Model Context Protocol (MCP) 标准协议对外暴露索引数据,允许AI助手进行语义搜索、精确关键词搜索、代码结构查询(如调用关系、类型使用)和文件元数据查询。
  • 语义搜索: 基于向量嵌入实现,允许AI助手通过自然语言查询代码和文档,根据含义而非关键词查找相关内容。
  • 精确关键词搜索: 提供'cortex_exact'工具,支持使用FTS5查询语法进行全文关键词搜索,包括短语、布尔运算符、前缀匹配等。
  • 代码结构查询: 提供'cortex_graph'工具,能够查询代码的调用者、被调用者、依赖关系、类型使用等结构化信息。
  • 文件元数据查询: 提供'cortex_files'工具,允许使用SQL-like查询来获取文件统计信息、代码行数、语言等元数据。
  • AST模式匹配: 提供'cortex_pattern'工具,利用ast-grep进行结构化AST模式匹配,查找复杂代码模式或反模式。
  • 隐私优先: 支持本地嵌入模型,确保敏感代码不会离开本地机器。
  • 快速增量更新: 仅重新处理更改的文件,提高索引效率。

安装步骤

  1. 确保您的系统已安装Go语言环境。
  2. 打开终端,运行以下命令安装'cortex'命令行工具(推荐):
    go install github.com/mvp-joe/project-cortex/cmd/[email protected]
  3. 或者,您可以从GitHub Releases页面下载预编译的二进制文件,并将其添加到您的系统PATH中。

服务器配置

MCP客户端(如Claude Code、Cursor等)需要配置启动Cortex MCP服务器的命令和参数。您可以在项目的根目录或全局配置文件中创建'.mcp.json'文件,配置方式如下:

// 项目根目录下的 .mcp.json (推荐,让Cortex服务项目目录)
{
  "mcpServers": {
    "cortex": {
      "command": "cortex", // 启动Cortex服务器的命令行工具名称
      "args": ["mcp"]      // 传递给Cortex工具的参数,指示它作为MCP服务器启动
    }
  }
}

此配置告诉MCP客户端,名为"cortex"的MCP服务器可以通过运行'cortex mcp'命令来启动。Cortex服务器将通过标准输入输出(stdio)与客户端通信,提供上下文服务。

基本使用方法

  1. 索引项目: 在您的项目目录下,打开终端并运行索引命令。这将分析您的代码和文档,并将结构化知识存储在项目根目录下的'.cortex/'目录中。
    • 一次性索引所有文件:'cortex index'
    • 实时监控文件更改并增量索引:'cortex index --watch'
  2. AI助手集成: 配置好'.mcp.json'后,您的AI编程助手将能够自动发现并连接到Project Cortex服务器。当您使用AI助手时,它将能够利用Project Cortex提供的丰富上下文信息进行更智能的代码生成、问题回答和重构建议。例如,您可以要求AI“查找认证模块的实现细节”或“解释'UserService'类的调用图”。

信息

分类

开发者工具