项目简介

Giant AI是一个开源的、终端优先、与Neovim深度集成的开发工具,旨在为开发者提供类似Cursor IDE的AI辅助编程体验,而无需离开命令行环境。它通过实现Model Context Protocol (MCP) 标准,作为后端服务器向AI模型(LLM)客户端提供丰富的项目上下文、可调用的工具和预定义的Prompt模板,从而赋能LLM更深入地理解代码并执行复杂任务。

主要功能点

  • 智能上下文管理: 自动分析项目结构、语言、框架和编码规范,生成'.giant-ai/context.md'和'.giant-ai/conventions.yml'文件,为LLM提供项目全局上下文。
  • 语义代码搜索 (RAG): 构建代码库的语义索引,支持通过自然语言查询代码功能和模式,而非仅限关键词搜索。
  • 代码架构分析: LLM可调用工具分析项目依赖、架构、入口点和配置,获取项目概览。
  • Proof-of-Concept (POC) 模板生成: 根据指定语言和模式(如API、CLI、Web应用等)生成POC代码模板。
  • 代码片段提取: LLM可调用工具精准提取特定文件路径和行号处函数或类的完整代码上下文。
  • 自动化Agent模式: 实现类似Cursor的自主编码能力,支持多步任务执行、自动文件修改、检查点回滚和多种LLM提供商集成。
  • 多LLM提供商兼容: 支持Claude、OpenAI、Anthropic、Gemini和本地Ollama模型。
  • Neovim及其他MCP客户端集成: 提供Neovim插件,并支持任何兼容MCP协议的AI桌面应用或编辑器连接。

安装步骤

  1. 克隆仓库: 'git clone https://github.com/bearded-giant/giant-ai'
  2. 进入目录: 'cd giant-ai'
  3. 运行安装脚本: './scripts/ai-setup' (此脚本会自动创建Python虚拟环境、安装依赖、设置MCP服务器并创建CLI工具的软链接)
  4. 添加到PATH: 将以下行添加到你的 '.bashrc' 或 '.zshrc' 文件中,然后执行 'source ~/.bashrc' 或 'source ~/.zshrc' 使其生效:
    export PATH="$HOME/.local/bin:$PATH"
  5. 初始化项目: 在你的任何项目根目录运行 'ai-init-project-smart' 命令,以自动检测项目并生成 '.giant-ai/' 配置。
  6. 索引代码库: 在项目根目录运行 'ai-rag index .' 命令,以创建项目的语义搜索索引。

MCP服务器配置 (示例)

MCP服务器通常由MCP客户端(例如AI IDE或LLM桌面应用)通过命令行启动。以下是一个MCP客户端可能需要配置的JSON信息示例,用于连接Giant AI MCP服务器。MCP客户端会使用此配置信息来启动并连接到Giant AI服务器,以便LLM可以使用其提供的工具和上下文。

{
  "name": "Giant AI Project Context Server",
  "description": "提供项目级代码上下文、语义搜索和代码分析工具",
  "command": "node",
  "args": [
    "/path/to/your/giant-ai/mcp/project-server.js"
  ],
  "capabilities": {
    "tools": [
      "analyze_codebase_structure",
      "get_proof_of_concept_template",
      "extract_function_context",
      "semantic_code_search",
      "get_project_context"
    ],
    "prompts": [
      "architecture_review",
      "poc_planning"
    ]
  },
  "transport": "stdio",
  "auto_start": true,
  "project_aware": true,
  "project_root_env": "PROJECT_PATH"
}

参数注释:

  • 'name': 服务器的显示名称。
  • 'description': 服务器功能的简要描述。
  • 'command': 启动MCP服务器的可执行文件路径,这里是 'node'。
  • 'args': 传递给 'command' 的参数列表。请务必将 '/path/to/your/giant-ai/mcp/project-server.js' 替换为 'giant-ai' 仓库在您系统上的实际路径。
  • 'capabilities': 服务器支持的功能列表,包括它能提供的工具和Prompt模板。
  • 'transport': 服务器与客户端通信的传输协议,这里是 'stdio' (标准输入输出)。
  • 'auto_start': 指示MCP客户端是否应在需要时自动启动此服务器。
  • 'project_aware': 指示此服务器是否感知项目上下文,这意味着它需要在特定项目目录中启动或提供项目路径。
  • 'project_root_env': 当'project_aware'为'true'时,客户端会通过此环境变量(例如'PROJECT_PATH')将当前项目根目录传递给服务器。

基本使用方法

  • 语义搜索: 在任何已初始化的项目目录中运行 'ai-search "authentication middleware"' 命令,即可查找相关的代码片段。
  • 使用LLM CLI: 使用你喜欢的LLM CLI工具(如 'claude'),Giant AI会自动加载当前项目的上下文信息:直接运行 'claude' 或 'claude --continue'。
  • Agent模式: 运行 'ai-agent task "Add dark mode to settings page" --auto-accept' 命令,启动自主编码代理来完成任务。
  • 查看可用工具: LLM客户端将通过MCP协议自动发现并调用 'analyze_codebase_structure'、'get_proof_of_concept_template'、'semantic_code_search' 等工具,无需手动操作。

信息

分类

开发者工具