项目简介

Collect是一个强大的Python命令行工具包,旨在通过作为Model Context Protocol(MCP)服务器,简化AI驱动的开发流程。它集成了多种主流AI模型(Google Gemini, Anthropic Claude, OpenAI GPT, XAI Grok),提供了一系列工具来帮助开发者获取和处理信息、分析代码、管理提示词,并协调跨模型的AI任务。

主要功能点

  • 多模型集成: 通过统一接口与Google、Anthropic、OpenAI和XAI的多种AI模型互动。
  • 内容处理: 从网页抓取内容,并能将HTML转换为干净的Markdown或纯文本格式。
  • 代码与差异分析: 利用集成AI模型对文件或Git差异进行代码审查。
  • 提示词管理: 支持版本控制的提示词(Prompt)管理系统,可本地同步和存储在SQLite数据库中。
  • Token工具: 提供计算不同模型Token使用量的工具,帮助管理成本和上下文窗口。
  • 安全配置: 利用Google Cloud Secret Manager安全存储API密钥。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/austere-labs/collect.git
    cd collect
  2. 创建虚拟环境并安装依赖: Collect项目推荐使用'uv'工具进行依赖管理和运行。如果您尚未安装'uv',请先安装。
    # 如果未安装uv,请先安装: pip install uv
    uv venv
    uv pip install -r requirements.txt
    (如果您不使用'uv',可以使用'python -m venv .venv'和'./.venv/bin/pip install -r requirements.txt')
  3. 配置环境变量: 在项目根目录创建'.env'文件。根据'config.py'中的设置,您需要配置以下重要环境变量,特别是AI服务提供商的API密钥路径和您的Google Cloud项目ID:
    # 示例部分配置 (请根据您的实际情况和config.py补充完整)
    GCP_PROJECT_ID=您的GoogleCloud项目ID
    PORT=您的服务器端口 (例如: 8000)
    DB_PATH=data/collect.db
    
    ANTHROPIC_API_KEY_PATH=projects/您的GoogleCloud项目ID/secrets/ANTHROPIC_API_KEY/versions/latest
    ANTHROPIC_MODEL_SONNET=claude-3-5-sonnet-20240620
    # ... 其他Anthropic、Gemini、XAI、OpenAI的密钥路径和默认模型配置
    请将'您的GoogleCloud项目ID'替换为您的实际项目ID,并确保API密钥路径正确指向Google Cloud Secret Manager中的密钥。
  4. 数据库初始化(可选但推荐): 运行以下命令将本地文件系统中的Prompt模板加载到SQLite数据库中:
    python initial_load.py

服务器配置

Collect作为MCP服务器,需要被MCP客户端(如Claude Code或Gemini CLI)配置才能启动和使用。以下是配置示例,请在MCP客户端的配置文件中进行设置:

  • 对于Claude Code客户端 (在项目根目录创建 '.mcp.json'): 将以下JSON配置粘贴到您的'.mcp.json'文件中:

    {
      "mcpServers": {
        "collect": {
          "command": "/path/to/.local/bin/uv",
          "args": [
            "--directory",
            "/path/to/collect",
            "run",
            "collect.py"
          ]
        }
      }
    }

    说明:

    • 将'"/path/to/.local/bin/uv"'替换为您的'uv'二进制文件的完整路径(在终端运行'which uv'可找到)。
    • 将'"/path/to/collect"'替换为'collect'仓库的完整路径。
    • '"collect.py"'是启动Collect MCP服务器的主脚本。
  • 对于Gemini CLI客户端 (在项目根目录下的 '.gemini/settings.json'): 将以下JSON配置粘贴到您的'settings.json'文件中:

    {
      "mcpServers": {
        "collect": {
          "command": "uv",
          "args": [
            "run",
            "python",
            "collect.py"
          ],
          "workingDirectory": "/Users/benjaminmetz/python/collect",
          "enabled": true
        }
      }
    }

    说明:

    • '"command": "uv"'表示'uv'命令应在系统PATH中可找到。如果不能,请提供'uv'二进制文件的完整路径。
    • '"workingDirectory"': 替换为'collect'仓库的完整路径。
    • '"enabled": true': 确保此MCP服务器在Gemini CLI启动时自动启用。

基本使用方法

Collect服务器启动后,它将通过JSON-RPC协议监听MCP客户端的请求。您无需直接与'collect.py'交互,而是通过您配置的MCP客户端(如Claude Code或Gemini CLI)来调用Collect提供的工具和访问其管理的Prompt。例如,您可以在客户端中触发代码审查功能,或者获取特定的Prompt模板。具体的客户端交互方式取决于您使用的MCP客户端工具。

信息

分类

开发者工具