项目简介

CodeOctopus 是一个旨在实现代码文档自动化的系统,它利用大型语言模型 (LLM) 的能力,帮助开发者进行自然语言代码调试和自动错误修复。该系统构建为 MCP 服务器,可以为 LLM 客户端提供项目代码、文档等上下文信息,从而增强 LLM 在代码理解和生成方面的能力。

主要功能点

  • 代码和文档上下文管理: 系统能够管理项目中的代码和文档资源,并以结构化的方式存储和检索,为 LLM 提供丰富的上下文信息。
  • 向量数据库和知识图谱: 利用向量数据库和内存图技术,实现代码和文档的语义表示和关系挖掘,支持高效的相似性搜索和关联查询,提升 LLM 理解代码和文档的能力。
  • 多文档导航: 提供多游标文档导航工具,方便 LLM 在代码和文档之间跳转和浏览,快速定位相关信息。
  • 统一 API 接口: 提供 GraphQL API 和 Code Node API 等多种接口,方便 LLM 客户端访问和使用系统功能。
  • 自然语言代码调试: 支持使用自然语言进行代码调试,LLM 可以利用 CodeOctopus 提供的上下文信息,帮助开发者理解代码逻辑和定位错误。
  • 自动化代码修复: 通过 LLM 和 CodeOctopus 的上下文能力,实现代码错误的自动修复。

安装步骤

  1. 安装依赖: 打开终端,进入仓库根目录,运行以下命令安装项目依赖:

    npm install
  2. 启动服务器: 安装完成后,在终端中运行以下命令启动 MCP 服务器:

    npm start

服务器配置

MCP 客户端需要配置以下信息才能连接到 CodeOctopus MCP 服务器。以下是 JSON 格式的配置示例,请根据实际情况填写:

{
  "serverName": "CodeOctopus Server",  // MCP 服务器名称,可自定义
  "command": "npm",                   // 启动服务器的命令,这里使用 npm
  "args": ["start"],                   // 启动服务器命令的参数,这里使用 start 启动 npm 脚本
  "protocol": "stdio"                  // (可选) 通信协议,默认为 stdio,CodeOctopus 可能支持其他协议,请参考项目文档
}

配置说明:

  • 'serverName': 为 MCP 服务器指定一个易于识别的名称。
  • 'command': 指定启动服务器的可执行命令。根据 'npm start' 命令,这里设置为 'npm'。
  • 'args': 指定传递给启动命令的参数。'npm start' 实际执行的是 'package.json' 中定义的 'start' 脚本,因此参数设置为 '["start"]'。
  • 'protocol': (可选) 指定 MCP 客户端与服务器通信的协议。如果 CodeOctopus 支持除 'stdio' 以外的协议 (例如 WebSocket, SSE),可以在这里配置。如果未指定,通常默认为 'stdio'。 请查阅 CodeOctopus 的文档或代码确认其支持的协议。

注意: 上述配置假设 'npm start' 命令能够成功启动 CodeOctopus 服务器。请确保已正确安装 Node.js 和 npm,并且在仓库根目录下执行 'npm start' 可以正常启动服务。

基本使用方法

  1. 启动 MCP 服务器: 按照上述 "安装步骤" 和 "服务器配置" 中的说明启动 CodeOctopus MCP 服务器。
  2. 配置 MCP 客户端: 在 MCP 客户端中,配置上述 JSON 格式的服务器配置信息,确保客户端能够连接到 CodeOctopus 服务器。
  3. 使用 LLM 与 CodeOctopus 交互: 通过 MCP 客户端,LLM 可以向 CodeOctopus 服务器发送请求,获取代码和文档上下文信息,并利用这些信息进行代码调试、文档生成等任务。 具体 API 使用方法请参考 'api/' 目录下的 API 文档或 Postman 集成文件。

信息

分类

开发者工具