项目简介

CV-Git将人工智能集成到您的Git工作流程中,提供强大的AI辅助开发功能。它能理解代码库的结构、关系和上下文,实现智能语义搜索、代码解释、代码生成和代码审查等。作为一个MCP服务器,它将这些能力以标准化的工具形式开放给大型语言模型(LLM)客户端,例如Claude Desktop,使得LLM能够直接与您的代码库进行交互。

主要功能点

  • 代码理解与分析: 基于抽象语法树(AST)解析代码,构建知识图谱(使用FalkorDB),支持多语言(TypeScript, Python, Go, Rust, Java),能够分析调用图、符号关系、识别死代码、检测循环依赖和复杂性分析。
  • 语义搜索: 利用向量嵌入(通过OpenAI和Qdrant)实现自然语言的代码搜索,根据功能描述查找相关代码,提供上下文感知的搜索结果。
  • AI辅助开发命令: 提供命令行工具,让AI解释代码、根据任务描述生成代码、进行多方面代码审查,以及进行高级代码关系查询。
  • MCP工具集成: 将上述所有能力封装成20个MCP工具,供AI代理(如Claude Desktop)直接调用,实现AI代理对代码库的深入理解和操作。
  • Git无缝集成: 所有标准Git命令保持原有功能,并支持增量更新知识图谱和嵌入。

安装步骤

  1. 系统依赖:
    • Linux/WSL: 打开终端,运行 'sudo apt update && sudo apt install -y libsecret-1-dev build-essential python3'。
    • macOS: 运行 'xcode-select --install'。
    • Windows: 推荐使用WSL2并按照Linux/WSL步骤操作。
  2. Node.js (18+), pnpm 和 Docker:
    • 安装Node.js 18+(推荐使用nvm)。
    • 全局安装pnpm:'npm install -g pnpm'。
    • 安装并启动Docker(用于FalkorDB和Qdrant)。
  3. 克隆仓库并构建:
    git clone https://github.com/controlVector/cv-git.git
    cd cv-git
    pnpm install
    pnpm build
    cd packages/cli && pnpm link --global && cd ../..
  4. 启动数据库服务:
    docker run -d --name falkordb -p 6379:6379 falkordb/falkordb
    docker run -d --name qdrant -p 6333:6333 qdrant/qdrant
  5. 配置API密钥:
    • 设置 'ANTHROPIC_API_KEY' 和 'OPENAI_API_KEY' 环境变量,或在项目根目录创建 '.env' 文件。
    • 例如:
      ANTHROPIC_API_KEY=sk-ant-...
      OPENAI_API_KEY=sk-...
  6. 初始化仓库:
    • 进入您的Git项目目录,运行 'cv init'。
    • 同步代码库以构建知识图谱和嵌入:'cv sync'。

服务器配置(针对MCP客户端)

要让支持MCP协议的客户端(如Claude Desktop)连接CV-Git服务器,您需要将以下配置添加到客户端的MCP服务器配置中。这通常是一个JSON文件(例如 'claude_desktop_config.json'):

{
  "mcpServers": {
    "cv-git": {
      "command": "node",
      "args": ["/path/to/cv-git/packages/mcp-server/dist/index.js"],
      "env": {
        "ANTHROPIC_API_KEY": "您的Anthropic API密钥",
        "OPENAI_API_KEY": "您的OpenAI API密钥"
      }
    }
  }
}
  • "cv-git": 这是您为该MCP服务器定义的名称,客户端将使用此名称来识别它。
  • "command": 启动MCP服务器进程的命令。此处为 'node'。
  • "args": 传递给 'command' 的参数。此处指定了CV-Git MCP服务器的启动脚本路径。请务必将 '/path/to/cv-git/packages/mcp-server/dist/index.js' 替换为您实际的CV-Git仓库中 'mcp-server' 模块的 'dist/index.js' 文件的绝对路径。
  • "env": 为MCP服务器进程设置的环境变量。此处配置了Anthropic和OpenAI的API密钥,以便服务器能够调用这些外部AI服务。请将 '"您的Anthropic API密钥"' 和 '"您的OpenAI API密钥"' 替换为您的实际API密钥。

配置完成后,重启您的MCP客户端即可开始使用CV-Git提供的AI工具。

基本使用方法(作为CLI工具或通过AI代理)

  • 语义搜索: 'cv find "认证逻辑"' (在代码中查找相关实现)。
  • AI解释代码: 'cv explain "authenticateUser"' (获取函数的自然语言解释)。
  • AI生成代码: 'cv do "为所有API端点添加日志记录"' (AI会建议代码更改)。
  • AI代码审查: 'cv review --staged' (审查暂存区的代码)。
  • 通过AI代理: 在配置好的MCP客户端(如Claude Desktop)中,AI代理将能够直接调用CV-Git的20个工具,例如 'cv_find', 'cv_explain', 'cv_do', 'cv_review' 等,实现更高级的自动化和交互。

信息

分类

开发者工具