项目简介

CodeSum是一个AI驱动的代码摘要工具,它能分析项目结构,通过交互式文本用户界面(TUI)选择相关文件,并生成针对大型语言模型(LLM)优化的代码摘要。除了核心的摘要功能,CodeSum还包含一个MCP (Model Context Protocol) 服务器,允许其他AI工具以编程方式与代码库交互,根据查询智能选择相关文件并返回结构化摘要,作为LLM交互的上下文。

主要功能点

  • 交互式文件选择: 提供一个基于文本的交互式界面(TUI),用于在终端中浏览和选择项目文件。
  • 智能摘要生成: 可以生成包含选定文件完整内容的本地摘要,或通过OpenAI API调用LLM生成AI压缩摘要。
  • 项目结构分析: 尊重'.gitignore'文件并提供可配置的忽略列表,准确分析和展示项目的文件结构。
  • AI辅助功能: 支持AI驱动的README文件生成,并对AI摘要进行智能缓存,避免重复API调用。
  • MCP服务器接口: 提供HTTP API,允许其他AI应用通过结构化请求获取代码库的上下文信息和摘要。

安装步骤

CodeSum需要Python 3.8或更高版本。推荐通过PyPI安装:

pip install codesum

安装后,'codesum'命令即可在您的环境中运行。

MCP服务器配置

MCP客户端需要配置MCP服务器的启动命令及其参数才能建立连接。CodeSum MCP服务器的启动方式如下:

  • 默认启动: 服务器将在 'localhost:8000' 端口运行。 配置信息:

    {
      "server_name": "CodeSum MCP Server (Default)",
      "command": "codesum",
      "args": ["--mcp-server"],
      "notes": "MCP服务器将默认在 localhost:8000 运行。"
    }
  • 指定主机和端口启动: 服务器将在指定的主机和端口运行。例如,在所有接口上启动于 '8001' 端口。 配置信息:

    {
      "server_name": "CodeSum MCP Server (Custom Port)",
      "command": "codesum",
      "args": ["--mcp-server", "--mcp-host", "0.0.0.0", "--mcp-port", "8001"],
      "notes": "将MCP服务器启动在指定的主机和端口。请将 0.0.0.0 替换为您希望监听的主机地址,将 8001 替换为您的端口号。"
    }

基本使用方法

  1. 配置OpenAI API Key (可选): 如果要使用AI功能,运行 'codesum --configure' 进行交互式配置,或在首次运行时按提示输入您的OpenAI API Key。
  2. 启动MCP服务器: 在您的项目根目录下,运行MCP服务器:
    codesum --mcp-server
    服务器将默认在 'localhost:8000' 启动。您可以通过 '--mcp-host' 和 '--mcp-port' 参数自定义主机和端口。
  3. MCP客户端交互: 其他AI工具可以通过HTTP GET或POST请求与此服务器进行通信:
    • 健康检查: 'GET /health'

    • 获取摘要 (GET): 'GET /summarize?query=<查询文本>&max_files=<最大文件数>' 例如:'GET http://localhost:8000/summarize?query=Find%20files%20related%20to%20configuration&max_files=5'

    • 获取摘要 (POST): 'POST /summarize',请求体为JSON格式,包含 '{"query": "查询文本", "max_files": 最大文件数}'。

      例如,使用 'curl' 命令发送 POST 请求:

      curl -X POST -H "Content-Type: application/json" \
           -d '{"query": "Find files related to configuration", "max_files": 5}' \
           http://localhost:8000/summarize

      服务器将返回包含代码摘要和选定文件列表的JSON响应。

信息

分类

开发者工具