使用说明
项目简介
Wandering RAG 是一个命令行工具,旨在构建个人化的 RAG (Retrieval-Augmented Generation) 系统。它能够从如 Notion, Obsidian, Apple Notes 等多种数据源抓取个人知识库,并将数据存储在 Qdrant 向量数据库中。最重要的是,Wandering RAG 提供了一个 MCP (Model Context Protocol) 服务器 功能,允许 LLM 客户端(如 Claude Desktop)通过标准的 MCP 协议访问和利用这些个人知识。
主要功能点
- 数据索引: 支持从 Markdown 文件和 Notion 页面抓取数据并建立索引。
- 向量存储: 使用 Qdrant 向量数据库存储和管理知识库的向量表示。
- MCP 服务器: 实现 MCP 协议,对外提供标准化的上下文服务接口。
- 知识检索: 提供工具 (Tool) 接口,允许 LLM 客户端检索个人知识库中的信息。
- 记忆存储: 提供工具 (Tool) 接口,允许 LLM 客户端将信息存储到个人知识库中。
安装步骤
- 安装 Wandering RAG:
推荐使用 'uv' 包管理器进行安装。首先确保你已安装 'uv',然后执行以下命令安装 Wandering RAG:
uv pip install -e . - 启动 Qdrant 向量数据库:
如果本地没有运行 Qdrant 服务器,可以使用 Docker Compose 快速启动一个:
cd qdrant-docker docker-compose up -d - 配置环境变量:
复制 '.env.example' 文件为 '.env',并根据你的实际情况配置环境变量。
- 如果要索引 Markdown 文件,需要配置 'MARKDOWN_FOLDERS' 环境变量,指定 Markdown 文件所在的文件夹路径,多个文件夹路径用逗号分隔。
- 如果要索引 Notion 页面,需要配置 'NOTION_TOKEN' 环境变量,填入你的 Notion API Token。
服务器配置
MCP 服务器是为 MCP 客户端提供服务的后端应用。为了让 MCP 客户端(例如 Claude Desktop)连接到 Wandering RAG 服务器,你需要在客户端中配置服务器的启动信息。以下是 Wandering RAG 服务器的典型配置,请根据你的实际安装路径进行调整:
{ "mcpServers": { "wandering-rag": { "command": "<你的git仓库检出路径>/wandering-rag/wandering-rag", // 修改为 wandering-rag 工具的实际路径 "args": ["mcp", "run-server"], // 运行 MCP 服务器的命令和参数 "env": { "PATH": "<你的用户目录>/.local/bin:/usr/bin:$PATH" // 确保命令执行环境包含必要的路径 } } } }
配置参数说明:
- 'command': 'wandering-rag' 命令行工具的完整路径。你需要将其替换为你本地 'wandering-rag' 工具的实际路径。
- 'args': 启动 MCP 服务器的固定参数,无需修改。
- 'env': 环境变量配置,'PATH' 确保系统能够找到 'wandering-rag' 命令以及其他依赖。'<你的用户目录>' 需要替换为你的实际用户目录。
基本使用方法
- 索引数据:
- 索引 Markdown: 使用 'md index' 命令索引 Markdown 文件。
./wandering-rag md index - 索引 Notion: 使用 'notion index' 命令索引 Notion 页面(功能仍在开发中)。
./wandering-rag notion index
- 索引 Markdown: 使用 'md index' 命令索引 Markdown 文件。
- 运行 MCP 服务器:
使用 'mcp run-server' 命令启动 MCP 服务器。你可以选择 'stdio' 或 'sse' 传输协议,默认为 'stdio'。
或./wandering-rag mcp run-server --transport stdio
启动服务器后,MCP 客户端即可通过配置的命令和参数连接到 Wandering RAG 服务器,并使用其提供的 'wandering-rag-store' (存储记忆) 和 'wandering-rag-find' (查找记忆) 工具。./wandering-rag mcp run-server --transport sse
注意: 首次使用前,请务必先完成数据索引,否则 MCP 服务器无法提供有效的知识检索服务。
信息
分类
数据库与文件