项目简介

Recall Kit 旨在解决 AI 开发中重复对话和 token 浪费的问题。它通过记录、分享和复用开发经验,使 AI Agent 能够自动查询相关历史经验,从而提高开发效率。平台由 MCP 服务器、Web 应用和 PostgreSQL 数据库组成。

主要功能点

  • 经验记录: AI Agent 能够自动总结并将成功解决问题的经验保存到 Recall Kit 平台。
  • 智能检索: 通过 MCP 协议,AI Agent 可以自动查询和获取相关的历史经验。
  • 经验复用: 高效复用历史解决方案,帮助快速定位和解决当前问题,显著减少重复排查与沟通成本。
  • Web管理界面: 提供用户友好的 Web 界面,用于搜索、浏览和管理经验记录。
  • 向量和全文搜索: 支持基于 OpenAI Embedding 的向量搜索和 PostgreSQL 的全文搜索,实现精准匹配。

安装步骤

  1. 前置要求: 确保您的系统已安装 Node.js 18+、npm 或 yarn,以及 PostgreSQL 数据库。如果需要启用向量搜索功能,还需要一个 OpenAI API Key。
  2. 克隆项目:
    git clone https://github.com/zzusp/recall-kit
    cd recall-kit
  3. 安装依赖: 分别进入 'web' 和 'mcp-server' 目录,并运行 'npm install' 来安装各自的依赖。
    cd web && npm install
    cd ../mcp-server && npm install
  4. 配置环境变量:
    • 在 'web' 目录下创建 '.env.local' 文件,并根据 'web/README.md' 中的说明配置环境变量。
    • 在 'mcp-server' 目录下创建 '.env' 文件,并根据 'mcp-server/README.md' 中的说明配置环境变量,特别是 'DATABASE_URL' (数据库连接字符串) 和 'OPENAI_API_KEY' (如果使用 OpenAI 进行向量嵌入)。
  5. 设置数据库:
    • 创建 PostgreSQL 数据库,例如命名为 'recall_kit'。
    • 运行项目根目录下的 'database_init.sql' 脚本来初始化数据库结构。
    createdb recall_kit
    psql -d recall_kit -f database_init.sql
  6. 启动服务:
    • 在一个终端中启动 Web 应用:
      cd web
      npm run dev
      Web 应用通常运行在 'http://localhost:3000'。
    • 在另一个终端中启动 MCP Server:
      cd mcp-server
      npm run dev
      MCP Server 通常运行在 'http://localhost:3001/mcp'。

服务器配置

MCP 客户端需要通过 JSON-RPC 协议与 Recall Kit 的 MCP 服务器通信。以下是配置 MCP 客户端连接 Recall Kit 服务器所需的关键信息(JSON 格式):

{
  "server_name": "Recall Kit MCP Server",
  "command": "node",
  "args": [
    "mcp-server/dist/index.js"
  ],
  "host": "http://localhost",
  "port": 3001,
  "endpoint": "/mcp",
  "protocol_version": "2025-06-18",
  "description": "连接到Recall Kit经验分享平台的MCP服务器,提供经验查询和提交工具。"
}

配置信息说明:

  • 'server_name': Recall Kit MCP 服务器的名称。
  • 'command': 启动 MCP 服务器的命令,这里是 'node'。
  • 'args': 传递给 'command' 的参数列表。'mcp-server/dist/index.js' 是 Recall Kit MCP 服务器的编译后入口文件。
  • 'host': MCP 服务器监听的 IP 地址或域名。默认在本地运行,因此是 'http://localhost'。如果您将服务器部署在其他机器上,请替换为实际的 IP 地址或域名。
  • 'port': MCP 服务器监听的端口。默认是 '3001'。
  • 'endpoint': MCP 协议请求的特定路径。默认是 '/mcp'。
  • 'protocol_version': 服务器实现的 MCP 协议版本。
  • 'description': 对该 MCP 服务器的简要描述。

基本使用方法

Recall Kit 的 MCP 服务器主要提供以下工具(Tools)和 Prompt 模板:

  • 工具 'query_experiences'

    • 功能: 用于根据关键词或经验 ID 检索经验记录。
    • 输入参数:
      • 'keywords' (可选,字符串数组): 用于搜索经验的关键词。
      • 'ids' (可选,字符串数组): 要精确查询的经验记录 ID 列表。
      • 'limit' (可选,数字): 返回的最大结果数量,范围在 1 到 100 之间,默认值为 3。
      • 'offset' (可选,数字): 分页查询的偏移量,从 0 开始。
      • 'sort' (可选,枚举类型): 结果排序方式,可选值包括 'relevance' (相关性,默认), 'query_count' (查询次数), 'created_at' (创建时间)。
    • LLM 客户端示例用途: “请帮我查找关于 'Node.js 内存泄漏' 的经验”,或者“查询 ID 为 'abc-123' 的经验详情。”
  • 工具 'submit_experience'

    • 功能: 用于向 Recall Kit 平台提交新的开发经验记录。
    • 输入参数:
      • 'title' (字符串): 经验的标题,简洁明了。
      • 'problem_description' (字符串): 详细描述遇到的问题。
      • 'root_cause' (字符串): 问题的根本原因分析。
      • 'solution' (字符串): 解决问题的具体方案。
      • 'context' (字符串): 提供额外相关的上下文信息。
      • 'keywords' (字符串数组): 描述经验的关键词列表,至少需要 3 个关键词。如果能识别出编程语言或技术栈,务必包含在内。
    • LLM 客户端示例用途: “我刚刚解决了一个 React 应用中的性能瓶颈,解决方案是使用 'React.memo',请将这个经验提交到 Recall Kit,关键词是 'React', '性能优化', 'memo'。”
  • Prompt 模板 'summarize_experience'

    • 功能: 引导 LLM 从当前的对话历史中提取关键信息,并将其总结为符合 Recall Kit 规范的 Markdown 格式经验文档。
    • LLM 客户端示例用途: “好的,当前对话中有一个问题已经解决了,请根据对话内容,生成一个 Recall Kit 的经验总结 Markdown 草稿。”
  • Prompt 模板 'submit_doc_experience'

    • 功能: 指导 LLM 提交一个用户提供的现有经验文档到 Recall Kit 平台。此模板会提示 LLM 验证文档格式,然后提取必要参数并通过 'submit_experience' 工具进行提交。
    • LLM 客户端示例用途: “我有一个保存在本地文件 'my-react-bug.md' 中的经验文档,请帮我提交到 Recall Kit。”

信息

分类

开发者工具