项目简介
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模式匹配,查找复杂代码模式或反模式。
- 隐私优先: 支持本地嵌入模型,确保敏感代码不会离开本地机器。
- 快速增量更新: 仅重新处理更改的文件,提高索引效率。
安装步骤
- 确保您的系统已安装Go语言环境。
- 打开终端,运行以下命令安装'cortex'命令行工具(推荐):
go install github.com/mvp-joe/project-cortex/cmd/[email protected] - 或者,您可以从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)与客户端通信,提供上下文服务。
基本使用方法
- 索引项目:
在您的项目目录下,打开终端并运行索引命令。这将分析您的代码和文档,并将结构化知识存储在项目根目录下的'.cortex/'目录中。
- 一次性索引所有文件:'cortex index'
- 实时监控文件更改并增量索引:'cortex index --watch'
- AI助手集成: 配置好'.mcp.json'后,您的AI编程助手将能够自动发现并连接到Project Cortex服务器。当您使用AI助手时,它将能够利用Project Cortex提供的丰富上下文信息进行更智能的代码生成、问题回答和重构建议。例如,您可以要求AI“查找认证模块的实现细节”或“解释'UserService'类的调用图”。
信息
分类
开发者工具