PDF Search Zed Context Server 使用说明
项目简介
本项目是一个 Zed 编辑器的扩展,它作为一个 MCP 服务器运行,允许用户在 PDF 文档中进行语义搜索,并将搜索结果作为上下文信息提供给 Zed 的 AI 助手。该 MCP 服务器使用 OpenAI API 生成文档和查询的嵌入向量,并使用本地 SQLite 数据库存储和检索文档块。
主要功能点
- PDF 文档语义搜索: 能够理解用户查询的含义,在 PDF 文档中搜索相关内容。
- MCP 服务器: 实现了 MCP 协议,可以与支持 MCP 协议的客户端(如 Zed 编辑器)通信。
- 上下文增强: 将 PDF 文档的搜索结果作为上下文信息提供给 LLM,提升 AI 助手的回答质量。
- 支持多 PDF 文件: 可以索引多个 PDF 文件和包含 PDF 文件的目录。
- 可扩展性: 基于 MCP 协议,易于与其他 MCP 客户端集成。
安装步骤
- 克隆仓库:
git clone https://github.com/freespirit/pdfsearch-zed.git - 设置 Python 环境:
进入 'pdf_rag' 目录并创建 Python 虚拟环境:
cd pdfsearch-zed/pdf_rag uv venv uv sync - 安装 Zed Dev Extension: 按照 Zed 官方文档 指示,安装 Dev Extension。
- 构建搜索数据库:
- 导出 OpenAI API 密钥:
export OPENAI_API_KEY=<your_openai_api_key> - 运行构建命令,指定要索引的 PDF 文件或目录:
(构建过程可能需要一些时间,取决于文档大小)uv run src/pdf_rag/rag.py build "file1.pdf" "dir1" "file2.md" ...
- 导出 OpenAI API 密钥:
服务器配置 (Zed 客户端配置)
在 Zed 编辑器的 'settings.json' 文件中,配置 'context_servers' 部分以启用 PDF Search Context Server:
"context_servers": { "pdfsearch-context-server": { "settings": { "extension_path": "/path/to/pdfsearch-zed", // **[必填]** 替换为克隆仓库的本地路径,例如 "/Users/your_username/pdfsearch-zed" "openai_api_key": "sk-..." // **[必填]** 替换为你的 OpenAI API 密钥 } } }
- 'context_servers': Zed 编辑器用于配置上下文服务器的顶级配置项。
- 'pdfsearch-context-server': 上下文服务器的名称,需要与扩展中定义的名称一致。
- 'settings': 'pdfsearch-context-server' 的具体配置。
- 'extension_path': [必填] 指向 'pdfsearch-zed' 仓库根目录的绝对路径。请根据你的实际情况修改。
- 'openai_api_key': [必填] 你的 OpenAI API 密钥,用于文档嵌入和查询嵌入。
MCP 服务器启动命令 (由 Zed 客户端自动执行): Zed 客户端会自动执行以下命令来启动 MCP 服务器,用户无需手动配置:
uv run pdf_rag
该命令会在 'extension_path' 配置项指定的 'pdfsearch-zed/pdf_rag' 目录下执行 'uv run pdf_rag',并设置 'OPENAI_API_KEY' 环境变量。
基本使用方法
- 确保已完成安装步骤并成功构建搜索数据库。
- 打开 Zed 编辑器的 AI 助手面板。
- 在 AI 助手输入框中,输入 '/pdfsearch' 后跟你的搜索查询内容。例如:'/pdfsearch 什么是 MCP 协议?'
- 扩展程序将搜索 PDF 文档,并将相关的文本片段添加到 AI 助手的上下文中,以便 AI 助手可以根据 PDF 文档内容进行更准确的回答。
信息
分类
开发者工具